Выставьте фильтр Drupal Views как флажок включения / выключения, чтобы включить / отключить фильтр

У меня есть представление Drupal, которое фильтрует поле таксономии. Я хотел бы иметь возможность включать / выключать фильтр, выставив флажок в форме «Открытые фильтры». Чтобы проиллюстрировать проблему, скажем, например, что словарь - это фрукты, а термины - это яблоки, груши, апельсины и лимоны. Я могу выбрать содержание цитрусовых, создав фильтр с надписью «Фрукты» (апельсины, лимоны). Теперь я хотел бы открыть фильтр, чтобы я мог выбрать, применять ли мой фильтр цитрусовых. Как я могу добавить флажок в формы открытых фильтров, которые будут применять фильтр при выборе и игнорировать фильтр, если он не выбран?


person Mir    schedule 06.02.2013    source источник


Ответы (4)


Это возможно:

  • Добавьте фильтр в соответствующее поле (в вашем примере термин «Фрукты»).

В диалоговом окне Настроить критерий фильтра:

  • Установите «Тип фильтра для выставления» на «Сгруппированные фильтры».
  • Установите флажок "Разрешить множественный выбор".
  • Установите "Тип виджета" на "Радио".
  • Вероятно, вы захотите очистить метку.
  • Удалите все наборы фильтров, кроме одного, из приведенной ниже таблицы.

В оставшемся наборе фильтров:

  • Заполните этикетку (в вашем примере «Цитрусовые»).
  • Установите «Оператор» на «Один из».
  • В разделе «Значение» выберите значения, по которым вы хотите выполнить фильтрацию (в вашем примере - апельсины и лимоны).

Это дает вам 1 флажок с надписью «Цитрусовые фрукты». Итак, пользовательский интерфейс есть. К сожалению, проблема [# 2224601] препятствует ее работе, поскольку приводит к неверному запросу, но имеется рабочий патч.

person fietserwin    schedule 26.09.2014
comment
При выполнении этого в логическом поле произойдет сбой: невозможно создавать ссылки на / из смещений строк или перегруженные объекты в drupal_array_set_nested_value () - решение находится в drupal.stackexchange.com/a/129135/101329 - person cweiske; 06.01.2021

Предполагая, что вы используете BEF и отметили опцию «Флажки / переключатели» для открытого фильтра. в параметрах BEF можно установить флажки вместо переключателей, чтобы установить флажок «Разрешить множественный выбор» в диалоговом окне конфигурации для открытого фильтра в представлениях.

person alouette    schedule 17.03.2014
comment
Я думаю, вам следует уточнить, если вы не хотите, чтобы этот ответ был помечен как «Это не ответ» и в конечном итоге закрыт. - person davidkonrad; 17.03.2014
comment
Ответ действительно краток, но само решение очень простое. Я изо всех сил старался расширить ответ. Спасибо за предложение. - person alouette; 18.03.2014

Думаю, здесь нет ответа на вопрос. «Я хочу отобразить единственный флажок, который при установленном флажке применяет / включает фильтр, а при снятии флажка игнорирует / отключает фильтр. Я не думаю, что фильтры Better Exposed позволяют мне это делать».

Для этого вам не нужны «фильтры с улучшенной экспозицией». Вам нужно использовать сгруппированные фильтры.

  • Нажмите, чтобы открыть этот фильтр для посетителей
  • Тип фильтра, который нужно выставить: сгруппированные фильтры
  • Установите флажок "Необязательно"
  • Установите флажок "Тип виджета: Радио".
  • Установите флажок "Разрешить множественный выбор".
  • При необходимости удалите / очистите метку
  • Внизу у вас будет несколько рядов, где вы можете настроить каждую по своему желанию. Если вам нужен только один, удалите все, кроме одного
  • Нажмите Применить

Этот ответ очень поздно. Но я надеюсь, что это кому-то поможет.

person Varshith    schedule 30.11.2016
comment
Я точно выполнил эти инструкции, но он все еще показывает один переключатель, а не флажок. Вы это тестировали в D7? - person Sam; 02.09.2017

Вы могли бы предположить, что Views сделают это из коробки. Это не так. Используйте модуль Better Exposed Filters -> http://drupal.org/project/better_exposed_filters

В нем даже есть вложенные флажки / переключатели для таксономии с иерархией.

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

«Флажки / переключатели: этот параметр доступен для любого фильтра, имеющего ограниченное количество параметров. Установите флажок« Принудительно использовать один параметр », чтобы использовать переключатели, и снимите его для флажков.

Вложенные флажки / радиокнопки: хотя этот параметр отображается для любого фильтра, для которого отображается обычный параметр флажков, на самом деле он используется только для фильтров таксономии с иерархией. Если вы используете фильтр таксомии с установленным типом выбора «Раскрывающийся список» и отметкой «Показать иерархию в раскрывающемся списке», эти фильтры будут отображаться как вложенные неупорядоченные списки. Отметьте опцию Force single, чтобы использовать вложенные переключатели "

person NickWebman    schedule 06.02.2013
comment
Можете ли вы объяснить, как использовать фильтры с улучшенной экспозицией, чтобы делать то, что я хочу? Я выставил свой фильтр, выбрал нужные термины и установил список ограничений для выбранных элементов. Затем в настройках BEF я выбрал флажки / переключатели. Я не вижу единственной опции Force. Теперь в моей открытой форме фильтров я вижу выбранные мной термины радио как переключатели. Но это не то, что я ищу. Я хочу отобразить единственный флажок, который при установленном флажке применяет / включает фильтр, а при снятии флажка игнорирует / отключает фильтр. Я не думаю, что фильтры Better Exposed позволяют мне это делать. - person Mir; 07.02.2013