Yandex Turbo для Drupal 8

В статье рассмотрим один из методов установки и настройки турбо страниц для Яндекс под Друпал 8. В отличии от семерки, где были попытки создать модуль Yandex.Turbo, который правда работал так себе и имел множество недоработок, на Друпал 8 вовсе такого модуля еще нету, но как оказывается он и не нужен, ведь у нас есть Views!

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

Установка модулей

И так, нам потребуется установить следующие модули:

  1. Views  - уже есть по умолчанию в ядре
  2. Views RSS
  3. 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, но может быть и термин таксономии, файл и.т.д.
  • Настройки страницы - создать страницу
  • Настройки отображения - все равно какие, так как страница нам по сути нужна как промежуточный этап и не будет показана нигде
    yandex_turbo_lib.png

2. Добавляем поток данных к созданной странице

turbo_feed.jpg

Формат - 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_setting.png

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

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

user_text.png

После того как поля добавлены переходим в Настройки 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)

    item_elements_yandex.png

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

Сохраняемся.

В Настройках ленты не забываем указать Path:например: library/yandex-turbo.xml

На этом настройка Views закончена, выше дан лишь пример, а там вы сами уже можете используя весь инструментарий Views настроить сортировку, условия и вывод контента, который нужно передавать в Feed.

Как добавлять и настраивать созданную нами ленту в сервис Турбо страниц Яндекса я уже описывать не буду

Average: 10 (1 vote)