Опция формы Drupal заполняется из цикла
Я хочу заполнить опцию выбора из цикла
$form['vote']['selected'] = array(
'#type' => 'select',
'#title' => 'Select',
'#name' => 'name',
);
foreach($loop as $row)
$form['vote']['selected']['#options'] = array($row->id => $row->name);
}
return $form;
Нужна помощь?
1 ответ
Решение
Это стандартный способ сделать это:
$options = array();
foreach($loop as $row)
$options[$row->id] = $row->name;
}
$form['vote']['selected'] = array(
'#type' => 'select',
'#title' => 'Select',
'#name' => 'name',
'#options' => $options
);
Вы также можете посмотреть на fetchAllKeyed
метод запроса к базе данных, который представляет собой удобный ярлык для получения данных из базы данных в массив ключей, подходящий для списков выбора:
$options = db_query('SELECT id, name FROM {table}')->fetchAllKeyed();
Выше будет производить точно так же, как foreach
петля выше.