在 Drupal 6 中,使用以下代码可以轻松地将 block 插入到模板中:
$block = module_invoke('views', 'block', 'view', 'block_name');
print $block['content'];
但是,在 Drupal 7 中使用相同的指令似乎不起作用。我环顾四周,找不到新方法。
Drupal 7 是否有一个例程可以允许以编程方式将 block 插入到模板或节点中?
最佳答案
D7:
<?php
$block = module_invoke('module_name', 'block_view', 'block_delta');
print render($block['content']);
?>
'module_name' = 模块的计算机名称(即模块的文件夹名称)。对于核心模块也是如此,因此例如“搜索”、“用户”和“评论”都可以在这里工作。
'block_delta' = block 的机器名称。您可以通过访问 block 管理页面并编辑 block 来确定这是什么。例如,用于编辑 Web 表单 block 的 URL 类似于:
Drupal 7:管理/结构/ block /管理/webform/client-block-11/configure
在此示例中,'webform' 是模块的名称,'client-block-11' 是 block 的增量。
自定义 block 将具有“ block ”的模块名称和一个增量编号,您也可以通过编辑 block 来找到它。
关于drupal - 如何在 Drupal 7 中将 block 插入节点或模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4731420/