#drupal #drupal-views #drupal-taxonomy #drupal-exposed-filter
#drupal #drupal-просмотры #drupal-таксономия #drupal-exposed-filter
Вопрос:
Я создаю каталог продуктов, в котором определенный раздел отображается представлениями с аргументом, идентификатором таксономии раздела.
Но мне также нужно предоставить пользователю возможность дополнительно сузить поиск, указав производителя, выбрав термин из другого словаря в доступном фильтре.
Я пытаюсь ограничить выбор терминами, для которых существуют узлы в выбранном разделе. Похоже, views_selective_filter и view_hacks специально предназначены для этого, но, похоже, из коробки ни один из них не учитывает аргумент view. Есть ли средство или обходной путь?
Комментарии:
1. Я был весьма удивлен, узнав, что изменение порядка вызовов $this->_build(‘filter’); $this->_build_arguments(); в методе ‘build’ в includes/ view.inc делает трюк. Я уверен, что должен быть более чистый способ.
Ответ №1:
Используйте Firebug или модуль devel_themer, чтобы найти идентификатор формы, отображающей эти термины, затем используйте hook_form_alter в пользовательском модуле для перехвата и изменения этой формы.
Комментарии:
1. Я использовал другой подход, но я думаю, что ваша идея была бы полезна в других ситуациях, я буду иметь это в виду. Спасибо 🙂
Ответ №2:
В итоге я использовал views_taxonomy_selective_filter. Мне пришлось исправить модуль views, как я описал в комментарии, чтобы заставить его генерировать параметры выбора после обработки аргументов.