Раскрытые фильтры и критерии сортировки Views Drupal
В этом уроке мы рассмотрим что такое раскрытые фильтры и критерии сортировки.
Переходим на страницу редактирования отображения главной страницы и нажимаем на ссылку Добавить в секции Критерии фильтрации.
Выбираем в поле Для пункт Этот page (переопределить), чтобы фильтры добавились только к отображению главной страницы. В списке полей выбираем Содержимое: Страна и нажимаем Применить (это отображение).
В следующем окне все оставляем как есть и нажимаем Применить и продолжить.
В окне настроек критериев фильтра ставим галочку Раскрыть этот фильтр для посетителей и позволить его изменять. Именно эта настройка и делает из обычного фильтра раскрытый, также перед нами разворачивается форма с дополнительными настройками для раскрытого фильтра. Здесь можно выбрать значение по умолчанию, метку и т.д.
Нажимаем Применить (это отображение).
Теперь добавим раскрытый критерий сортировки Views Drupal по полю Оценка.
Нажимаем на ссылку Добавить в секции Критерий сортировки.
Также переопределяем настройки критериев сортировки для данного отображения выбрав Этот page(переопределить) в поле Для. В списке критериев выбираем поле Содержимое: Оценка и нажимаем Применить (это отображение).
В следующем окне настроек критерия сортировки ставим галочку Раскройте эту сортировку для посетителей, чтобы позволить им изменять ее и нажимаем Применить (это отображение).
Теперь установим порядок критериев сортировки так, чтобы сортировка по полю Оценка преобладала над стандартной сортировкой по дате публикации. Нажимаем на ссылку Изменить порядок.
Во всплывающем окне выставляем порядок так, чтобы поле Оценка было первым в списке и нажимаем Применить (это отображение).
Сохраняем настройки представления Views Drupal.
Теперь над списком фильмов у нас появилась форма позволяющая отсортировать фильмы по полю Оценка в порядке возрастания или убывания,а также отфильтровать фильмы по полю Страна.
Если мы попробуем поставить порядок сортировки По убыванию, то фильмы будут выводится в том-же порядке как в блоке Топ 5.
Далее попробуем отфильтровать фильмы по стране. Выбираем в поле Страна значение СССР и нажимаем Применить. После этого в списке остались только фильмы снятые в СССР.
Если мы попробуем отфильтровать фильмы по стране Италия, то в список вывода не попадет ничего, потому что на сайте нет ни одного фильмы с указанием страны Италия. Однако посетителю может быть непонято почему он видит пустой список.
Для того чтобы исправить ситуацию перейдем к редактированию представления и нажмем Добавить в разделе Поведение при отсутствии результатов.
Далее выбираем в списке пункт Глобальный: Текстовое поле и нажимаем Применить (все отображения).
Теперь в текстовую область мы пишем текст который будет отображаться том случае если в вывод не попал ни один фильм. Нажимаем Применить (все отображения).
Сохраняем представление. Теперь вместо пустоты мы видим текст, который сообщает пользователю сайта, что по данным критериям фильтрации результатов нет.
На этом мы закончим данный урок.
Подведем итоги работы с модулем Views Drupal
В этом курсе мы рассмотрели основные аспекты работы с модулем Views (Представления) и самые часто используемые техники. Такие как: контекстные фильтры и связи, агрегация, раскрытые фильтры, критерии сортировки и т.д.
Конечно вместить все подробности в один курс невозможно так как модуль действительно очень мощный и многофункциональный. То что мы рассмотрели это только вершина айсберга. Экспериментируйте создавая различные представления и отображения и тогда перед вами откроется вся мощь и гибкость модуля Views и CMS Drupal в целом. Если что-то осталось неясно задавайте вопросы в комментариях.
Источник: http://drupal-learning.com