经过长时间的探索,终于得到了在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中使用并不好,因为并未定义。这虽然解决了我的问题,但却给出了恼人的警告。
答案 0 :(得分:0)
在模板中,您应该可以访问之前预处理过的变量。
您的每个字段实际上都是一个变量,因此您可以执行$ field_name [LANGUAGE_NONE] [0] ['safe_value']
为了摆脱错误通知,我建议您使用isset()函数