Пример добавления к ноде типа slideshow
многозначного составного поля field_slides
состоящего из двух полей — field_slide_image
и field_slide_url
:
// Create field_slides
field_create_field(array(
'field_name' => 'field_slides',
'type' => 'field_collection',
'cardinality' => FIELD_CARDINALITY_UNLIMITED,
));
field_create_instance(array(
'field_name' => 'field_slides',
'entity_type' => 'node',
'bundle' => 'slideshow',
'label' => 'Слайды',
'widget' => array(
'type' => 'field_collection_embed',
),
));
// Create field_slide_image
field_create_field(array(
'field_name' => 'field_slide_image',
'type' => 'image',
));
field_create_instance(array(
'field_name' => 'field_slide_image',
'entity_type' => 'field_collection_item',
'bundle' => 'field_slides',
'label' => 'Изображение',
'settings' => array(
'file_directory' => 'images/slides',
),
'widget' => array(
'type' => 'image_image',
),
));
// Create field_slide_url
field_create_field(array(
'field_name' => 'field_slide_url',
'type' => 'text',
));
field_create_instance(array(
'field_name' => 'field_slide_url',
'entity_type' => 'field_collection_item',
'bundle' => 'field_slides',
'label' => 'URL',
'widget' => array(
'type' => 'text_textfield',
),
));
После добавления поля Field Collection (field_slides
) автоматически создаётся тип сущности field_collection_item
с именем бандла равным названию поля (field_slides
).
Написанное актуально для
Drupal 7
Похожие записи
Добавить комментарий