4.5.4. Views Связи (Relations)

Главные вкладки

levmyshkin 8 июля 2019 в 11:20

Видео: https://www.youtube.com/watch?v=A_ga0yYL7Tk

Связи (relations) в друпале очень важная часть, так соединяются термины таксономии и контент, пользователи и контент, товары и отображение товаров в commerce. Благодаря этому мы можем при выводе полей материала вывести поля пользователя, когда выводим товары, то вывести и их цену и артикул.

Давайте создадим представление, который будет выводить в блоке информацию о пользователе создавшим материал на странице которого мы находимся. В одном из прошлых уроков мы уже разобрали как использовать контекстный фильтр и выводить информацию о страницы на которой находимся:
http://drupalbook.org/ru/drupal/453-views-argumenty-kontekstnye-filtry

Имя представления: Информация об авторе
Машинное имя: athor_info
Настройки представления: Содержимое, Объявления
Создаем блок, с одной записью.

Теперь нужно добавить контекстный фильтр по Содержимое: ID Содержимого:

Как и в прошлой статье ставим действие Передавать значение по умолчанию: ID материала из URL.

Теперь нам доступны поля ноды на странице которой мы находимся. Но нам нужны поля автора. В данный момент нам доступно только поле UID автора:

Пришло время добавить связь автора:

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

Я добавил сразу несколько полей:

Содержимое: Автор
(автор) Пользователь: Изображение
(автор) Пользователь: Preferred language
(автор) Пользователь: User status
(автор) Пользователь: UUID
(автор) Пользователь: Данные
(автор) Пользователь: Дата обновления
(автор) Пользователь: Имя

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

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