Создание RSS ленты на Modx Revolution
Всем привет, дорогие подписчики. Сейчас я вам расскажу как легко и просто создать RSS ленту своего сайта на CMF Modx Revolution с помщью Pdoresources. Поэтому перед тем как начать скачайте и установите дополнение pdoTools.
Теперь создаём новый ресурс в корне сайта, называем его rss, ставим пустой шаблон, идём в «Настройки», убираем галочку «Использовать html-редактор», ставим галочку «Заморозить url», а в «Типе содержимого» выбираем «RSS». Сохраняем.
Теперь в содержимое этого ресурса вставляем следующий код
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>[[*pagetitle]] / [[++site_name]]</title>
<link>[[~[[*id]]?scheme=`full`]]</link>
<description>[[*description:cdata]]</description>
<language>en</language>
<copyright></copyright>
<ttl>120</ttl>
<atom:link href="[[~[[*id]]?scheme=`full`]]" rel="self" type="application/rss+xml" />
[[!pdoResources?
&tpl=`rss`
&parents=`1`
&depth=`1`
&limit=`10`
&showHidden=`1`
&sortby=`createdon`
&includeTVs=`img,file,tags`
&useWeblinkUrl=`1`
&scheme=`full`
]]
</channel>
</rss>
где в вызове pdoResources в
&tpl — нужно указать имя чанка с выводом каждого поста, в моем случае — это чанк rss
&includeTVs — указать TV изображения поста и прочие TV, которые вы будете использовать в посте (в моем случае это TV file и tags)
Далее создаём чанк rss с кодом:
<item>
<title>[[+pagetitle]]</title>
<link>[[+link]]</link>
<seolit:hashtags>[[+tv.tags]]</seolit:hashtags>
<description>[[+content:notags:absURL:cdata]]</description>
<pubDate>[[+publishedon:date=`%a, %d %b %Y %H:%M:%S %z`]]</pubDate>
<guid>[[+link]]</guid>
<enclosure url="[[+tv.img:phpthumbof=`w=737&h=518&zc=1&f=jpg`]]" type="image/jpeg"/>
</item>
Где
+pagetitle — Заголовок поста
+link— url поста
+tv.tags — специальный тег сервиса seolit для вывода хэштегов в постах при автопостинге с сайта в социальные сети
+content:notags:absURL:cdata — вывод текста в описание из поля «Содрежимое» без тегов p. Если у вас слишком длинный текст, можно поставить ограничение, скажем в 400 символов, вывод будет таким
+publishedon:date=`%a, %d %b %Y %H:%M:%S %z` — вывод даты публкации
+tv.img:phpthumbof=`w=737&h=518&zc=1&f=jpg`— вывод изображения, обрезаемого под размер 737 на 518 пикселей дополнение phpthumbof (нужно скачать в репозитории)
Проверить валидность (правильность) вывода rss ленты можно здесь. Может ругаться на <seolit:hashtags>, так как это специальный тег, но если все остальное в норме и не подсвечивается — то поздравляю, rss лента готова.




Комментарии ()