Сменить тип поля в раскрытом фильтре Views
Решение —
/**
* Реализация hook_form_FORM_ID_alter()
*/
function mymodule_form_views_exposed_form_alter(&$form, $form_state) {
if ($form['#id'] == 'ID_ФОРМЫ') {
$field_name = 'field_subcategory'; // имя поля
$all_values = db_select('field_data_' . $field_name, 'f')
->fields('f', array($field_name . '_value'))
->distinct()
->execute()
->fetchCol();
$exposed_field_name = $form['#info']['filter-' . $field_name . '_value']['value'];
$form[$exposed_field_name]['#type'] = 'select';
$form[$exposed_field_name]['#options'] = array('' => '') + drupal_map_assoc($all_values);
$form[$exposed_field_name]['#size'] = 1;
}
}
ID_ФОРМЫ можно узнать, открыв html код и посмотрев у раскрытой формы атрибут id.
Написанное актуально для
Drupal 7.x, Views 3.x
Комментарии:
Нету комментариев для вывода...