如何从drupal 7的template.php文件中的另一个tpl中检索字段值?

时间:2015-06-12 11:00:24

标签: templates drupal drupal-7 drupal-nodes

我需要在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中提取字段值。

任何人都可以建议这样做的合适方式,甚至为我提供有效的解决方案吗?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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