Valery.O 24 июня 2015 в 20:50 Подскажите, как можно сделать поля в фильре Views с диапазоном в виде выпадающего списка: Drupal7 Есть вопрос Решение проблем Блог Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Valery.O 25 июня 2015 в 7:06 Вопрос почти решен (код ниже), но теперь как бы вывести не ключи, а значения списка, может кто знает? Источник: http://xandeadx.ru/blog/drupal/347 function my_select_filter_form_views_exposed_form_alter(&$form, $form_state) { if ($form['#id'] == 'views-exposed-form-fsdfsd-page') { $field_name = 'field_kvaralll'; // имя поля $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_numeric']['value']; $form[$exposed_field_name]['min']['#type'] = 'select'; $form[$exposed_field_name]['min']['#options'] = array('' => '') + drupal_map_assoc($all_values); $form[$exposed_field_name]['min']['#size'] = 1; $form[$exposed_field_name]['max']['#type'] = 'select'; $form[$exposed_field_name]['max']['#options'] = array('' => '') + drupal_map_assoc($all_values); $form[$exposed_field_name]['max']['#size'] = 1; } }
Комментарии
Вопрос почти решен (код ниже), но теперь как бы вывести не ключи, а значения списка, может кто знает?
Источник: http://xandeadx.ru/blog/drupal/347
if ($form['#id'] == 'views-exposed-form-fsdfsd-page') {
$field_name = 'field_kvaralll'; // имя поля
$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_numeric']['value'];
$form[$exposed_field_name]['min']['#type'] = 'select';
$form[$exposed_field_name]['min']['#options'] = array('' => '') + drupal_map_assoc($all_values);
$form[$exposed_field_name]['min']['#size'] = 1;
$form[$exposed_field_name]['max']['#type'] = 'select';
$form[$exposed_field_name]['max']['#options'] = array('' => '') + drupal_map_assoc($all_values);
$form[$exposed_field_name]['max']['#size'] = 1;
}
}