drupal - 如何在 Drupal 7 中将 block 插入节点或模板?

标签 drupal drupal-theming drupal-7

在 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 来找到它。

更多信息:http://drupal.org/node/26502

关于drupal - 如何在 Drupal 7 中将 block 插入节点或模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4731420/

相关文章:

drupal - 是否需要 URL 中的哈希引用代码?

Drupal 移动网站主题

Drupal 7 - 将类名附加到菜单 block <ul>

drupal - Style Drupal 7登录页面

css - Drupal 7 事件菜单样式

css - 根据用户在 Drupal 8 中的角色显示/隐藏导航项

ruby-on-rails - 重新编码播客网站 - 我应该使用什么?

drupal - 我应该使用模块卸载菜单吗?

drupal-7 - 如何将多个条件应用于 db_select 上的 leftjoin?

drupal - 我无法更改 Drupal 7 站点中的临时目录