Есть сущность (например, тип материала) с полем типа Field Collection, состоящим из нескольких вложенных полей. Как программно добавить значение к нему?
Для примера, у нас есть сущность: заказ / order, а в ней - поле платежи / field_payments, имеющее неограниченное количество значений. Причем, каждый платеж / field_payments содержит несколько полей: дата / field_payment_date, автор / field_payment_author и т.д.
Сначала загрузим сущность, зная id заказа:
$orders = entity_load('order', array($pid)); $order = $orders[$pid];
Затем создадим еще одну сущность типа field_collection_item:
$collection = entity_create('field_collection_item', array('field_name' => 'field_payments'));
И скажем, что она относится к нашему заказу: