Вход для клиентов и партнеров
в начало сайта
Партнерская программаОнлайн демоСкачатьКарта сайта
 

Регламент
Документация
Часто задаваемые вопросы (FAQ)
Решения типовых вопросов
Форум поддержки
Библиотека разработчика

Посмотрите демо-ролики и убедитесь в том, что "Twilight CMS" очень удобна в управлении, понятна и проста.

Бесплатно скачайте "Twilight.Basic", установите на своем компьютере и изучите систему более детально.

Если вам нужно установить "Twilight CMS" на существующий сайт или разработать новый - обращайтесь в отдел интеграции.

 

Ваше имя
Ваш Email
Вопрос
Twilight.basic
  • Узнайте больше
  • Сравните версии
  • Twilight.selection
  • Узнайте больше
  • Сравните версии
  • Twilight.evolution
  • Узнайте больше
  • Сравните версии
  •  
    Главная // Библиотека разработчика // Справочники // Книга рецептов (Cookbook) // Стандартные решения типовых задач //

    Вывод новостей в RSS


    Организовать вывод любого справочника в 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 можно с материалов в Википедии (откроется в новом окне). 

    « к списку

    версия для печати

     
    © 2003-19 Страта Технологии (создание сайтов, разработка cms), Twilight CMS in english.
    Наш адрес: Москва, пр. Маршала Жукова д.51
    Тел.: (495) 222-6436, E-mail: , карта сайта, условия использования информации о CMS
    Звоните через Skype:  

    Реклама: