Создание RSS ленты на Modx Revolution

Создание 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 обязательно заменяем на квадратные

где в вызове 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>

*круглые скобки у вызова pdoresources обязательно заменяем на квадратные

Где

<title>((+pagetitle))</title> — Заголовок поста
<link>((+link))</link>— url поста
<seolit:hashtags>((+tv.tags))</seolit:hashtags> — специальный тег сервиса seolit для вывода хэштегов в постах при автопостинге с сайта в социальные сети
<description>((+content:notags:absURL:cdata))</description> — вывод текста в описание из поля «Содрежимое» без тегов p. Если у вас слишком длинный текст, можно поставить ограничение, скажем в 400 символов, вывод будет таким ((+content:notags:absURL:cdata:ellipsis=`400`))
<pubDate>((+publishedon:date=`%a, %d %b %Y %H:%M:%S %z`))</pubDate> — вывод даты публкации
<enclosure url="((+tv.img:phpthumbof=`w=737&h=518&zc=1&f=jpg`))" type="image/jpeg"/> — вывод изображения, обрезаемого под размер 737 на 518 пикселей дополнение phpthumbof (нужно скачать в репозитории)

*круглые скобки у вызова pdoresources обязательно заменяем на квадратные

Проверить валидность (правильность) вывода rss ленты можно здесь. Может ругаться на <seolit:hashtags>, так как это специальный тег, но если все остальное в норме и не подсвечивается — то поздравляю, rss лента готова.
 


Похожие статьи

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