RSS-лента RSS-лента на MODX
Для начала, наверное, нужно вкратце рассказать, что это такое и зачем оно нам нужно. RSS - это файл в формате XML, предназначеный для трансляции собственных новостей, анонсов и т.д., а так же, для чтения чужих новостей и анонсов. Все современные браузеры умеют работать с этим форматом, но существуют и специальные приложения (RSS-агрегаторы), такие как Яндекс.Лента и Google Reader, которые собирают и отображают RSS-каналы.
Если вы имеете свой сайт или блог, и хотите, чтобы обновленная информация сразу же была доступна для ваших подписчиков, то RSS вам в этом поможет, тем более, что средставми MODX это делается буквально за несколько минут.
Сначала нам необходимо создать в дереве ресурсов документ с псевдонимом rss и шаблоном (blank). Я создал такой документ в корневой папке. Убираем галочку с «Показывать в меню»
, затем переходим в закладку «Настройка страницы»
и снимаем галочки с пунктов «Использовать HTML-редактор»
и «Кэшируемый»
. Пункт «Контейнер (содержит дочерние ресурсы)»
тоже должен быть отключен. Там же в графе «Тип содержимого»
выбираем text/xml
, это один из важных моментов. Документ для нашей ленты готов. Сохраняем ресурс, после этого опять заходим в него и помещаем в «Содержимое ресурса»
вот такой вызов Ditto:
[!Ditto? &parents=`10, 11, 12` &format=`rss` &total=`all` &tpl=`rss_tpl` &display=`10`!]
Где
&parents=`10, 11, 12`
- ID страниц, в которых находятся транслируемые документы&format=`rss`
- тип данных&tpl=`rss_tpl`
- чанк, шаблон для транслируемого документа&display=`10`
- количество документов на странице
Можно добавлять и другие параметры Ditto, но это основные.
Теперь нам нужно создать шаблон для вывода документов в ленте. Создаем чанк rss_tpl и помещаем в него следующий код:
<item>
<title>[+rss_pagetitle+]</title>
<link>[(site_url)][~[+id+]~]</link>
<description><![CDATA[ [+introtext+] ]]></description>
<pubDate>[+rss_date+]</pubDate>
<guid isPermaLink="false">[(site_url)][~[+id+]~]</guid>
</item>
Где
[+rss_pagetitle+]
- заголовок транслируемого документа[(site_url)][~[+id+]~]
- ссылка на транслируемый документ[+introtext+]
- анонс документа, но вот тут самое интересное, вместо[+introtext+]
можно вставить любые данные из транслируемого документа.[+rss_date+]
- дата публикации ресурса
Остался последний шаг. В заголовок нашего сайта между тегами <head>
и </head>
необходимо поместить ссылку на наш канал:
<link rel="alternate" type="application/rss+xml" title="[(site_name)] Ваша лента" href="[~ID ресурса, созданного на первом шаге~]">
На этом наша RSS-лента готова. Осталось только сделать на нее ссылку с главной страницы сайта. Вставляем в шаблон значок RSS и у казываем ссылку на документ, который создали на первом шаге.