2

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

代码是:

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

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

阿尔夫

4

2 回答 2

2

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

于 2012-10-01T15:49:45.790 回答
2

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

--

额外信息:如果变量有一个值,它的结构将是:

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

但由于它没有值,它的结构是:

$field_body_left = array()
于 2012-10-01T16:12:19.687 回答