Answers:
h!我应该查看字段收集模块:
entity_load('field_collection_item', array($item_id))
还有一个包装函数,可以完成相同的操作:
field_collection_item_load($id, $reset = FALSE)
或根据评论,使用:
field_collection_item_load_multiple($ids = array(), $conditions = array(), $reset = FALSE)
加载多个集合(例如,如果您有“ 添加更多”按钮)。
field_collection_item_load_multiple($ids = array(), $conditions = array(), $reset = FALSE)
来加载多个集合(例如,如果您有“添加更多” btn)。
应该使用field_collection_field_get_entity()来加载正确的修订版。
用法示例:
$node = node_load(1);
$items = field_get_items('node', $node, 'field_fc');
foreach ($items as $item) {
$fc = field_collection_field_get_entity($item);
// Do something.
}
您可以entity_metadata_wrapper
从Entity API模块中使用:
$node_wrapper = entity_metadata_wrapper('node', $node);
$field_collection = $node_wrapper->field_rich_text_group[0]->value();
dpm($field_collection);
您也可以循环所有集合:
$node_wrapper = entity_metadata_wrapper('node', $node);
foreach ($node_wrapper->field_rich_text_group as $field_collection_wrapper) {
$field_collection = $field_collection_wrapper->value();
dpm($field_collection);
}