0

Я разрабатываю модуль Drupal 7. Я определил тип узла с именем «Бут». Теперь в моем модуле я создал форму с некоторыми полями, такими как имя, телефон, адрес и т. Д. Одним из этих полей является Booth, который является элементом типа Select. Я хочу иметь названия кабинок (которые я добавил в «Добавить контент> Бут») в качестве параметров «Выбрать элемент». Как я могу это сделать? Как я могу заполнить массив опций, с полем заголовка моего типа содержимого стенда? [Пожалуйста, смотрите на рисунке ниже]Определить и использовать поле другого типа узла в качестве моего элемента элемента формы в Drupal 7

The first field must be filled with title of booth titles

$form['exbooth'] = array(
    '#type' => 'select', 
    '#title' => t('Exhibition Booth'), 
    '#options' => array(), // I want to fill this array with title fields of booth content type 
    '#required' => TRUE, 
); 
$form['name'] = array(
    '#type' => 'textfield', 
    '#title' => t('Name'), 
    '#required' => TRUE, 
); 
$form['lastname'] = array(
    '#type' => 'textfield', 
    '#title' => t('Last Name'), 
    '#required' => TRUE, 

ответ

0

После некоторого копания в Друпал API, наконец, я нашел решение.

Я использовал entity_load() для получения всех узлов «будка» типа контента, а затем я положил название РЕЗУЛЬТАТА в массиве и установить этот массив для Выбора опций:

$entities = entity_load('node'); 
$booths = array(); 
foreach($entities as $entity) { 
    if($entity->type == 'booth') { 
     $i = 1; 
     $booths[$i] = $entity->title; 
    } 
} 
.... 
//inputs 
$form['exbooth'] = array(
    '#type' => 'select', 
    '#title' => t('Exhibition Booth'), 
    '#options' => $booths, // I set my array of booth nodes here 
    '#required' => TRUE, 
); 

 Смежные вопросы

  • Нет связанных вопросов^_^