2

我是一个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']; ?>

那怎么能得到呢?感谢帮助这么多!多谢!

4

2 回答 2

1

您应该检查/转储$node->field_location数组的内容。我现在手头没有测试安装,所以我不能肯定地说,但我希望至少引用的节点 id('nid')应该在那个数组的某个地方。有了它,您可以执行 a node_load($nid),它返回完整的节点对象,从而提供对字段的访问。

(如前所述,我不确定,但字段数组可能也已经包含整个节点对象,从而使您无需显式加载它。)

于 2010-06-03T11:51:59.687 回答
0

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

如果这对您不起作用,您将需要单独加载节点。您可以使用$node->field_location[0]['nid'];来获取节点 ID,因此您最终会得到如下内容:

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

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

于 2010-06-28T09:13:59.987 回答