2

インストール プロファイルを作成し、カスタム ブロックを特定のページに表示する必要があります。

profile_name.install 内: profile_name_install():

$values = array( 
    array( 
        'module' => 'my_custom_module',  
        'delta' => 'my_block', 
        'theme' => $default_theme,  
        'status' => 1,  
        'weight' => 0, 
        'region' => 'help',  
        'pages' => "admin/page1\nadmin/page2\nadmin/page3",  
        'cache' => 0,  
    ),
);

$query = db_insert('block')->fields(array('module', 'delta', 'theme', 'status', 'weight', 'region', 'pages', 'cache'));
foreach ($values as $record) { 
    $query->values($record); 
} 
$query->execute();

インストール後、ブロック構成のこれらのページは「リストされているページを除くすべてのページ」に設定されていますが、「リストされているページのみ」にある必要があります。

$values 配列にどの値を追加すればよいですか? \n区切りで多くのページを設定するのは正しい方法ですか?

4

1 に答える 1

3

ドキュメントhook_block_info()に従って、次を追加する必要がありますvisibility

array( 
    'module' => 'my_custom_module',  
    'delta' => 'my_block', 
    'theme' => $default_theme,  
    'status' => 1,  
    'weight' => 0, 
    'region' => 'help',  
    'pages' => "admin/page1\nadmin/page2\nadmin/page3",  
    'cache' => 0,  
    'visibility' => BLOCK_VISIBILITY_LISTED
),
于 2013-05-22T08:58:51.800 に答える