Создание блочного отображения Views в Drupal
В этом уроке мы создадим блочное отображение Топ 5, в которое будут выводится 5 фильмов с наивысшей зрительской оценкой.
Для того чтобы добавить новое отображение на панели отображений нажмем на ссылку Добавить и, в развернувшемся блоке ссылок, выберем Добавить блок.
Далее сразу поменяем стандартное название отображения Блок на Топ 5.
Отображение Топ 5 унаследовало все свойства от главного отображения Master, в том числе и пустой заголовок. Для того чтобы установить его переходим к редактированию заголовка:
Чтобы задать заголовок только для текущего отображения выберем в поле Для пункт Этот block (переопределить) и нажмем кнопку Применить (это отображение).
Теперь секция заголовок отображается курсивом. Это говорит о том, что данная настройка переопределена для текущего отображения и все изменения вносимые в нее будут применяться только для текущего представления. В прошлый раз, когда мы редактировали отображение для главной страницы, настройка Для всегда была выставлена в положение Все отображения. Это значит, что вносимые изменения автоматически применялись и к отображению Master.
Теперь поменяем формат отображения с Неформатированный список на Таблица. Для того чтобы сделать это нажмем на ссылку Неформатированный список.
В открывшемся всплывающем окне выберем Таблица. Также не забываем снова поменять настройка Для на Этот block (переопределить), так как формат отображения нам тоже нужно поменять только для этого блока. Нажимаем кнопку Применить (это отображение).
Теперь если мы спустимся к секции предпросмотра и нажмем кнопку Обновить предпросмотр, то увидим как будет выглядеть блок. В нем присутствуют все поля, которые также были унаследованы от отображения Master.
Все поля для этого блока нам, конечно, же не нужны. Поэтому мы воспользуемся настройкой Исключить из вывода для тех полей, которые следует скрыть в этом отображении.
Перейдем к настройкам поля Body.
Ставим галочку напротив Исключить из вывода. В поле Для выбираем пункт Этот block (переопределить), потому что скрыть это поле нам нужно только для отображения Топ 5. Нажимаем кнопку Применить (это отображение).
Далее таким же образом исключаем из вывода поля: Жанр, Страна и Год выпуска.
Переходим к редактированию поля Изображение.
Здесь мы меняем стиль изображения на Thumbnail (100×100) и нажимаем кнопку Применить (это отображение). Надо обратить внимание, что поле Для уже выставлено в значение Этот block (переопределить), потому что, переопределив одно поле, вся секция Поля была отмечена как переопределенная.
Поле Заголовок мы будем выводить как заголовок пятого уровня. Переходим к его настройкам
Меняем HTML-код поля на H5. Нажимаем кнопку Применить (это отображение).
Теперь в предпросмотре мы видим таблицу, в которой присутствуют только два поля: Заголовок и Изображение. Также у таблицы теперь нет шапки, потому что оба поля не имеют метки.
На данный момент фильмы отсортированы по дате публикации. Для того чтобы блок соответствовал своему названию, в него должны выводиться фильмы отсортированные по полю Оценка.
Для того чтобы добавить сортировку по полю Оценка нажимаем на ссылку Добавить в секции Критерий сортировки.
В поле Для выбираем пункт Этот block (переопределить). Далее в списке критериев находим и отмечаем поле Содержимое: Оценка и нажимаем кнопку Применить (это отображение).
В настройках критерия выбираем Сортировать по убыванию (то есть фильмы с наивысшей оценкой будут выводиться первыми, что нам и нужно). Нажимаем Применить (это отображение).
Нажимаем на ссылку Изменить порядок в секции Критерий сортировки.
Меняем порядок так, чтобы критерий Оценка шел первый в списке и нажимаем Применить (это отображение). Таким образом, мы изменили порядок сортировки. В первую очередь фильмы будут сортироваться по полю Оценка, а уже во вторую очередь фильмы с одинаковой оценкой будут сортироваться по дате публикации.
Теперь добавим поле Оценка с список полей, чтобы было видно, что в список действительно попали все фильмы с наивысшей оценкой.
Находим в списке поле Содержимое: Оценка и нажимаем Применить.
В настройках убираем метку и выставляем Средство форматирования в значение Как звёзды. Далее снимем галочку Expose this Fivestar field for voting on the @type type и в поле Текст отображаемый под звездами выбираем Нет текста.
Теперь разворачиваем секцию Настройки отображения звезд и выбираем стиль Basic. Нажимаем кнопку Применить (это отображение).
Далее изменим порядок полей.
Выставляем порядок как на картинке и нажимаем Применить (это отображение).
Переходим к настройкам табличного формата отображения.
Здесь меняем колонку для вывода поля Оценка на Содержимое: Заголовок, чтобы оценка фильма выводилась вместе с заголовком в одной колонке. Нажимаем Применить (это отображение).
Теперь нам необходимо сделать так, чтобы в отображение выводилось только пять результатов.
Переходим к редактированию постраничного навигатора.
Выбираем Отображать указанное количество элементов, в поле Для выбираем Этот block (переопределить) и нажимаем Применить (это отображение).
Устанавливаем 5 элементов для отображения и нажимаем Применить (это отображение).
На этом отображение Топ 5 готово. Сохраняем представление.
Далее переходим в раздел Блоки.
Здесь у нас появился блок Представление: Фильмы: Топ 5 — это и есть тот блок, который содержит отображение Топ 5, установим его в регион First Sidebar (Первая боковая панель).
Переходим на главную страницу и видим в боковой панели блок Топ 5, в котором присутствуют пять фильмов с наивысшим рейтингом.
Для того чтобы подправить вертикальное выравнивание подбавим в файл style.css следующий CSS-код:
.view-films.view-display-id-block_1 td { vertical-align: top; }
В следующем уроке мы рассмотрим работу с контекстными фильтрами и связями.
Источник: http://drupal-learning.com