1

我想在

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

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

4

2 回答 2

3

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

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

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

于 2011-01-14T00:03:23.313 回答
1

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

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

然后你可以在你的块中使用menu_get_item()$node来获取对象并访问你添加到它的任何值。

于 2011-01-14T12:40:04.527 回答