необходимо внести правки в файле rss.php в директории includes/prosessor.
Сначала на всякий случай делаем копию своего файла rss.php
Дальше меняем весь код в файле на следующий:
Меняем в head.tpl.html из папки шаблонов
#####################################
# ShopCMS: Скрипт интернет-магазина
# Copyright (c) by ADGroup
# http://shopcms.ru
#####################################
Header("Content-Type: text/xml");
echo "\n\n";
echo "\n\n"; ";
echo "\n"; \n";
echo "".CONF_SHOP_NAME." \n";
echo "".CONF_FULL_SHOP_URL."\n";
echo "".CONF_HOMEPAGE_META_DESCRIPTION." \n";
echo "ShopCMS \n";
echo "Copyright (c) ".CONF_SHOP_NAME." \n";
echo "ru \n";
echo "".date("r")." \n\n";
$result = db_query("select NID, title, textToPrePublication, add_stamp as formatted, uri FROM ".NEWS_TABLE." WHERE add_stamp<=NOW() ORDER BY NID DESC LIMIT ".CONF_NEWS_COUNT_IN_CUSTOMER_PART);
while ( list($NID, $title, $textToPrePublication, $formatted, $uri) = db_fetch_row($result)) {
$s_data = date("r", $formatted);
if ($uri) {
$uri_rss = FU_NEWS_ROOT."/".$uri;
} else {
$uri_rss = "show_news_{$NID}.html";
}
echo "- \n";
\n\n";
echo "".$title." \n";
if (CONF_MOD_REWRITE) {
echo "".CONF_FULL_SHOP_URL."".$uri_rss."\n";
} else {
echo "".CONF_FULL_SHOP_URL."index.php?fullnews=".$NID."\n";
}
echo "".strip_tags($textToPrePublication)."]]> \n";
echo "".$s_data." \n";
if (CONF_MOD_REWRITE) {
echo "".CONF_FULL_SHOP_URL."".$uri_rss." \n";
} else {
echo "".CONF_FULL_SHOP_URL."index.php?fullnews=".$NID." \n";
}
echo "
}
echo "
echo "
?>
на более приличный вид
в .htaccess добавляем
RewriteRule ^rss\.xml$ index.php?do=rss [L]Кто запускал магазин со старой ссылкой и он уже проиндексирован, то в .htaccess добавляем переадресацию 301:
Теперь лента стала намного лучше. Можно, конечно её навернуть, добавить картику ленты, категории (если есть), но это уже легко, делается, посмотрев спецификацию стандарта для RSS
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !rss\.xml$
RewriteRule ^index.php?do=rss$ rss\.xml [L,R=301]
Для яндекса (там требуется полный текст статьи/новости) выложу чуть позже тут же, как только сделаю себе.
В отображение текста добавлена функция strip_tags(), кто хочет в описании, чтобы теги оставались, обвертку из этой функции уберите.