将块放置在节点内(节点内容中特定元素之间的定位块)

时间:2015-08-26 15:10:01

标签: drupal block drupal-nodes

基本上我创建了一个webform并将其作为一个块启用,现在我想将该块放在一个特定的节点中。我可以通过将其置于“内容”中来实现这一目标。区域和定义特定节点但它显示在内容的末尾。现在,我如何在内容中的特定元素之间移动它

节点正在使用页面类型.... tpl.php,其他5个节点也使用它,所以我无法更改代码。

要想象它看起来像:

[content]

-description text -

- 视频列表 -

[内容结束]

我需要在文本和视频列表之间放置我的webform。有办法吗?

2 个答案:

答案 0 :(得分:1)

您可以采取多种方式,但由于您说您正在考虑模板文件:为什么不使用特定于节点的模板,因为page是节点类型?

说你在node / 123上,然后你可以使用名为node--123.tpl.php 的模板(见Drupal 7 Template (Theme Hook) Suggestions)并在那里嵌入你的块。

或者,您可以通过hook_token_info在自定义模块中提供可重复使用的令牌,并将其与常用的token_filter模块结合使用。但如果它只是你需要触摸的一个节点,那可能会超过顶部。

答案 1 :(得分:0)

对于Drupal 7,在内容中显示块内容的一种hacky方式是启用PHP Filter模块。然后编辑您的节点并切换到PHP代码文本格式并添加此代码

 <?php
     $block = module_invoke('block', 'block_view', '1');
     print render($block['content']);
 ?>

其中“1”是编辑块时在URL中找到的块ID,并确保包含PHP标记。

有关放置块的详细信息,请参阅此页面https://www.drupal.org/node/26502