Drupal 7 CCK字段从node.tpl.php文件中的$ content解构

时间:2012-03-24 20:40:21

标签: views drupal-7 cck

经过长时间的探索,终于得到了在node.tpl.php中分解Drupal 7中$ $内容的解决方案。

以前我正在使用我正在使用:

print $node->field_name['und'][0]['value'];

发出警告:

Notice: Undefined offset: 0 in include() (line 24 of C:\xampp\htdocs\drup\sites\all\themes\myCustomTheme\node.tpl.php)

现在我正在使用下面的函数,它可以正常工作,没有错误

$output= field_get_items('node', $node, 'field_name');
$output = $output[0]['safe_value'];
print $output;

现在的问题是我在页面上有超过50个字段,我认为将field_get_items('node',$ node,'field_name')函数调用50次并不高效。

交替的是什么? 或者我应该严格遵守field_get_items函数 或者我应该严格打印$ node-> field_name ['und'] [0] ['value'];我听说在Drupal 7中使用并不好,因为并未定义。这虽然解决了我的问题,但却给出了恼人的警告。

1 个答案:

答案 0 :(得分:0)

在模板中,您应该可以访问之前预处理过的变量。

您的每个字段实际上都是一个变量,因此您可以执行$ field_name [LANGUAGE_NONE] [0] ['safe_value']

为了摆脱错误通知,我建议您使用isset()函数