我可以使用以下代码检索附加到我的内容类型的字段集合的字段:
foreach ($entity->field_collection[LANGUAGE_NONE] as $line) {..}
或来自实体包装器。
但是我绝对无法使用在计算字段中计算的值来更新集合字段,就像我通常对其他 CCK 字段所做的那样,例如:
$entity->field_regular[LANGUAGE_NONE][0]['value'] = $value ;
然后它会正常保存,就好像我“手动”编辑了 field_regular 一样。
与收集这将不起作用(什么都不可见):
$entity->field_collection[LANGUAGE_NONE][$key]['field_coll_field0'][LANGUAGE_NONE][0]['value'] = $value ;
// entity wrapper way
$coll = entity_load('field_collection_item', array($line['entity']->item_id));
$wcoll = entity_metadata_wrapper('field_collection_item', $coll[$key);
$wcoll->field_coll_field0->set($value) ;
任何 save() 方法都会给我一个空白页(无限 cgi 循环):
entity_save('field_collection_item',$coll);
wcoll->save();
以编程方式保存集合字段我应该知道什么?谢谢,杰罗姆