Урок 17. Создание RSS-ленты сайта
RSS-фид - это xml файл, который описывает последние новости, анонсы, посты блога и другую информацию для различных агрегаторов (сборщиков).
RSS-лента создаётся приблизительно так же как и вывод записей блога, только вместо хтмл-кода будем использовать формат вывода данных rss-ленты.
Хотя сами рсс-фиды и их читалки стали реже использоваться обычными пользователями, они могут влиять на положение сайта в поисковой выдаче.
Установите getResources, если он не установлен.
Создайте ресурс с произвольным именем, в моём случае - это "Новости и уроки MODX Revolution Webschool". Назначьте псевдоним (apas) ресурса feed. Скройте вывод данного ресурса от главного меню выставив галочку в Hide from menus чекбоксе. Назначьте пустой шаблон для данного ресурса и перейдите на вторую вкладку Настройки (Settings) ресурса.

Выставите там тип содержимого RSS и снимите галочку в чекбоксе Использовать текстовый редактор (Richtext) и сохраните ресурс.

Вставьте в поле Содержимое (Content) ресурса следующий код и сохраните:
Итак данный код выводит нашу ленту последних постов. Осталось шаблонирующий чанк вывода отдельного элемента - rssItem
Код чанка rssItem
Вставьте в head сайта следующий кусок кода:
где id - идентификатор вашего ресурса - рсс-ленты
Для чего можно использовать RSS ленту?
RSS-ленту, можно использовать для создания Яндекс-виджетов, для оформления подписки через feedburner.google.com и для быстрой подписки через, например, такое расширением - RSS Subscription Extension (от Google) Если вы установите данное расширение и зайдёте на сайт, содержащий rss-ленту, то увидите следующую картину:

При создании статьи использовался материал rtfm.modx.com
Nov 13 2013 getResources сниппеты уроки MODx Revolution Виктор Матушевский
Алексей
06.07.2012 21:22Не много ли использования?
> она может использоватся пользователями, которые заходят на сайт и пользуются
Viktor Minator
06.07.2012 21:23ахаха. поправлю =) спасибо
Андрей
19.10.2012 16:47Доброго времени суток.
Делаю всё в точности как написано, при добавлении в GoogleReader он говорит - Запрашиваемый канал не найден.
Андрей
19.10.2012 17:00Если у ресурса feed поменять тип содержимого на HTML и "Открыть в браузере", то там следующее: http://pastebin.com/jGJ1WK1G
Viktor Minator
19.10.2012 17:27content Type RSS
Андрей
19.10.2012 17:38Я поменял тип содержимого на HTML, чтобы проверить выводиться что либо вообще, а так естественно RSS. Проверил RSS валидатором, всё отлично. Ничего не понимаю
Viktor Minator
19.10.2012 17:40В шапке сайта что?
Андрей
19.10.2012 17:47Не знаю как сюда код постить - http://pastebin.com/kxjdkWxZ
Viktor Minator
19.10.2012 17:54ну. всё работает. я зашёл на сайт - можно подписаться. только статей нет.
Андрей
19.10.2012 18:02Я в getResources указал &parents=`0` т.е. что-то он всётаки должен показать.. а в ответ "Запрашиваемый канал не найден"
Viktor Minator
19.10.2012 20:44нужно указывать &parents=`-1` если нет родителя и далее в &resources=`ИД ресурсов`
Андрей
20.10.2012 13:17Работает, спасибо!
Владимир Гришин
20.02.2013 21:48выводит логин админа...наверное это не совсем правильно
Владимир Гришин
20.02.2013 21:48+modx.user.username
Viktor Minator
21.02.2013 10:19добавляете туда фильтр вывода userinfo=`fullname` и всё будет ок.
Viktor Minator
21.02.2013 10:28а не, я всё верно написал. Проверьте, что у вас в информации пользователя написано.
володя володин
23.02.2013 20:58если с фильтром вывода, то да - все ОК!)
Viktor Matushevskyi
13.11.2013 23:28спасибо. сменил чанк вывода
Евгений Васильев
06.05.2013 10:28Здравствуйте а где в коде надо поминять чтоб сделать rss ленту новостей с других ресурсов. Т.е. вставить ссылку на новостную ленту другого сайта? Извините я пока в этих вопросах новичек.
Viktor Minator
06.05.2013 10:33RSS лента - это rss-файл, на который ведёт соответствующая ссылка. Поэтому, либо вы вставляете ссылку на данную ленту либо, если вам нужна лента новостей, тогда вы делаете запрос на сайт, получаете оттуда rss-файл и обрабатывая его выдаёте ленту новостей.
Евгений Васильев
07.05.2013 14:10Вот мне надо получить ленту беларуси с этой ленты http://www.dal.by/poleznaja-informacija/rss-lenta-novostej/ и прикрипить его на сайте на странице новости. Как это можно реализовать тегом ditto. Я просто немногонепонимаю в php.
Viktor Minator
07.05.2013 14:31Ditto - это Evolution, у нас тут версия Revolution. Делать нужно так, как я сказал до этого, не используя сниппеты, а создать свой.
Александр Аршанский
10.07.2013 17:15а если у меня значок не появляется что делать ?
Viktor Matushevskyi
13.11.2013 23:25сверху в шапке сайта указали link alternate? установили расширение Гугл хром?
Антон Артёмов
23.12.2013 08:42Если в MODx установлена RU локаль, то при выводе RSS мы получим неверный формат pubDate
Чтв, 28 Ноя 2013 11:18:00 +0400 - что не правильно.
Выход:
1. Создать сниппет setLocale с содержимым
............
Антон Артёмов
23.12.2013 08:44Блин. Теги порезались.... Короче сниппет с содержимым setlocale(LC_TIME, "en_US.utf8");
Сниппет объявляем в начале ресурса feed
Viktor Matushevskyi
23.12.2013 09:26https://modx.ws/sovety-web-razrabotchikam-modx - тут внимательно почитайте
Павел Сидоров
17.07.2014 11:04А вы футер собственного сайта чего не обновляете?
Viktor Matushevskyi
17.07.2014 11:19буду полный редизайн делать и исчезнет дино ;).
Raxim Egamov
12.08.2014 13:50не показывает дату