Drupal6:从节点引用类型获取特定字段

Drupal6:从节点引用类型获取特定字段,drupal,drupal-6,field,drupal-theming,Drupal,Drupal 6,Field,Drupal Theming,我是一个drupal新手 <?php print $node->field_date[0]['view']; ?> 我可以得到自定义创建的CCK字段的值,并显示在tpl.php文件中,如上所述。。。那很好 我的问题是如何在字段中获取节点引用字段?例如,我有一个事件内容类型,并且为位置(标题、地址、img等)定义了节点引用。当我在下面编写代码时,它会显示所有位置内容 <?php print $node->field_location[0]['view']; ?&

我是一个drupal新手

<?php print $node->field_date[0]['view']; ?>

我可以得到自定义创建的CCK字段的值,并显示在tpl.php文件中,如上所述。。。那很好

我的问题是如何在字段中获取节点引用字段?例如,我有一个事件内容类型,并且为位置(标题、地址、img等)定义了节点引用。当我在下面编写代码时,它会显示所有位置内容

<?php print $node->field_location[0]['view']; ?>

但是我只需要从这个位置内容类型中获取地址字段。像下面这样的东西会很好:D但不起作用

<?php print $node->field_location[0]['field_address']['view']; ?>


那你怎么能做到呢?非常感谢你的帮助!非常感谢

您应该检查/转储
$node->field\u location
数组的内容。我现在手头没有测试安装,所以我不能确定,但我希望至少引用的节点id('nid')应该在该数组的某个地方。这样,您就可以执行
节点加载($nid)
,返回完整的节点对象,从而提供对字段的访问


(如前所述,我不确定,但字段数组可能已经包含了整个node对象,这样您就不必显式地加载它了。)

the
$node->field_location[0]['view']返回在内容类型定义的“显示字段”部分中定义的节点。这可能对你有利。您可以欺骗它:使用该节点的摘要显示,并自定义节点摘要显示以满足您的需要。只是一个想法

如果这不适用于您,则需要单独加载节点。您可以使用
$node->field_location[0]['nid']
获取节点ID,因此您将得到如下结果:

node_load($node->field_location[0]['nid'])->field_address[0]['view']

我不确定这是如何执行的…

安装devel模块。转到您正在处理的节点。单击节点加载选项卡。现在,您可以看到所有字段的树。这将使类似的问题变得更容易。