Что такое раскрытый фильтр, это некое поле на вашем сайте, которое даёт возможность вашим пользователям самостоятельно отфильтровывать материал по каким либо параметрам, параметры могут быть совершенно различные . Выглядят такие фильтры примерно вот так:
Я на конкретном примере продемонстрирую создание таких фильтров. В качестве подопотного у меня используется Drupal 6, от Drupal 7 создание не отличатся, разве что только интерфейс другой. Итак, стоит некая задача, а именно необходимо предоставить пользователям самостоятельно отфильтровывать материалы (node) по конкретным словарям.
Для решения данной задачи нам понадобится модуль views скачать который можно здесь, а как установить модуль можно почитать вот здесь, не буду на этом заострять внимание.
После подключения модуля нам необходимо создать новое представление (или вьюха). Поэтому идём по пути Кофигурация->Представление И кликаем по пункту «Добавить».
Далее нам необходимо заполнить некоторые поля, обязательным которым является только одно, - это имя представления (писать нужно на английском, так как данное название используется внутри системы). Я назову его «exposed». И так как нам нужно отфильтровывать «node», то в качестве «Типа представления» - выбираем «Материал».
И нажимаем «Далее».
Откроется панель, где мы будем творить (хотя творить, понимаю что громко сказано). И первоначально произведём настройки представления по умолчанию, а именно нам нужны анонсы материалов, а не поля, поэтому в пункте «Основные настройки» в пункте «Стиль строки» меняем со значения «Поля» на «Материал»
И нажимаем «Обновить». Далее выбираем что нам необходимо именно анонсы материалов
И далее «Обновить» и «Сохранить».
Теперь приступаем к созданию самого раскрытого фильтра. Переходим в пункт «Фильтры» и нажимаем «+». Перед нами открываются все возможные варианты фильтрации, нам же необходимо отфильтровывать по словарям, поэтому в «Группы» мы выбираем «Таксономия», что бы ограничить зону поиска необходимого фильтра и далее Выбираем «Таксономия:словарь»
Далее «Добавить». Теперь нам необходимо выбрать словари по которым будет происходить фильтрация, выберу их все и далее раскрою фильтр (раскрывается он одной кнопочкой «раскрыть»)
Далее поставим галочку напротив «Ограничить список выбранными элементами» и введём метку для раскрытого фильтра.
И далее «Обновить» и «Сохранить».
Теперь нам необходимо, что бы данный фильтр был доступен для пользователей, поэтому добавляем вид как «Страница» , в настройках которого нам необходимо произвести следующие действия. Если это страница, то для её просмотра нам нужен адресс, поэтому в пунте «Настройка страницы» «Путь» впишем адресс как exposed_filter. А для удобства пользователей, разместим наш фильтр в блок, чтобы мы потом с вами могли вытащить его в любой регион, для этого в пункте «Отображать в блоке» ставим –«ДА».
Далее жмём «Обновить» и «Сохранить». Теперь переходим в управаление блоками нашего сайта и выведем наш с вами фильтр в какой нибудь регион, я выведу допустим в правый регион.
И сохраняем. Теперь переходим на сайт и смотрим, что у нас получилось:
Как мы видим, данный фильтр появился именно там где мы хотели, а в качестве параметров он принимает названия словарей, по которым собственно говоря и фильтрует материал.
Комментарии (1)
Можно ли использовать иерархию в списке фильтров? Скажем есть УСЛУГИ, затем УСЛУГИ 1кат и УСЛУГИ 2кат, ну и в них соответственно услуга 1.1, услуга 1.2, услуга 2.1 и услуга 2.2... Так например Если выбрать УСЛУГИ 1кат фильтруются ноды с услугами 1.1. и 1.2, ну и конечно если скажем выбрали услугу 1.1., то и материалы отображаются с услугой 1.1.
Спасибо!