Организовать вывод любого справочника в RSS формате можно с помощью обычного макроса $News[]$.
Шаг 1. Создать файл rss.xml в папке Templates, в него написать строку
$Content$
Шаг 2. Создать страницу для вывода RSS ленты, например, с псевдонимом news_rss. Присвоить странице шаблон rss.xml. В menu.xml это будет выглядеть примерно так:
<node id="rss001" title="Новости в форме RSS">
<alias editable="true" title="Псевдоним страницы">
news_rss
</alias>
<template editable="true" title="Шаблон фронтзоны" type="front-templates">
rss.xml
</template>
<admin_template editable="true" title="Шаблон админзоны" type="back-templates">
page_simple_edit
</admin_template>
</node>
Использование расширения xml в имени шаблона позволит системе отличить вывод xml от вывода html и правильно сформировать заголовок content-type на выходе.
Шаг 3. В страницу news_rss через админзону или прямой правкой файла Content/news_rss.txt внести макрос $News[]$ и настроить его для своих целей.
Например так:
$News[source: news; design: news_archive_rss; filter: state=on; count: 20]$
Шаг 4. Создать в файле Templates/news_design.xml секцию с дизайном news_archive_rss примерно следующего вида:
<newsdesign id="news_archive_rss">
<header><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title><![CDATA[$Encode[source: "Страта Технологии"; in: windows-1251; out: utf-8]$]]></title>
<link>http://www.twl.ru</link>
<description><![CDATA[$Encode[source: "Новости компании Страта Технологии"; in: windows-1251; out: utf-8]$]]></description>
<language>RU-ru</language>
<generator>Twilight CMS</generator>]]>
</header>
<someitem><![CDATA[
<item>
<title><![CDATA[$Encode[source: "$Attribute:caption$"; in: windows-1251; out: utf-8]$]]></title>
<link>http://www.twl.ru/news/?nid=$Attribute:id$</link>
<description><![CDATA[$Encode[source: "$Attribute:announce$"; in: windows-1251; out: utf-8]$]]></description>
<dc:creator>Twilight CMS</dc:creator>
<dc:date>$DateTime [datetime: "$Attribute:date$ 00:00:00"; format_in: "DD.MM.YYYY hh:mm:ss"; format_out: "YYYY-MM-DDThh:mm:ss+04:00"]$</dc:date>
<guid isPermaLink="false">$Attribute:id$</guid>
</item>]]>
</someitem>
<footer><![CDATA[
</channel>
</rss>$SetEncoding[UTF-8]$]]>
</footer>
</newsdesign>
На первый взгляд конструкция сложная, но это только потому, что мы в наш xml дизайн положили куски xml оформления RSS 2.0. Если выбросить обычное обрамление секций header, footer и someitem (это псевдоним для секции item, который сделан чтобы не пересекались элементы с одинаковым названием) - останется чистый RSS.
Если все имена полей расставлены верно, то при входе на страницу /news_rss вы увидите примерно такой XML файл:
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Twilight CMS official site</title>
<link>http://www.twl.ru</link>
<description>Twilight CMS - official site of content management system</description>
<language>RU-ru</language>
<generator>Twilight CMS</generator>
<item>
<title><![CDATA[ В "Библиотеке разработчика" опубликована статья "Оптимизация производительности сайта"]]></title>
<link>http://www.twl.ru/news/?nid=275e6f281d392b915c54637234ce0e0a</link>
<description><![CDATA[ Материал ориентирован на партнеров и опытных разработчиков. Рассматриваются частые ошибки и типовые советы по оптимизации скорости работы сайта на "Twilight CMS" при возникновении проблем с производительностью.]]></description>
<dc:creator>Twilight CMS</dc:creator>
<dc:date>2007-09-09T00:00:00+04:00</dc:date>
<guid isPermaLink="false">275e6f281d392b915c54637234ce0e0a</guid>
</item>
</channel>
</rss>
В данном примере показан рабочий дизайн для RSS 2.0. Изменяя дизайн для вывода новостной ленты вы можете настроить вывод в любом нужном вам RSS формате. Только аккуратно следите за количеством и именами полей, именами используемых в заголовке схем и форматом даты. Для формирования даты в RSS версии 0.9 применяйте макрос GMT.
Начать изучение RSS можно с материалов в Википедии (откроется в новом окне).