0

我有这个问题。我创建了文件 node--mycontenttype.tpl.php 以自定义方式显示节点。我已经通过 print_r($content) 列出了所有的 $content 数组。我可以显示除 CCK 字段之外的所有变量。例如,我可以打印出节点类型,如:

<?php print $content['body']['#bundle']; ?>

但是,如果我尝试显示任何 CCK 字段,例如:

<?php print $content['body']['#object']->field_url[und][0]['value']; ?>

它给了我一个错误“注意:使用未定义的常量 und - 假定 'und' w include()”。好吧,所以“und”表示语言的“未定义”,但“pl”和“en”都不能解决问题。我该如何管理?

4

2 回答 2

0

好吧,经过研究,我终于找到了答案。它有效,但在某些情况下它看起来有点低效。代码如下:

<?php 
$output = field_get_items('node', $node, 'field_url');
$output = $output[0]['safe_value'];
print $output;
?>

但是如果你有很多 CCK 字段,看起来你必须多次启动 field_get_items() 函数。如果你们中的任何人知道更好的方法,那么您可以分享一下。

于 2012-06-02T10:31:27.263 回答
0

当您编写[und]Drupal (PHP) 时,假定$und在代码中的某处定义了变量。

你应该使用:

<?php print $content['body']['#object']->field_url['und'][0]['value']; ?>
于 2012-08-16T12:29:31.533 回答