Все о Drupal CMS,  Интернет технологии

Раскрытые фильтры и критерии сортировки Views Drupal

В этом уроке мы рассмотрим что такое раскрытые фильтры и критерии сортировки.

Переходим на страницу редактирования отображения главной страницы и нажимаем на ссылку Добавить в секции Критерии фильтрации.

Ссылка добавить фильтр

Выбираем в поле Для пункт Этот page (переопределить), чтобы фильтры добавились только к отображению главной страницы. В списке полей выбираем Содержимое: Страна и нажимаем Применить (это отображение).

Добавление фильтра Страна

В следующем окне все оставляем как есть и нажимаем Применить и продолжить.

Настройка способа выбора фильтра Страна

В окне настроек критериев фильтра ставим галочку Раскрыть этот фильтр для посетителей и позволить его изменять. Именно эта настройка и делает из обычного фильтра раскрытый, также перед нами разворачивается форма с дополнительными настройками для раскрытого фильтра. Здесь можно выбрать значение по умолчанию, метку и т.д.

Нажимаем Применить (это отображение).

Настройки фильтра Страна

Теперь добавим раскрытый критерий сортировки Views Drupal по полю Оценка.

Нажимаем на ссылку Добавить в секции Критерий сортировки.

Ссылка добавить критерий сортировки

Также переопределяем настройки критериев сортировки для данного отображения выбрав Этот page(переопределить) в поле Для. В списке критериев выбираем поле Содержимое: Оценка и нажимаем Применить (это отображение).

Добавление критерия сортировки Оценка

В следующем окне настроек критерия сортировки ставим галочку Раскройте эту сортировку для посетителей, чтобы позволить им изменять ее и нажимаем Применить (это отображение).

Настройки критерия сортировки Оценка

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

Ссылка на редактирование порядка критериев сортировки

Во всплывающем окне выставляем порядок так, чтобы поле Оценка было первым в списке и нажимаем Применить (это отображение).

Изменения порядка критериев сортировкиСохраняем настройки представления Views Drupal.

Кнопка сохранить представление

Теперь над списком фильмов у нас появилась форма позволяющая отсортировать фильмы по полю Оценка в порядке возрастания или убывания,а также отфильтровать фильмы по полю Страна.

Отображение раскрытых фильтров

Если мы попробуем поставить порядок сортировки По убыванию, то фильмы будут выводится в том-же порядке как в блоке Топ 5.

Установка сортировки по убыванию

Далее попробуем отфильтровать фильмы по стране. Выбираем в поле Страна значение СССР и нажимаем Применить. После этого в списке остались только фильмы снятые в СССР.

Фильтрация по стране

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

представление без результатов

Для того чтобы исправить ситуацию перейдем к редактированию представления и нажмем Добавить в разделе Поведение при отсутствии результатов.

Ссылка добавить поведение при отсутствии результатов

Далее выбираем в списке пункт Глобальный: Текстовое поле и нажимаем Применить (все отображения).

Добавить текстовое поле

Теперь в текстовую область мы пишем текст который будет отображаться том случае если в вывод не попал ни один фильм. Нажимаем Применить (все отображения).

Задание текста для пустого представления

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

Пример отображения текста для пустого представления

На этом мы закончим данный урок.

Подведем итоги работы с модулем Views Drupal

В этом курсе мы рассмотрели основные аспекты работы с модулем Views (Представления) и самые часто используемые техники. Такие как: контекстные фильтры и связи, агрегация, раскрытые фильтры, критерии сортировки и т.д.

Конечно вместить все подробности в один курс невозможно так как модуль действительно очень мощный и многофункциональный. То что мы рассмотрели это только вершина айсберга. Экспериментируйте создавая различные представления и отображения и тогда перед вами откроется вся мощь и гибкость модуля Views и CMS Drupal в целом. Если что-то осталось неясно задавайте вопросы в комментариях.