0

我正在尝试从我网站上的节点模板访问节点数组中的数据。当我登录时,一切正常;但是,一旦我注销数组结构就会发生变化。经过一番挖掘,我发现这是因为每当我注销时都会出现“und”数组。

我尝试了很多解决方案,例如 using [$node->language],尝试通过#items数组访问数据并且 usingfield_get_items无济于事。我可以让它在这两种情况下工作的唯一方法是检查“und”是否存在,我发现这有点笨拙,只是为了检索一个简单的布尔值或其他数据点。

4

2 回答 2

0

尝试这样的事情。我不确定您要访问的确切内容,但这将根据正在呈现的节点的语言获取字段值。

获取节点的语言:

$node_language = field_language("node", $form["#node"], "field_YOUR_FIELD");

对于默认字段值:

$field_value = $form["field_YOUR_FIELD"][$node_language][0]["CHECK_ARRAY_FOR_VALUE"]["#default_value"];

对于保存的字段值:

$field_value = $form["#node"]->field_YOUR_FIELD[$node_language][0]["CHECK_ARRAY_FOR_VALUE"];    
于 2013-04-09T19:51:22.223 回答
0

对我来说,当我在 page.tpl.php(!) 中出于某些测试目的使用时,节点模板中的某些字段(不是全部)会发生这种行为

dsm($node);

(使用模块 Devel 7.x-1.5)。如果我拿走那条线,它会再次按预期工作。

于 2015-01-27T19:13:06.633 回答