Drupal → Сменить тип раскрытого фильтра с select на checkboxes
Пример программного изменения типа элемента с select
на checkboxes
в раскрытых фильтрах без использования модуля Better Exposed Filters:
/** * Implements hook_form_FORM_ID_alter(): views_exposed_form. */ function MODULENAME_form_views_exposed_form_alter(&$form, &$form_state) { if ($form['#id'] == 'views-exposed-form-myview') { $form['color']['#type'] = 'checkboxes'; $form['color']['#element_validate'][] = 'MODULENAME_select_as_checkboxes_validate'; } } /** * Checkboxes validate callback. */ function MODULENAME_select_as_checkboxes_validate($element, &$form_state, $form) { $values = drupal_array_get_nested_value($form_state['values'], $element['#parents']); $values = array_diff($values, array(0)); form_set_value($element, $values, $form_state); }
Оставить комментарий