constcost 25 июня 2013 в 17:07 Как превратить selectbox в checkbox`ы в этом гребаном views exposed filters. Без использования better exposed filters (от него я отказался). Уже создал функцию mymodule_form_views_exposed_form_alter, как изменить оформление? Drupal7 Есть вопрос Решение проблем Блог Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Koreychenko 25 июня 2013 в 17:39 Дык Form API в руки. $form['fieldname']['#type'] = 'checkboxes'; $form['fieldname']['#options'] = array('массив опций пихать сюда'); Фишка в том, чтобы пересобрать массив опций от селекта так,чтобы его понял checkboxes. А если не секрет, чем вам Better Exposed Filters не угодил?
constcost 25 июня 2013 в 22:44 Мда, получается у checkboxes и select есть свойство #options, а у одиночного checkbox`а нету. И создать одиночный чекбокс не получится. "Koreychenko" wrote: А если не секрет, чем вам Better Exposed Filters не угодил? Я уже писал про это http://www.drupal.ru/node/100965
Koreychenko 27 июня 2013 в 11:07 "constcost" wrote: Мда, получается у checkboxes и select есть свойство #options, а у одиночного checkbox`а нету. И создать одиночный чекбокс не получится. Ну, это, как бы, логично. У одиночного чекбокса может быть только одно значение, а в #options лежит множество значений. Если вам нужно создать один чекбокс, то делайте что-нить вроде: $output = ''; foreach ($form['field']['#options'] as $key => $value) { $output .= '<input type="checkbox" value="'.$key.'"><label>'.$value.'</label>'; } $form['field']['#suffix'] = $output; Таким образом создадите кучу чекбоксов после селекта. А значения в селект при выборе чекбокса можно передавать на javascript.
Комментарии
Дык Form API в руки.
$form['fieldname']['#options'] = array('массив опций пихать сюда');
Фишка в том, чтобы пересобрать массив опций от селекта так,чтобы его понял checkboxes.
А если не секрет, чем вам Better Exposed Filters не угодил?
Мда, получается у checkboxes и select есть свойство #options, а у одиночного checkbox`а нету. И создать одиночный чекбокс не получится.
Я уже писал про это http://www.drupal.ru/node/100965
Ну, это, как бы, логично. У одиночного чекбокса может быть только одно значение, а в #options лежит множество значений.
Если вам нужно создать один чекбокс, то делайте что-нить вроде:
foreach ($form['field']['#options'] as $key => $value) {
$output .= '<input type="checkbox" value="'.$key.'"><label>'.$value.'</label>';
}
$form['field']['#suffix'] = $output;
Таким образом создадите кучу чекбоксов после селекта. А значения в селект при выборе чекбокса можно передавать на javascript.