В статье рассмотрим один из методов установки и настройки турбо страниц для Яндекс под Друпал 8. В отличии от семерки, где были попытки создать модуль Yandex.Turbo, который правда работал так себе и имел множество недоработок, на Друпал 8 вовсе такого модуля еще нету, но как оказывается он и не нужен, ведь у нас есть Views!
Стоит отметить, что ниже описанный метод работает только для формирования Турбо страниц информационных сайтов, для формирования Турбо страниц интернет магазинов данный метод не работает.
Установка модулей
И так, нам потребуется установить следующие модули:
- Views - уже есть по умолчанию в ядре
- Views RSS
- Views RSS: Yandex Elements, но он требует доработки, поэтому качаем уже доработанную патчами версию с GitHub. После установки вырежте и скопируйте файл /templates/views-view-row-rss.html.twig который находится в архиве модуля в каталог вашей темы чтоб было /web/themes/contrib/YOURTHEME/templates/views-view-row-rss.html.twig
Настройка Views
1 Cоздаем Views (URL:/admin/structure/views/add)
- Настройки представления - любой тип сущности, в моем случае Content, но может быть и термин таксономии, файл и.т.д.
- Настройки страницы - создать страницу
- Настройки отображения - все равно какие, так как страница нам по сути нужна как промежуточный этап и не будет показана нигде
2. Добавляем поток данных к созданной странице
Формат - RSS Feed Fields | Настройки:
- Channel elements : core - в поле Description пишем описание канала\сайта
- Channel elements : yandex - я заполняю только logo, указав путь к файлу логотитпа сайта sites/default/files/logo.png
- Namespaces - ничего не трогаем
- Other feed settings - Галочка напротив Replace relative paths with absolute URLs
Далее добавляем все необходимые поля которые нам нужно выводить. Сразу стоит определится и добавить поля, кторые будут отвечать за Заголовок, Полное описание, Ссылку на страницу, Автора материала. Это обязательные поля которые нужно будет указать ниже.
Для того чтобы в "Полное описание" попадали все нужные нам поля на странице материала, я использую поле "Пользовательский текст", куда добавляю токены всех нужных мне полей.
После того как поля добавлены переходим в Настройки RSS Feed - Field и присваиваем каждому элементу фида нужное, ранее созданное нами поле.
- Item elements : core - заполняем поля : title, link, author, остальные по желанию и нужде. Body лучше не заполнять так как оно бдет дублировать ниже заполненный turbo content элемент
- Item elements : dc - можно не заполнять
- Item elements : yandex и Item elements : turbo заполняем как в примере на скрине ниже. (P.S full text в item elements YANDEX можно тоже не заполнять так как он дублирует ниже идущий item elements: turbo content)
Как видите в идентификаторе content можно выбрать только одно поле, а меня такой вывод турбо страницы не устраивает так как десктопная страница у меня состоит из множества различных полей, которые в итоге и формируют конечный вид страницы материала. Именно поэтому я и использую поле "Пользовательский текст" о котором писал выше.
Сохраняемся.
В Настройках ленты не забываем указать Path:например: library/yandex-turbo.xml
На этом настройка Views закончена, выше дан лишь пример, а там вы сами уже можете используя весь инструментарий Views настроить сортировку, условия и вывод контента, который нужно передавать в Feed.
Как добавлять и настраивать созданную нами ленту в сервис Турбо страниц Яндекса я уже описывать не буду
- 93 просмотра