2013-03-24 5 views
0

у меня есть настраиваемый тип контента type_aDrupal - Как использовать вычисляемое поле в коллекции поле полей элементов

Внутри этого пользовательского типа У меня есть несколько названий Название Body Group1 (field_group1) (Field Collection элемент может иметь несколько значений)

Ниже приведены детали полей внутри Group1 (Field Collection Item) группа Пункт 1 (field_item1) Может иметь одно значение Group Пункт 2 (field_item2) (вычисляемое поле) может иметь одно значение

Я хотел бы скопировать значение поля «Группа элементов 1» того же элемента сбора поля внутри «Группа Пункт 2»

Ниже я использую в вычисленном коде: $ entity_field [0] ['value'] = $ entity-> field_item1 [LANGUAGE_NONE] [0] [ 'значение'];

Но он не работает. Я получаю сообщение об ошибке Примечание: Неопределенный индекс: значение в eval() (строка 1 из /homepages/13/d160804/htdocs/test/sites/all/modules/computed_field/computed_field.module(466): eval() ' d).

Пожалуйста, помогите, как это сделать. Спасибо

ответ

0

$entity->field_item1[LANGUAGE_NONE][0]['value'] содержит идентификатор объекта элемента коллекции полей (который содержит поля, которые вы хотите скопировать).

Вам либо необходимо загрузить оба элемента сбора полетов, либо задать их отдельные поля. Например,

$source_fc = field_collection_item_load($entity->field_item1[LANGUAGE_NONE][0]['value']); 
$dest_fc = field_collection_item_load($entity->field_item2[LANGUAGE_NONE][0]['value']); 

// now set values of $dest_fc with values from $source_fc 

Или какой-то клон, подобный этому методу: http://drupal.org/node/1233256#comment-5167316