Исходные данные:
Есть несколько типов материалов, с полями:
Страна (термин таксономии)
Регион (термин таксономии)
Район (термин таксономии)
Населенный пункт (термин таксономии)
Задача:
Необходимо построить представление views (с использованием контекстных фильтров, как я это понимаю) с URL по следующему шаблону:
example.com/ catalog / Тип материала / Страна / Регион / Район / Населенный пункт
т.е. необходимо получить следующий результат,
страница с URL :
example.com/ catalog / Тип материала /
- должна показать все ноды данного типа материала
страница с URL :
example.com/ catalog / Тип материала / Страна /
- должна показать все ноды данного типа материала, которые относятся к общему термину из словаря Страна
страница с URL:
example.com/ catalog / Тип материала / Страна / Регион /
- должна показать все ноды данного типа материала, которые относятся к общему термину из словаря Страны и к термину из словаря Регион
и т.д.
Мое решение:
Создал контекстный фильтр с URL типа - catalog/%/%/%/%/
В качестве аргументов принимаю "Название термина, преобразованное в ID термина". Не удается получить тип материала для данного фильтра, а так же фильтр не срабатывает если не все аргументы имеют значения.
т.е. если задать URL:
example.com / catalog / Россия / Камчатский край / Быстринский район / Эссо
то фильтр сработает и выдаст все ноды, которые относятся к данным параметрам (кроме типа материала)
если же, задать URL:
example.com / catalog / Россия / Камчатский край / Быстринский район
то фильтр уже не сработает - выдаст 404.
Нужно ваше мнение как правильно составить views. Раскрытый фильтр и передать через GET не предлагать, нужны только чистые URL