[Решено] Вывод материала в зависимости от содержания поля.

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

Аватар пользователя rampage rampage 30 июля 2011 в 20:35

Добрый вечер.

Столкнулся с такой проблемой: у меня есть несколько материалов, у которых одно из полей отражает их принадлежность к определенной категории. Пусть количество категорий фиксировано и каждая нода принадлежит только какой-нибудь одной категории. Вывести на отдельную страницу все материалы, у которых в этом поле указана конкретная категория не проблема. Я это делаю через views.

Мне бы хотелось вывести на одной странице все материалы и три ссылки, каждая из которых отвечала бы за свою категорию. Когда пользователь нажимает на одну из них, отображаются только материалы этой категории. Нажимает на вторую и появляются все материалы, принадлежащие двум выбранным категориям. Нажимает на одну из выбранных категорий еще раз — и материалы этого типа уже не отображаются (если, конечно, это была не единственная выбранная категория; в таком случае вновь отображаются все ноды).

А вопрос простой — как так сделать? Smile

UPD: Частично решил. В настройках views я добавил фильтр по содержимому одного из полей, а так же поставил галочку, которой раньше не видел: «Expose this filter to visitors, to allow them to change it». Это именно то, что нужно, а решение частично лишь из-за юзабилити. То есть пользователю необходимо не только тыкать в надписи, но и нажимать Apply, а так же зажимать Ctrl, чтобы снять выделение с последнего выбранного элемента. В идеале хорошо бы сделать так, как я описал выше. Подскажите, как.

UPD-2: Ура, решено Smile Чтобы не заставлять пользователя нажимать «Apply», в настройках views найдите «Exposed form style» и нажмите Settings. Там поставьте галочку напротив «Autosubmit», я еще добавил кнопку очистить выбор, потому что последний выбранный пункт нельзя убрать простым нажатием (только зажав Ctrl). Ну и на всякий случай я включил AJAX, хотя работает и без него. В финальной версии возможно выключу; в любом случае, теперь надо выдумать что-нибудь с ссылками, а то они выглядят не очень.

UPD-3: Включил AJAX, чтобы была одна ссылка, зато хорошая Smile

Надеюсь, кому-нибудь это пригодится.