【发布时间】:2017-01-20 18:12:22
【问题描述】:
我正在尝试访问字段集合中数组中的图像 uri,但我不知道如何访问它们。如果我查看开发模块,我可以看到数组中第一个图像 uri 的位置如下所示:
['field_text_and_image'][0]['entity']['field_collection_item'][2474]['field_about_accreditation_image'][0]['#item']['uri']
我很困惑,因为我有 'field_get_items' 方法来访问我的目标字段集合......
$text_and_image_field = field_get_items('node', $node, 'field_text_and_image');
...如果我打印/渲染这个变量,我希望看到一个数组打印在页面上,但没有创建任何内容。但是,我在页面上设置了一个条件,检查“$text_and_image_field”字段集合是否存在,是否确实创建了一个元素,并且确实创建了一个显示该字段存在的元素。我似乎无法访问它的任何内容。
那么,为什么字段集合不打印任何内容?如何循环遍历“field_about_accreditation”数组以打印出所有图像 uri?
编辑*
我对这个问题进行了更多尝试,并意识到当我应该使用 print_r 时尝试渲染“$text_and_image_field”的值是错误的,现在这样做给了我这个数组值:
Array ( [0] => Array ( [value] => 2474 [revision_id] => 174439 ) )
基于访问字段集合的旧代码,每隔一次将值分配给字段集合时发生的情况是编写以下语句:
$value = field_view_value('node', $node, '$field_text_and_image', $text_and_image_field[$i]);
$field_collection = $value['entity']['field_collection_item'][key($value['entity']['field_collection_item'])];
但是,当我尝试打印出 $value(我预计会是 '2474')时,什么都没有显示。
【问题讨论】:
标签: php arrays loops drupal drupal-7