Drupal 7 - 注意:未定义索引:und in include()

时间:2012-10-01 15:43:50

标签: php drupal

我收到此错误: 注意:未定义索引:在include()中(/home/cliffdwellerproductions/dev.cliffdwellerdigital.com/Dahl/sites/all/themes/basic/templates/node--page2.tpl.php第24行)。

代码是:

if ($node->field_body_left !== NULL) : 
$text = trim($node->field_body_left['und']['0']['value']);
else:
$text = '';

请帮助,因为我无法定义变量......

阿尔夫

2 个答案:

答案 0 :(得分:2)

您的$ node-> field_body_left变量已存在,但它没有'und'元素。

答案 1 :(得分:2)

看起来您正在尝试检查空字段,但是您正在使用$field_body_left!==null,如果变量字面上为null,则只会为false。当drupal字段存在但为空时,它通常等于array()。使用!=代替!==,然后它将正确检测空变量和空数组并继续前进。

-

额外信息:如果变量有值,则其结构为:

$field_body_left = array(
    'und' => array(
        0 => array (
             'value' => YOURVALUE
        )
    )
)

但由于它没有值,因此其结构为:

$field_body_left = array()