Модуль для drupal 7 для яндекс дзен

Цена договорная • электронные деньги
20 ноября 2017, 16:40 • 1 отклик • 9 просмотров
Задача:
Создать модуль для Drupal 7, который будет генерировать xml файл из последних статей на сайте (тип материала Article) для добавления канала в Яндекс.Дзен

Функционал модуля:
  1. Автоматическая генерация xml-страницы из материалов типа Article (обновление можно сделать по крону или при обращении к этой странице, не принципиально)
  2. Статьи на данную страницу должны попадать только при публикации на сайте (статус материала опубликован)
  3. Изображения
    1. Первым изображением в теге <enclosure> всегда указывать изображение из поля “field_cover” со стилем отображения “cover”
    2. Для каждого изображения на которое есть ссылка в тексте материала и видео требуется вынести <enclosure url="example.com/2023/07/04/pi..." type="image/jpeg"/>
    3. Если в материале есть изображение без <figure>, то добавить его, если у изображения есть значение alt, то добавить его в тег <figcaption>
  4. Видео
    1. Видео вставлены в статью с помощью модуля video_filter с видеохостинга youtube.com, нужно обернуть все видео в тег <figure>
  5. Настройки модуля
    1. Возможность задать количество материалов из которых будет генерироваться файл (по умолчанию последние 100 статей)
Описание формата xml https://yandex.ru/support/zen/publishers/rss-modify.html

Нужно обязательно ознакомиться с форматом который требуется для Яндекс.Дзен и соблюсти все его требования.

Пример статьи на xml-странице:
<title>Заголовок</title>
<link>Ссылка. Не node/NID, а чистая</link>
<guid>ID ноды</guid>
<pubDate>Дата в формате (на английском всегда) Tue, 4 Jul 2023 04:20:00 +0300</pubDate>
<author>Имя автора, одно имя на весь сайт задается вручную</author>
<category>Задается вручную, одна на весь сайт</category>
<enclosure url="example.com/2023/07/04/pi..." type="image/jpeg"/>
<enclosure url="example.com/2023/07/04/pi..." type="image/jpeg"/>
<enclosure url="example.com/2023/07/04/pi..." type="image/jpeg"/>
<description><![CDATA[
Краткое содержание (descriptions из модуля metatag)
]]></description>
<content:encoded><![CDATA[
<p>
Здесь находится полный текст статьи. С добавленными к изображениям и видео тегами <figure> и <figcaption>
</p>
]]></content:encoded>