CONTENT MANAGEMENT SYSTEM
Blox Logo
Blox CMS — блочный метод сайтостроения
.
 
Blox Help


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

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

UTF-8 без BOM
Blox CMS работает на HTML5
←→

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

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

news.tpl

<?php

################################ RSS feed ################################ 
if ($_GET['src'])
{
require_once $GLOBALS['bloxDir'].'/functions/lib_string.php'; // для shortenText()

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/templates/images/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(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 = array
    (
        1 => 'Дата',
        2 => 'Заголовок новости',
        3 => 'Текст новости',
    );

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

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

    $params['isMultiRec'] = true;
    $params['backward'] = true;
    $params['part']['limit'] = 5;

?>

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


Примечания

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