Пошаговый отбор во views

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

Аватар пользователя regedite regedite 14 октября 2012 в 2:52

Мне надо создать пошаговый отбор нужных нодов.
Есть тип материала "Объявления", три таксономии "Марка", "Модель" и "Узел автомобиля".
Марка и Модель связаны между собой (в каждой модели указана марка) и связаны с"Объявлением".
Узел автомобиля не имеет связей с другими таксономи и так же связан с "Объявлением".

Необходимо организовать пошаговый отбор на разных страницах.
Пользователь выбирает Марку, открывается список моделей данной марки.
Далее после выбора моделей, открывается список Узлов автомобиля, а уже после выбора узла автомобиля, выводить
таблицу с объявлениями соответствующих отбору.

У меня получилось организовать вывод Марок и после выбора марки вывод моделей. Потому что они связаны между собой и это оказалось не сложно.
Но как теперь не потеряв уже выбранные марки и модель, вывести список узлов и потом уже построить вывод нодов?
Я пытался передать параметры на страницу с выбором узлов примерно так mysite.ru/parts/марка/модель. Вывести пытался таксономии Узлов автомобиля, но так как они не связаны с маркой и моделью, результат страницы был пустым. То есть не выводил ни одного значения тасонимии узлов авто.
Подскажите как решить такую задачу?

Комментарии

Аватар пользователя Andruxa Andruxa 14 октября 2012 в 14:08

Создать 2 словаря таксономии:
Марки-модели:
- Марка 1
-- Модель 1.1
-- Модель 1.2
- Марка 2
-- Модель 2.1
...

Узлы:
- Узел 1
- Узел 2
- Узел 3
...

Информация о марке в данном случае избыточна, т.к. определенная модель привязана к определенной марке

В представлении добавить фильтры по терминам из словарей Марки-модели и Узлы, раскрыть их

Придется повозиться со скрытием фильтра по узлам, если не выбрана модель
можно использовать Views taxonomy selective filter, но у меня он работал с ошибками
Либо - hook_form_views_exposed_form_alter, там самостоятельно проверять, какие фильтры заполнены и прятать-показывать остальные, вместе с сабмитом.
Чтобы не показывать результат представления раньше времени, фильтры можно раскрыть в блоке и редиректить на страницу представления только после того, как будут выбраны все необходимые фильтры.

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