Php 如何在Drupal 6的一个模块中创建多个不同的块?
我正在使用hook_block创建一个带有我正在创建的自定义模块名称的块。Php 如何在Drupal 6的一个模块中创建多个不同的块?,php,drupal,drupal-6,drupal-blocks,Php,Drupal,Drupal 6,Drupal Blocks,我正在使用hook_block创建一个带有我正在创建的自定义模块名称的块。 如果不使用myModuleName_块,我无法创建块 我是否需要为我要创建的每个不同的块执行不同的模块?您可以使用hook\u block创建多个块,只需使用$delta function hook_block($op = 'list', $delta = 0, $edit = array()) { switch ($op) { case 'list': $blocks[0]['info'] =
如果不使用myModuleName_块,我无法创建块
我是否需要为我要创建的每个不同的块执行不同的模块?您可以使用
hook\u block
创建多个块,只需使用$delta
function hook_block($op = 'list', $delta = 0, $edit = array()) {
switch ($op) {
case 'list':
$blocks[0]['info'] = t('Block 1');
$blocks[1]['info'] = t('Block 2');
return $blocks;
case 'configure':
if ($delta == 0) {
// Block 1
}
else if ($delta == 1) {
// Block 1
}
....
}
+1-只需一句话:$delta不需要是数字,因此如果您想提供更多的块,使用有意义的“名称”对维护很有帮助。只是一个小疑问。。。如果我像这样创建多个块,我如何在我的页面中调用模块的特定块..此解决方案是否要求块共享同一模板?@AndrewShooner否,有一些块模板规则,可以在模块创建的所有块之间共享块模板,但这是一项功能,这不是要求。只是为了澄清,我认为
$delta==1
下的注释//Block 1
应该是“Block 2”而不是“Block 1”