昊天SEO

如何将Drupal7区块放在Node内容的任意部分?

如何将Drupal7区块放在Node内容的任意部分?我们都知道Drupal中区块是放置在区域中的,所以我们试图在node.tpl.php中添加区域;但是这个思路是错的,因为区域只能在page.tpl.php中输出,相关的钩子函数是:hook_preprocess_page(), hook_page_alter()和 hook_process_page()。

但是我们可以直接node.tpl.php中输出具体的区块:

菜单区块:

<?php
$block = block_load('menu', 'name-of-menu');
$output = drupal_render(_block_get_renderable_array(_block_render_blocks(array($block))));
print $output;
?>

视图区块:

<?php
$block = block_load('view', 'name-of-view');
$output = drupal_render(_block_get_renderable_array(_block_render_blocks(array($block))));
print $output;
?>

普通区块:

<?php
$block = block_load('block', 'name-of-view');
$output = drupal_render(_block_get_renderable_array(_block_render_blocks(array($block))));
print $output;
?>

这几种区块的区别主要是block_load()函数后面的两个参数,第一个参数都是固定的,主要分menu,view和block;后面是指这个区块的名称,普通区块实用区块ID;

通过这种方法可以很好的在node中显示不同区块!

未经允许不得转载:新乡seo|网站优化,网站建设—昊天博客 » 如何将Drupal7区块放在Node内容的任意部分?

网站的维护离不开大家的支持鼓励,捐赠让我更有动力走的更远&& 也可以关注我的微信公众号,发布更多的干货
本文网址:https://www.168seo.cn/jianzhan/drupal/662.html

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址