RSS (как добавить на сайт)

Ниже приведен код, с помощью добавления которого к новостному шаблону, можно создать RSS канал новостей. Этот код отличается от обычного кода шаблонов только тем, что вместо HTML применяется XML. Кроме того, в атрибутах элементов применяются двойные кавычки, поэтому в конструкции echo стоят кавычки одинарные.

news.tpl
<?php

################################ RSS feed ################################ 
if ($_GET['src'])
{
echo '<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
    <title>Новости с сайта</title>
    <link>http://blox.ru</link>
    <description>Система управления сайтом</description>
    <language>ru-ru</language>
    <copyright>Владислав Аливанов</copyright>
    <image>
        <url>http://blox.ru/xfiles/logo.png</url>
        <title>Владислав Аливанов</title>
        <link>http://blox.ru/?page='.$page.'</link>
    </image>
';
foreach ($tab as $dat)
{
    echo '
    <item>
        <title>'.htmlspecialchars($dat[2]).'</title>
        <link>http://blox.ru/?page='.$page.'&block=77&single='.$dat['rec'].'</link>
        <description>'.htmlspecialchars(Text::shortenText($dat[3], 200, false, $isShortened)).'</description>
        <pubDate>'.date("r",$dat[1]).'</pubDate>
        <guid>http://blox.ru/?page='.$page.'&block=77&single='.$dat['rec'].'</guid>
    </item>
    ';
}
echo '
</channel>
</rss>
';
}
######################## Обычный вывод новостей на сайте ########################
else
{
    # Кнопка RSS подписки (ссылка на RSS канал)
    echo '<a href="?src='.$block.'" target="_blank"><img src="templates/images/rss.png" /></a>';
    // См. статью "Вывод отдельного блока"**
    . . .
}
?>

news.tdd
<?php

    $titles = [
        1 => 'Дата',
        2 => 'Заголовок новости',
        3 => 'Текст новости',
    ];

    $types = [
        1 => 'date',
        2 => 'varchar(255)',
        3 => 'text',
    ];

    $defaults[1] = date('Y-m-d');

    $params['multi-record'] = true;
    $params['backward'] = true;
    $params['part']['limit'] = 5;

?>

Согласно настройкам в дескрипторе, данный фид отдает пять последних новостей в обратном порядке


Примечания

  • Аналогично можно создается фид в формате данных – Atom. Отличается Atom от RSS тем, что в Atom устранены некоторые недостатки RSS и добавлены новые возможности.

См. также

 

   



RSS — формат представления данных в формате XML, предназначенный для лент новостей, анонсов статей, изменений в блогах и т. п. Он широко используется для получения информации с сайта без необходимости его посещения (синдикация web-контента).

Любой посетитель может подписаться на такую ленту (фид), и как только на вашем сайте появится новая информация, подписчик сразу получит текст сводки новостей или статей. Эти фиды полезны и поисковым роботам, так как информация здесь четко структурирована.