创建了安装配置文件,需要使一些自定义 block 在特定页面上可见。
在 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();
安装后, block 配置中的这些页面设置为“除列出的页面外的所有页面”,但我需要它们位于“仅列出的页面”中;
我应该在 $values 数组中添加哪些额外值?用\n 分隔符设置多页是正确的方法吗?
最佳答案
根据 hook_block_info()
docs ,您需要添加可见性
:
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
),
关于drupal - 设置哪些 block 将出现在 Drupal 安装配置文件中的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16687073/