2012-06-02 40 views
0

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

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

但是,如果我试图显示像任何CCK领域:

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

它给了我一个错误“注意:使用未定义的常量UND的 - 假设'und'w include()“。好吧,所以“und”对于语言而言意味着“未定义”,但'pl'和'en'都不能解决问题。我怎样才能管理这个?

回答

0

好的,经过研究,我终于找到了答案。它有效,但在某些情况下,它看起来效率不高。代码是这样的:

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

但是,如果你有很多CCK领域,它看起来像你必须推出field_get_items()函数了很多次。如果你们中的任何一个人都知道更好的方法,那么你可以分享。

0

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

你应该使用:

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