我遇到了这个问题。我创建了文件节点 - 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'w include()”。好吧,所以“und”对于语言来说意味着“未定义”,但也不是'pl',也不是'en'解决问题。我该如何管理?
答案 0 :(得分:0)
好吧,经过研究,我终于找到了答案。它有效,但在某些情况下看起来效率有点低。代码是这样的:
<?php
$output = field_get_items('node', $node, 'field_url');
$output = $output[0]['safe_value'];
print $output;
?>
但是如果你有很多CCK字段,你似乎必须多次启动field_get_items()函数。如果你们中的任何一个人都知道一个更好的方法,那么你们可以分享一下。
答案 1 :(得分:0)
编写[und]
时,Drupal(PHP)假定代码中某处定义了变量$und
。
您应该使用:
<?php print $content['body']['#object']->field_url['und'][0]['value']; ?>