4.5.2. Views exposed filters. Доска объявлений на Drupal 8.
Модуль Views позволяет не только задать фильтр и вывести материалы, но и позволяет изменять эти фильтры динамически. Давайте создадим небольшую доску объявлений недвижимости с помощью модуля Views.
Для того чтобы выводить объявления, нам нужно сначала создать тип материала Объявление. Для этого зайдем Структура - Типы материалов - Добавить тип материала:
Теперь для нашего типа материала нужно добавить поля: Количество комнат, цена, адрес, телефон, имя. Заходим во вкладку Управление полями типа материала Объявление:
Для количества комнат нужно выбрать тип Список (текст):
Дальше нужно выставить какие типы квартир бывают:
Также нужно добавить Цену, для этого выбирайте тип поля Число (целое). В настройках поля Цены укажите суффикс, чтобы после цены шло наименование валюты:
Поля адрес, телефон и имя нужно создать с типом Текст (plain).
Теперь когда у нас есть поля давайте создадим новый вью Объявления (Структура - Представляения - Добавить новое представление):
Теперь давайте добавим фильтр Количество комнат и поставим вот эту галочку для exposed filters:
Это позволит вывести вот такой фильтр на странице объявлений:
Теперь если мы выбирем какой-нибудь из параметров, то будет только один тип квартир:
Вы также можете добавлять любые другие поля Объявлению и выводить их как Exposed filters. Давайте добавим еще и цену в exposed filters.
Когда мы выставили Оператор Между, то позволили пользователю задавать диапазон цен которые его устраивают.
Также помимо exposed фильтров, мы можем делать и exposed сортировку, например по цене, давая возможность пользователям выбирать сортировку по убыванию цены или по возрастанию:
Теперь у нас есть фильтр для объявлений, который правда предстоит еще темизировать.
О том как темизировать подобные формы вы сможете прочитать здесь:
http://drupalbook.org/ru/drupal/form-api-drupal-sozdanie-form-na-drupal