Создание 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 лента готова.
Комментарии ()