Drupal:如何将变量从节点传递到块?

时间:2011-01-13 22:26:02

标签: drupal drupal-theming drupal-7

我想做

  1. node.tpl.php
  2. 中的节点字段进行一些处理
  3. 将其保存到变量
  4. 并显示在节点之后(在同一页面上)加载的块中。
  5. 如何将变量从节点传递到块?

2 个答案:

答案 0 :(得分:3)

由于您正在运行Drupal 7,因此您可以从自定义模块或主题访问新的hook_page_alter()功能。通过实现此功能,您可以轻松地将主要内容区域(例如,节点)的部分移动到任意数量的不同块中。您需要使用show()hide()render()功能来正确隐藏内容。

或者,在node.tpl.php模板中使用show()和hide()应正确隐藏元素,然后使用menu_get_object()函数从块中获取节点对象。

hook_page_alter()here上通常会有一个视频,但该网站目前已关闭。

答案 1 :(得分:1)

  

对节点字段进行一些处理   node.tpl.php

纯粹主义者会说你不应该在那里做。 hook_node_load()可用于处理字段。

然后,您只需在块中使用menu_get_item()即可获取$node对象并访问已添加到其中的任何值。