[solved] Как создать открытый фильтр Views, учитывающий текущий термин таксономии

Прислано: kostin@drupal.org

вт, 07/09/2010 - 11:12

Здравствуйте.

Краткая суть проблемы: надо как-то набор пунктов в открытом фильтре Views сделать зависимым от текущего термина таксономии. Как? Подробное описание ситуации — далее.

Есть на сайте каталог товаров.

Таксономией определяется категория (в духе "гайки", "болты", "шурупы" и пр.). На основе этого словаря построено меню и посетители могут смотреть списки товаров нужных категорий.

У каждого товара есть производитель (в духе "Чайковский Завод", "Промметиз" и пр.). Он при создании товара выбирается с CCK-поле из списка.

Возникло желание в выбранной категории позволить посетителям фильтровать товары по производителям. Это было на раз сделано добавлением открытого фильтра в соответствующей вьюхе.

Но дальше возникла такая проблема: например, производитель "Чайковский Завод" не делает гайки, но делает болты. Поэтому когда показана категория гаек он в фильтре должен отображаться, а когда показана категория болтов — нет.

Вопрос к экспертам: какой бы вы предложили самый изящный способ для решения такой вот проблемы?

При этом производительность важна не очень, а очень важно выйти из ситуации с наименьшим количеством кода.

Спасибо.

UPD: Проблема решилась с помощью модуля views_hacks.

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано t3hk0d3 в вт, 07/09/2010 - 12:27.

см. Arguments


Опубликовано kostin@drupal.org в ср, 08/09/2010 - 08:14.

Боюсь, аргументы мне не помогут. Передав их я смогу вывести товары только нужных производителей, это понятно, но мне-то надо узнать какие в данной выборке существуют производители и их показать в списке фильтра вьюхи.

Либо я вас неправильно понял. Тогда прошу дать более расширенные пояснения.


Опубликовано t3hk0d3 в ср, 08/09/2010 - 08:26.

Фильтр надо выводить отдельным представлением.

Производителя кстате тоже было-бы неплохо вынести в таксономию.


Опубликовано volocuga@drupal.org в ср, 08/09/2010 - 09:23.

Вообщем ТС нужно, чтобы не было в списке выбора терминов, заведомо ведущих на пустой результат, так?

Если так, то это проблема Views и пока нерешённая на 100% Есть костыли типа модуля views_hacks, но он у меня так и не заработал


Опубликовано t3hk0d3 в чт, 09/09/2010 - 07:26.

volocuga@drupal.org написал(а):

Вообщем ТС нужно, чтобы не было в списке выбора терминов, заведомо ведущих на пустой результат, так?

Если так, то это проблема Views и пока нерешённая на 100% Есть костыли типа модуля views_hacks, но он у меня так и не заработал

это решается через relationship, views_groupby и темизацию (в шаблоне вывода строки (rowstyle) добавить проверку поля)


Опубликовано volocuga@drupal.org в чт, 09/09/2010 - 17:45.

"t3hk0d3" написал(а):

это решается через relationship, views_groupby и темизацию (в шаблоне вывода строки (rowstyle) добавить проверку поля)

Гм, и что, реально получалось?

Про модуль views_groupby услішал впервые, но не понял, каким он боком сюда. Судя по описанию:


Real-life example: List top 10 most frequent terms applied to a specific node type and the number of nodes for each term.

Также интересно услышать про проверку поля в шаблоне.

Есть ли готовый экспорт вида? Да и вообще, подробнее об этом поговорить? Тема архиинтересная


Опубликовано kostin@drupal.org в пт, 10/09/2010 - 07:20.

"volocuga@drupal.org" написал(а):

Вообщем ТС нужно, чтобы не было в списке выбора терминов, заведомо ведущих на пустой результат, так?

Именно так.

Глянем views_hacks.


Опубликовано t3hk0d3 в пт, 10/09/2010 - 09:14.

volocuga@drupal.org написал(а):
"t3hk0d3" написал(а):

это решается через relationship, views_groupby и темизацию (в шаблоне вывода строки (rowstyle) добавить проверку поля)

Гм, и что, реально получалось?

Про модуль views_groupby услішал впервые, но не понял, каким он боком сюда. Судя по описанию:


Real-life example: List top 10 most frequent terms applied to a specific node type and the number of nodes for each term.

Также интересно услышать про проверку поля в шаблоне.

Есть ли готовый экспорт вида? Да и вообще, подробнее об этом поговорить? Тема архиинтересная

http://sngcom.ru/tags/

Там идёт сортировка по синусойде (термины с большим кол-вом нод по середине, меньшие по краям)

проверка поля в шаблоне забудьте, это не обязательно.

Вот пример:


Опубликовано SergeyB в чт, 14/10/2010 - 22:01.

Смотри зависимые фильтры

В моем интернет магазине теперь выпадающий фильтр состоит только из терминов выведенных нод! :)


Опубликовано dandily в вт, 21/12/2010 - 23:31.

"t3hk0d3" написал(а):

Там идёт сортировка по синусойде (термины с большим кол-вом нод по середине, меньшие по краям)

Расскажите, пожалуйста, а каким образом у вас идет сортировка по синусоиде?

И каким образом у вас убираются дубли на самой странице, при том, что на скриншоте у вас эти дубли есть? Ю.А. Молчанов у вас на скриншоте показывается два раза (39 и 16), а на итоговой странице - один раз. Каким образом вы складываете эти значения? Я сейчас пытаюсь как раз побороть эти повторы и чего-то не выходит пока.


Новое на сайте

Ссылки партнёров