0

我需要在我的 template.php 上检索 1 page.tpl.php 中的字段值。

在 page.tpl.php 中检索字段的正常方法是: $field = field_get_items('node', $node, 'field_name'); $field_name = field_view_value('node', $node, 'field_name', $field[0]);

page.tpl.php 通常位于“sites\all\themes\themename\templates”目录中

template.php 文件位于“sites\all\themes\themename”目录下

我必须在位于 template.php 的函数中提取 page.tpl.php 中的字段值。

任何人都可以建议一种适当的方式来做到这一点,甚至可以给我一个可行的解决方案吗?

4

2 回答 2

0

使用 node_load() 函数加载包含您首先需要的字段的节点并将该节点作为参数传递。为此,您需要节点 ID,它可以硬编码或通过视图获取,从 url、cookie、会话或类似的东西中收集。

于 2015-06-12T14:03:10.667 回答
0

添加一个函数hook_preprocess_page(&$var) 并在函数中获取节点对象数据,使用 dsm 模块到达节点对象和字段。然后将该字段分配给这样的变量$vars['new_var'] = $your_field

清除缓存并重建主题注册表并在 page.tpl.php 中打印该变量,例如<?php print $new_var; ?>

于 2015-06-12T19:39:58.933 回答