Категория:
Опубликовано:

Изучаем Drupal. Модуль Views. Часть 2 - Настраиваем представление

В этом посте мы узнаем как настроить представление.

В прошлый раз мы создали представление "Последние новости".

Views
edit view

Переходим на страницу admin/structure/views, где мы сможем его найти. Нажимаем "Правка", и переходим на страницу представления.

Из чего состоит представление
view desc

Итак, что мы имеем:

Панель дисплеев

Превое, на что следует обратить внимание, это панель дисплеев Views.

view displays panel

В одном представлении может быть не ограниченное количество представлений. Например, можно создать представление с содержимым "Запись в блог", и в представлении сделать все необходимые дисплеи по записям: страница последних материалов, блок последних материалов, еще страница с материалами отфильтрованная по определенной категории и т.д. В панеле дисплеев отображаются все имеющиеся в представлении дисплеи, а так же кнопка создания новых дисплеев.

Названия дисплея
view page

Каждому дисплею можно задать собственное название, это позволяет не запутаться, особенно если дисплеев разведется много. Это название отображается только администратору, на странице редактирования представления. Советую придумывать понятные, логические и ассоциативные названия. Это вам не раз упростит жизнь. Названия можно указывать как латинскими буквами, так и кириллицей, в прочем как и любыми другими.

view page change view page change name

Для изменения названия жмем на название после фразы "Отображать название:". Вводим "Последние новости" и нажимаем "Применить". Готово.

Заголовок

Поле заголовок, как понятно из названия, отвечает за заголовок страницы, блока, в общем дисплея.

view title

Можно его изменить, или вообще удалить, если он не нужен. Для каких-либо действий с заголовком нажимаем на него.

Формат
view format

В данном блоке можно задать формат, в котором будет выводится наше представление в готовом виде.

По умолчанию, доступны следующие форматы:
  • HTML список
  • Меню перехода
  • Неформатированный список
  • Сетка
  • Таблица

C помощью дополнительных модулей можно расширить этот список. Оставим пока формат "Неформатированный список".

В зависимости от выбранного формата может быть доступна настройка выбора типа отображения строки представления. Строка представления это 1 единица, выводимой информации, у нас сейчас таковой является Анонс материала.

view_format_type_change.png
view format type field view format type field settings

Давайте поработаем с этим пунктом. Нажимаем на "Содержимое". В появившемся окне меняем значение на "Поля", вместо "Содержимое". Сохраняем изменения. После сохранения мы попадем на страницу настроек типа строки. Там оставляем все по умолчанию.

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

Поля
view fields

Самый важный компонент, позволяющий так гибко настраивать представления это "Поля". Благодаря полям, можно настроить вывод именно той информации, которая Вам необходима именно в этом представлении. Например выводить только изображение и заголовок убрав вывод описания. Или наоборот, добавить в вывод пользовательское поле.

Сейчас выводится только заголовки материала. Всегда можно посмотреть текущее представление внизу, в области предварительного просмотра, нажав на кнопку "Обновить предпросмотр". Так же просмотр обновляется автоматически, каждый раз после внесения изменений в настройках представления.

view preview

Давайте выведем поле изображения в наше представления.

view fields add

Нажимаем кнопку "добавить" в блоке "Поля".

Открывается страница выбора полей.

view fields add field

Находим и выбираем поле "Содержимое: Изображение" (Содержимое: Image). Само собой разумеется, что это поле должно присутствовать в необходимом типе материала.

Views Image field 1 Views Image field 2

Убираем галку с поля "Создать метку". Cредство форматирования оставляем "Изображение". Стиль изображения ставим на миниатюры. И устанавливаем Изображение как ссылка на - "Содержимое".

Если изображений можно загрузить более одного, в представлении будет возможность настройки множественных значений поля. Установим вывод 1-го изображения.

Теперь изображения выводятся в представлении.

Views Images

Аналогично добавляем поле описания.

Views Add Body

В диалоговом окне добавления поля попробуем отыскать необходимое поле. В сроку фильтра по полям вводим "Body" (или название поля, которое ищите Вы). Выбираем его, отмечаем и нажимаем "Применить".

Мы попадаем в уже знакомое нам меню настройки поля.

Здесь так же убираем отображение метки. А в формате выбираем "Краткое содержание или обрезанный текст". Это позволит выводить тизер материала, или сокращенную версию материала. Количество символов, до которого необходимо сократить материал можно указать. Поставим 200 символов.

Views Bodys

Не забываем сохранить представление, для применения всех изменений (кнопка сохранения вверху страницы).

Таким образом мы настроили наше первое представление. В дальнейшем мы рассмотрим более детальные настройки полей и самих представлений.

Если у Вас возникли вопросы, замечания, предложения или просто благодарность - пишите в комментариях.
Делитесь полезными материалами в социальных сетях.

Комментарии

Я установил модуль "Better Exposed Filters". Делаю некоторые фильтры разворачиваемыми. В развернутом состоянии такие фильтры отображаются корректно, а в свернутом - нет (то пропадает весь заголовок, то превращается в точку, то отображается вертикально). Почему так происходит? может нужно что-то доустановить или настроить?

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

Потому, ничего не могу подсказать по этому поводу.

Во вьюсе я добавил поле "термин" и в формате выбрал "ссылка на стр термина". А возможно ли чтоб термин был ссылкой если имеет >1 значения, иначе простым словом (не подсвеченным)?

Да, там должны быть настройки для вывода множественных полей.

Нет, я имею в виду другое: вьюс выводит несколько терминов; термины - ссылки на страницу с материалами содержащими этот термин; один термин встречается только в одном материале - ссылка ведет на страницу с одним материалом -- если так то этот термин должен выводится как простой текст, а остальные как ссылки. Такое возможно?

Из UI - нет.

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

Но главный вопрос - Зачем? Такое поведение неправильно, не стандартно и сбивает с толку пользователей сайта.