Программно добавить поле (field) с выпадающим списком в Drupal 7.
В сети достаточно много примеров того, как в Drupal 7 программно добавлять поля для различных типов контента. Однако, как программно добавить поле (field) с выпадающим списком — таких примеров я так и не нашел. Главная проблема, которая здесь — каким образом передать список значений? Как оказалось, все очень просто: данные передаются внутри параметра ‘settings’ (массив allowed_values). Ниже пример добавления такого поля для имеющегося типа контента «auto».
1 2 3 4 5 6 7 8 9 10 11 12 13 |
field_create_field(array( 'field_name' => 'auto_number', 'type' => 'list_text', 'cardinality' => 1, 'settings' => array( 'allowed_values' => array( 1 => '1', 5 => '5', 10 => '10', ) ), 'entity_types' => array('node'), )); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
field_create_instance(array( 'field_name' => 'auto_number', 'entity_type' => 'node', 'bundle' => 'auto', 'label' => t('Select the gallery'), 'description' => t('choose the gallery'), 'widget' => array( 'type' => 'options_select' ), ), 'display' => array( 'default' => array( 'label' => 'above', 'settings' => array(), 'weight' => 1, ), 'teaser' => array( 'label' => 'above', 'settings' => array(), 'type' => 'hidden', ), ), 'required' => TRUE, )); |
Категория: Drupal