Как правильно создать контекстный фильтр в views 3 ?

Исходные данные:
Есть несколько типов материалов, с полями:

Страна (термин таксономии)
Регион (термин таксономии)
Район (термин таксономии)
Населенный пункт (термин таксономии)

Задача:
Необходимо построить представление 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
  • Вопрос задан
  • 2790 просмотров
Решения вопроса 1
andead
@andead
друпал девелопер, фрилансер
URL вьюхи должен быть "catalog"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы