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

Создание страницы с аргументом Views Drupal

Если мы нажмем на любой из жанров в блоке Жанры, то получим сообщение «Страница не найдена», потому что такой страницы действительно нет. Займемся ее созданием.

Переходим к редактированию представления Views Drupal Фильмы.

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

Разворачиваем блок ссылок с опциями отображения и выбираем там пункт клонировать Главная.

Клонирование очень удобно использовать когда нужно создать похожее отображение. Клонированное отображение наследует все настройки клонируемого.

Ссылка Клонировать отображение Главная

В клонированном отображении первым делом меняем имя отображения.

Ссылка на редактирование названия клонированного отображения

Фильмы жанра подходящее имя для этого отображения, так как оно будет выводить фильмы конкретного жанра.

Настройка Имя отображения

Следующим шагом переходим к редактированию пути, по которому будет доступна эта страница.

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

Устанавливаем путь film-by-genre/% — такой-же как, тот который мы задали при создании отображения Жанры. Символ % означает, что вместо него будет передаваться параметр (в нашем случае это ID термина). Нажимаем Применить.

Задание пути отображения

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

Нажимаем Добавить в секции Связь.

Ссылка добавить связь

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

Добавление связи Термины таксономии материала

В настройках связи указываем словарь Жанр в поле Словари, задаем идентификатор Жанр и ставим галочку Эта связь обязательна. Нажимаем Применить (это отображение).

Настройки связи Термины таксономии материала

Теперь добавим контекстный фильтр, который будет принимать ID термина и фильтровать список фильмов в соответствии с текущим жанром.

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

Здесь мы также в поле Для выбираем Этот page (переопределить). В списке доступных фильмов выбираем Термин таксономии: ID термина и нажимаем Применить (это отображение).

Добавление контекстного фильтра ID термина

В настройках контекстного фильтра выбираем Жанр в поле Связь. В секции Если значения Фильтра нет в URL выбираем пункт Передать значение по умолчанию и тут же выбираем ТипСырое значение из URL и Компонент пути2.

Мы выбрали второй компонент пути, потому что именно в нем будет передаваться ID термина. Путь страницы имеет шаблон film-by-genre/% где film-by-genre — первый компонент, % — второй компонент.

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

Спустимся немного ниже и, в секции Когда значение фильтра присутствует в URL или предоставляется по умолчанию, отметим пункт Переопределить заголовок. В появившееся поле введем %1. Это означает, что заголовок страницы будет заменен названием термина.

Читать еще:  Создаем первое представление Views в Drupal

Настройки переопределения заголовка

Сохраняем представление.

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

Теперь, если мы перейдем, например, на страницу жанра Приключения, то увидим там только фильмы этого жанра.

Страница термина приключения

Еще один пример — жанр Ужасы. Обратите внимание, что в списке только один фильм как и указано в скобках.

Страница жанра Ужасы

В следующем уроке мы рассмотрим что такое раскрытые фильтры и критерии сортировки Views Drupal.