Drupal 7 Просмотры Выставить диапазон цен фильтра как флажки

Я использую Drupal 7 для создания сайта обзоров продуктов. Страница поиска отзывов о товарах построена с использованием фильтров Views 3 и Better Exposed Filters. Мне нужен открытый фильтр для поля цены, которое состоит из диапазонов цен в качестве флажков. Я установил сгруппированный открытый фильтр для цены с соответствующими диапазонами, сделал фильтр разрешающим множественный выбор, а затем реализовал hook_form_alter, чтобы установить фильтр для темы с флажками BEF. Единственная проблема сейчас - это предложение фильтра where ищет диапазоны с предложением AND вместо OR. Итак, я хотел бы, чтобы пользователь выбрал несколько ценовых диапазонов, и результаты включают товары в любом ценовом диапазоне, но вместо этого поиск ищет товары, которые находятся в обоих диапазонах, что приводит к отсутствию товаров.

Я попытался использовать hook_views_query_alter, но не могу вывести столько же, сколько dsm('test'). Я думаю, что это может быть потому, что представление использует autosubmit.

Кто-нибудь знает, как я могу заставить этот фильтр работать должным образом?

1 ответ

Решение

Как сказано в расширенной документации раздела "Фильтр":

При использовании сгруппированных фильтров с опцией "Включить, чтобы разрешить пользователям выбирать несколько элементов", вы, возможно, захотите поместить фильтр в отдельную группу и определить оператора группы как "ИЛИ". Это может быть необходимо, потому что для многократного использования одного и того же фильтра все параметры должны быть применены с помощью оператора OR, в противном случае, вероятно, вы ничего не получите в списке, поскольку обычно элементы в группе являются взаимоисключающими.

Поэтому вы можете захотеть создать новую группу (перейдя на вкладку "Изменить порядок") и установить для оператора значение OR. Затем просто переместите выставленный фильтр в эту группу.

Другие вопросы по тегам