Создание RSS ленты на MODX Revo

Создание RSS ленты на MODX Revo MODX Revo

В данном уроке мы рассмотрим как при помощи pdoResources создать RSS ленту (канал) для вашего сайта на MODX. Так же, если мы хотим добавить контент, то нам понадобиться компонент (пакет) JEVIX. Оба этих пакета можно установить из репозитория modstore. Перед тем как начать, давайте в кратции рассмотрим для чего все это.

Для чего создавать RSS?

  1. Некоторые пользователи пользуются rss читалками.
  2. При помощи RSS лент можно продвигать сайт и нагонять посетителей с агрегаторов — не очень хорошо работает в 2018, но еще работает.
  3. Возможность сделать подписку к примеру на емаил на обновления, акции вашего сайта и т.д.
    Автопостинг RSS в соц сети
  4. Ну и многое другое — на что хватит фантазии, знаний и умений.

Создание RSS-ленты сайта

1. Создаем документ с именем feed, пишем описание, выставляем пустой шаблон, ставим галки напротив Опубликован и не показывать в меню

создание документа для rss ленты

Далее идем во вкладку Настройки. В поле Тип содержимого выбираем RSS и Отключаем HTML-редактор, сохраняем документ

Вкладка настройки

и в поле с содержимым вписываем следующий код

<?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>ru</language>
		<copyright></copyright>
		<ttl>120</ttl>
		<atom:link href="[[~[[*id]]?scheme=`full`]]" rel="self" type="application/rss+xml" />
		[[!pdoResources?
			&tpl=`tpl-rss`
			&parents=`13`
			&depth=`3`
			&limit=`10`
			&showHidden=`1`
			&sortby=`createdon`
			&includeContent=`1`
		]]
	</channel>
</rss>

Здесь вам нужно изменить

&parents=`13`

— указать id родителей, через запятую, документы которых должны попадать в rss. Далее нам нужно создать чанк tpl-rss со следующим содержимым

<item>
    <title>[[+pagetitle]]</title>
    <link>[[++site_url]][[~[[+id]]]]</link>
    <description>[[!Jevix? &input=`[[+content:limit=`300`]]` &cfgAllowTags=`` &cfgSetAutoReplace=`[["<br>"],[""]]` ]]</description>
    <pubDate>[[!ShowDate_en? &val=`[[+publishedon]]`]] +0300</pubDate>
    <guid>[[++site_url]][[~[[+id]]]]</guid>
</item>

Здесь ShowDate_en — сниппет  который выводит дату в локале en_US.UTF-8. Создайте его.

<?php
setlocale(LC_ALL, 'en_US.UTF-8');
if ( $val == '' ) $val=time();
if ($format == '' ) $format = "%a, %d %b %Y %H:%M:%S";
return strftime($format, $val);

Примечание: не забудьте установить пакет Jevix.

Сохраняем все. И теперь можно проверить валидность нашего РСС на сайте validator.w3.org/feed/

Валидация Rss

Так же можете посмотреть как это все отображается в ридере, установив к примеру дополнение RSS Subscription Extension (это для гугл хром).

Поделиться с друзьями
Алексей

Веб-дизайнер и SEO оптимизатор. Занимаюсь созданием сайтов с 2010 года и их продвижение с 2012 года!

Оцените автора
( 2 оценки, среднее 4 из 5 )
Web-Revenue.ru
Добавить комментарий