Jump to content

Recommended Posts

Приветствую, уважаемые!
Кое-как (я не программист, а дизайнер) по наитию переделал RSS-виджет отсюда к Simpla 2.1
Код выглядит так:

<?PHP

require_once('BlogView.php');

class RSSView extends BlogView
{
function fetch()
   {
       // Выбираем новости из базы
	$this->db->query('SELECT *, DATE_FORMAT(date, \'%a, %d %b %Y %H:%i:%s +0200\') as date FROM s_blog WHERE visible=1 ORDER BY date DESC LIMIT 10');
	$news = $this->db->results();
       $ctype="text/xml";
       header("Pragma: public");
       header("Expires: 0");
       header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
       header("Content-Type: text/xml; charset=UTF-8");
       header('Content-disposition: inline; filename="news.rss"');
       header("Content-Transfer-Encoding: binary");
       print "<?xml version='1.0' encoding='utf-8'?>"."\n";
       print "<rss version='2.0' xmlns:dc='http://purl.org/dc/elements/1.1/'>"."\n";
       print "<channel>"."\n";
       print "<title>".$this->settings->site_name."</title>"."\n";
       print "<link>".$this->config->root_url."</link>"."\n";
       print "<description>".$this->settings->company_name."</description>"."\n";
       print "<language>ru-ru</language>"."\n";
       print "<copyright>Copyright ".date('Y')." ".$this->settings->company_name."</copyright>"."\n"; 
       // News    

       foreach($news as $news_item)
       {
           print "<item>"."\n";
           print "\t<title>".htmlspecialchars($news_item->name, ENT_QUOTES)."</title>"."\n";
           print "\t<link>".$this->config->root_url."/blog/".urlencode($news_item->url)."</link>"."\n";
           print "\t<description><![CDATA[".strip_tags($news_item->annotation, '<p><b><ul><li><img><strong><i><em>')."]]></description>"."\n";
           print "\t<category>Новости</category>"."\n";
           print "\t<pubDate>".$news_item->date."</pubDate>"."\n";
           print "</item>"."\n";             
       }     
       print "</channel>"."\n";     
       print "</rss>"."\n";     
	
	exit();
}
}



Остались небольшие проблемы. В частности, не показываются изображения в новостях. Насколько я понял проблема в том, что тегу SRC в IMG не передается из БД абсолютная ссылка (только относительная). В результате фид выглядит так:

<item>	<title>Ликвидация товара!</title>	<link>***адрес скрыт***</link>	<description><![CDATA[<p><img src="/files/uploads/sale50.gif" width="39" height="39" alt="Скидка 50%" title="Скидка 50%" style="float: left;" />Тестовая новость</p>]]></description>	<category>Новости</category>	<pubDate>Thu, 22 Mar 2012 00:00:00 +0200</pubDate></item>

Вопрос - как сделать, чтобы картинки отображались нормально... Использовать абсолютные ссылки не предлагать, т.к. картинки в новости добавляются штатным редактором Симплы...

Ну и второй момент. РСС-подписка в Google Reader почему-то выглядит коряво... Пропадают заголовки (пишет "Название неизвестно", нет наименования сайта и название самой подписки не формируется. Хотя в предпросмотре все это есть...
Жду помощи!
Всем заранее безмерно благодарен.
Просьба не сыпать проф.жаргоном, повторюсь, я не программист, я дизайнер...
Link to post
Share on other sites

Забыл добавить, что изменил .htaccess следующим образом:

# RSS
# Блог
RewriteRule ^rss/([^/]+)/?$	index.php?module=RSSView&url=$1 [L,QSA]
RewriteRule ^rss/?$	index.php?module=RSSView [L,QSA]


и изменил index.tpl следующим образом:

<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="{$settings->root_url}/rss" />
Link to post
Share on other sites
  • 2 weeks later...
  • 1 month later...

а как сделать, чтобы не только отображалась страница Блога?
а то кроме нее ничего более не показывается.
Мне нужно, чтобы категория товаров была под RSS канал
Как это сделать?
Спасибо!

Link to post
Share on other sites

Я оттуда информацию и брал. По поводу групп товаров - у меня не получилось, только блог/новости. Сам автор обещал сделать и выложить и пропал - на письма не отвечает, хотя я ему даже денег предлагал...

Link to post
Share on other sites
  • 1 year later...

Делал тоже по инструкции с того сайта. При выполнении запроса к бд-выдает ошибку.Версия 2.1.5. В чем может быть проблема?!

Link to post
Share on other sites

Делал тоже по инструкции с того сайта. При выполнении запроса к бд-выдает ошибку.Версия 2.1.5. В чем может быть проблема?!

Это старая версия скрипта - новый уже давно есть по адресу - http://www.simplashop.com/article/rss-bloga-dlya-simplacms-21

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...