Taxonomy + Views = ?

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

Аватар пользователя Sodex Sodex 27 сентября 2016 в 9:02

Всем привет.
Начну с предистории:
На сайте нужно сделать 3х глубинное меню (звучит странно). Простыми словами:
-Категория1
--Подкатегория1
---ПодПодкатегория1
---ПодПодкатегория1
--Подкатегория2
---Подподкатегория2
Затем категория 2 и т.д...

Нужно сделать так, что бы при выборе ПодПодкатегориии, показывались материалы относящиеся к ней, при выборе категории, показывались материалы которые входят во все подподкатегории. Все это легко реализуется через представления с использованием "Контекстных фильтров" и при указании пути "/taxonomy/term/%"

Но что делать, если нельзя использовать путь "/taxonomy/term/%"?
Предположим, что категория1 имеет адрес "/menu/category1", Подкатегория1 - "/menu/category1/subcategory1", и соответственно ПодПодкатегория1 - "/menu/category1/subcategory1/subsubcategory1"
Если задать в представлении путь "/menu/category1" или остальные вариации пути - ничего не сработает.

Как быть в таком случае?
Спасибо

Комментарии

Аватар пользователя gun_dose gun_dose 27 сентября 2016 в 9:08

контекстный фильтр по ид термина таксономии из урл. Само представление должно быть на стренице таксономии. Либо через таксономи дисплэй, либо через панели. Через панели, на мой взгляд, лучше.

Аватар пользователя Sodex Sodex 27 сентября 2016 в 9:48

Если я правильно понял, задать можно только путь "/taxonomy/term/%" и ни какой больше?
Просто если я задаю такой путь, у меня в другом месте перестают работать отображаться страницы с терминами которые немного по другому работают

Есть ли возможность присвоить представление конкретному словарю а именно его адресу?

Аватар пользователя gun_dose gun_dose 27 сентября 2016 в 9:56

совершенно другая схема. Путь может быть любой, даже без аргументов. Представление может не быть страницей. Главное - в настройках контекстного фильтра всё правильно настроить и переопределить страницу вывода таксономии. Пример реализации:

1. Ставите Panels.
2. Включаете Views content panes (views_content) - это подмодуль Ctools
3. Создаёте для таксономии вьюс, как фрагмент панели
4. Идёте в admin/stucture/pages там включаете страницу для таксономии, конфигурируете её, там по сути только добавить в содержимое вьюху с предыдущего шага.
5. Профит

Аватар пользователя gun_dose gun_dose 27 сентября 2016 в 10:02

Кстати, с ходу могу ответить на возможные вопросы:
1. Кто-то подумает, нафиг всё это, если можно сделать обычный вьюс. Ответ - потом всю жизнь нужно будет мучаться, чтобы при выводе ссылок на термины таксономии выводить ссылки на вьюс, а не сами термины. И как-то исключать из индекса нежелательные дубли страниц.
2. Зачем все эти панели, если есть довольно простой таксономи дисплэй? Ответ - я сам раньше так думал, пока не столкнулся с задачей показывать блок на страницах терминов определённого словаря, в итоге приходится включать пхп-фильтр и кодить в условиях видимости блока, а в панелях это всё рулится просто и понятно за 5 сек.