Главная страница Обратная связь Карта сайта


  

Демо-версия
сайт и интерфейс

Документация
все о системе

  

Служба поддержки
+7 (3412) 511419

Редактирование RSS для новостей сайта

За несколько последних лет семейство форматов «фидов» — RSS и Atom — приобрело поистине феноменальную популярность.
Использование подобных форматов для публикации лент новостей — это уже, пожалуй, «общее место» при разработке практически любого сайта.

Эта заметка посвящена тому, как с помощью C-Gator предоставить какой-либо ресурс сайта в виде RSS-ленты. Хотя, потенциально, мы можем выдавать в качестве ленты практически любой поток ресурсов, для примера мы возьмем наиболее частый случай — типовую библиотеку C-Gator «новости сайта». Также, для определенности, зафиксируем версию формата — RSS 2.0.

RSS основан на формате XML, поэтому для ленты мы создаем ресурс типа «текстовая страница», указываем MIME-тип возвращаемого контента — text/xml, а также устанавливаем флажок «не включать html теги».

Содержание этой страницы будет иметь примерно такой вид:

<?xml version="1.0" encoding="windows-1251" ?>
<rss version="2.0">
<channel>
<title>Новости сайта MySite</title>
<link>http://www.mysite.ru/company/news</link>
<description>Самые горячие новости с сайта MySite.ru!</description>
<image>
<url>http://www.mysite.ru/images/logo.gif</url>
<title>Новости сайта MySite</title>
<link>http://www.mysite.ru/company/news</link>
</image>

<decorator:ItemList runat="server"
 EnableViewState="false"
 uri="/news/news"
 Source="multiproperties">

<ItemTemplate>

<item>
<title><decorator:ItemProperty runat="server"

Source="multiproperties" FieldName="title" /></title>
<author>office@mysite.ru</author>
<link>http://www.mysite.ru/company/news/<decorator:ItemProperty runat="server"

Source="multiproperties" FieldName="date" DateTimeFormat="yyyy" />/

<decorator:ItemProperty runat="server" Source="multiproperties" FieldName="date"

DateTimeFormat="MM" />/<decorator:ItemProperty runat="server"

Source="multiproperties" FieldName="multi_id" /></link>
<description><![CDATA[<decorator:ItemProperty runat="server"

Source="multiproperties" FieldName="description" />]]></description>
<pubDate>

<decorator:ItemProperty runat="server" Source="multiproperties" 

FieldName="date" DateTimeFormat="r" />

</pubDate>
<guid isPermaLink="true">http://www.c-gator.ru/company/news/

<decorator:ItemProperty runat="server" Source="multiproperties" FieldName="date"

DateTimeFormat="yyyy" />/<decorator:ItemProperty runat="server"

Source="multiproperties" FieldName="date" DateTimeFormat="MM" />/

<decorator:ItemProperty runat="server" Source="multiproperties"

FieldName="multi_id" /></guid>
</item>

</ItemTemplate>
</decorator:ItemList>

</channel>
</rss>

Не забудьте проверить, что везде проставлены значения, специфичные для вашего сайта и ленты новостей.

После этой нелегкой работы стоит провериться: во-первых, посмотрите на полученный ресурс, просто указав полный URL ресурса в адресной строке браузера. Во-вторых, не мешает прогнать наш RSS через RSS-валидаторы, например:
* http://feedvalidator.org/
* http://validator.w3.org/feed/

Ну и последнее — на странице, где показаны новости (например, на главной странице сайта), стоит предложить ссылку на RSS. Помимо человеко-читаемой ссылки не помешает сделать и скрытую ссылку в заголовке страницы, для автоматического нахождения фида RSS-аггрегаторами:

<html>
<header>
...
<link rel='alternate' type='application/rss+xml' title='RSS 2.0'

href='http://www.mysite.ru/news/rss' />
...
</header>
...

Никита Зимин,
ведущий разработчик компании «Деловые программы»

Вернуться к списку статей

Rambler's Top100 CMS List: Обзор систем управления сайтами и программ для создания сайтов
© 2005–2012 ООО «Компания «Деловые программы»