как создать фильтр от и до (граничный)

Главные вкладки

Аватар пользователя SuperXren SuperXren 27 июля 2010 в 15:03

Всем привет.

Вот возникла ситуация когда есть сск поле числовое например.

А к exposed filter нужно вывести диапазон и искать по нему. Ну допустим каталог мышей с количеством кнопок: 1,2,3,4,5....
так вот хочу вывести фильтр (список) количество кнопок:
1-3
4-6
7-10

И в результат попадали все мыши, количество кнопок которых, входит в выбраный диапазон.
Кто нибудь решал подобную ситуацию. как можно так сделать ???

Заранее очень благодарен.

Комментарии

Аватар пользователя SuperXren SuperXren 30 июля 2010 в 14:46

<a href="mailto:md5@drupal.org">md5@drupal.org</a> wrote:
views

Развернутый ответ. Я перелистал не нашел. Если знаете как сделать - буду благодарен за помощь.

Аватар пользователя md5@drupal.org md5@drupal.org 30 июля 2010 в 20:00

SuperXren wrote:
<a href="mailto:md5@drupal.org">md5@drupal.org</a> wrote:
views

Развернутый ответ. Я перелистал не нашел. Если знаете как сделать - буду благодарен за помощь.


Смотрите в сторону связки аргументы + фильтры Smile

Аватар пользователя sv2109 sv2109 27 июля 2010 в 19:49

Не совсем то, но я бы в фильтр добавил оператор "is between" и дал тем самым пользователю самому в двух полях указывать к-во кнопок "от" и "до". Это кстати более гибкий вариант, потому что дает возможность фильтровать напр. по к-ву от 3 до 5 или от 2 до 7 итп.

Аватар пользователя SuperXren SuperXren 30 июля 2010 в 14:48

sv2109 wrote:
Не совсем то, но я бы в фильтр добавил оператор "is between" и дал тем самым пользователю самому в двух полях указывать к-во кнопок "от" и "до". Это кстати более гибкий вариант, потому что дает возможность фильтровать напр. по к-ву от 3 до 5 или от 2 до 7 итп.

Это понятно, но Вы же понимаете, заказчики - капризные люди. Хотят только так. Вопрос поэтому и стоит таким образом. Тут вот есть идея, я так понимаю нужно руками будет это реализовать. Если таки прийдеться, то где и как или хотябы дайте материалы, что бы почитать да разобраться.

Спасибо

Аватар пользователя sv2109 sv2109 30 июля 2010 в 19:04

Если руками, то нужно смотреть в сторону views api http://www.google.com/search?hl=uk&q=drupal+views+2+api
Сам с ним не работал, всегда в подобных случаях удавалось уговорить заказчика сделать немного не так.. и при этом секономить и время и деньги.

Аватар пользователя md5@drupal.org md5@drupal.org 31 июля 2010 в 2:49

Нафиг тебе хуки?

Сказано же — смотреть в сторону аргументов и фильтров во вьюхах. Если стоит задача делать фильтрацию через ссылки, то в эти самые ссылки аргументы и зафигачить. А во вьюхе разгребать эти аргументы в фильтрах.

P.S. hotline.ua — есть мнение, что сделан на Друпале, а фильтрация сделана с помощью таксономии, что тоже является неплохим вариантом. Я так понимаю, чего-то такого и хочешь добиться?

Аватар пользователя SuperXren SuperXren 4 августа 2010 в 4:01
<?php
function exposedviewsformalter_form_views_exposed_form_alter(&$form$form_state) {
  if (
$form['#id'] == 'views-exposed-form-bday-page-2') {
    
$form['field_alter']['#type'] = 'select';
    
$form['field_alter']['#options'] = array(
      
'18-24' => '18-24',
      
'25-29' => '25-29',
      
'30-35' => '30-35',
    );
    
$form['#submit'][] = 'exposedviewsformalter_form_views_exposed_form_alter_submit';
  }
}

function 

exposedviewsformalter_form_views_exposed_form_alter_submit(&$form, &$form) {
  if (
$form_state['values']['field_alter']) {
    list(
$values['min'], $values['max']) = explode("-"$form_state['values']['field_alter']);
    
$form_state['view']->exposed_data['field_alter'] = $values;
  }
}
?>

ПОчему при включеном модуле на добавляет выпадающий список ?