2012-06-02 153 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']; ?>