Недавно просмотренные материалы / Drupal 8

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


Установим модуль Recently Read:

composer require drupal/recently_read ; drush en recently_read -y

Переходим в настройки модуля:

/admin/config/system/recently-read

Ставим галки на «Включить» и необходимые типы материалов:

Мне нужна только «Новость»

Во вкладке «Конфигурация» модуля меняем настройки:

Как именно будет удалена информация о недавно просмотренных материалов у пользователя?

- Time based — спустя указанное время;

- Count based — при просмотре нового материала — старый в конце сотрется;

- Никогда — не будет удалятся.

Добавим новый блок представления с обвязкой, а в него — Связь:

Content recently read

В «Наборы» укажем необходимый тип материала:

Далее, в критериях сортировки добавляем «Created» с категорией «Recently read» с порядком «По убыванию».

Добавим в контекстные фильтры ID без связи «Recently read» со следующими настройками:

- Когда значение фильтра не доступно → Передать значение по умолчанию → ID материала из URL;

- More → Исключить → Ставим галку.


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

Мои настройки блока представления выглядят вот так:

Выведем блок с обвязкой.

Переходим в схему блоков:

/admin/structure/block

Размещаем новосозданный блок представления в любом удобном для вас регионе:

Если нужно — меняем настройки, указываем область видимости:

Мой блок будет выводиться на страницах «Новость»

Теперь посетим несколько новостей и взглянем на обвязку:

На скриншоте мало что понятно, но все работает — честное слово :)