Drupal 7 - 节点自定义显示

时间:2012-06-02 10:13:09

标签: drupal-7 cck nodes

我遇到了这个问题。我创建了文件节点 - 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'解决问题。我该如何管理?

2 个答案:

答案 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']; ?>