Перейти к содержимому


Фото
- - - - -

RSS-канал на Simpla 2.1.0

rss канал simpla2.1

  • Чтобы отвечать, сперва войдите на форум
4 ответов в теме

#1 DarAmal

DarAmal
  • Пользователь
  • 685 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x

Опубликовано 19.05.2012 - 02:39

Уважаемые Форумчане!

Как же все таки создать RSS-канал на Simpla 2.1.0 ?
Все перепробовал. Не генерируется автоматически.

Может знает кто?
Спасибо за любую информацию.



#2 howareyou

howareyou
  • Пользователь
  • 31 сообщений

Опубликовано 19.05.2012 - 02:40

файл - создать - rss канал



#3 DarAmal

DarAmal
  • Пользователь
  • 685 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x

Опубликовано 19.05.2012 - 02:43

howareyou не совсем Вас понял.



#4 Serjkrae

Serjkrae
  • Пользователь
  • 5 сообщений

Опубликовано 12.03.2013 - 05:45

Вот здесь человек автор в комментариях выложил скрипт rss для simpla.
http://androoha.com/...s-automatically

И вот его инструкция про то как настроить cron на хостинге, для автоматической генерации rss:

"На самом деле через cPanel ничего сложного cron job добавлять, но на всякий случай опишу :) Частоту выполнения настроить там совсем просто, а чтобы выполнить именно php-скрипт, там нужно по-особому команду писать:
/usr/bin/php -f /home/something/public_html/test.php
т.е. первая часть это путь к пхп и параметр один, а вторая это и есть адрес к скрипту (у вас он будет свой)

Если вы не знаете, какой он должен быть, можете сделать как я обычно делаю - закидываете на хостинг какой-нибудь php-файл со следующим содержанием:
<?php echo $_SERVER['DOCUMENT_ROOT']; ?>
и запускаете его в браузере. Он вам как раз и напишет этот рут, а относительно его уже и допишите, где конкретно лежит ваш скрипт.

С уважением, Androoha."



#5 paha333

paha333
  • Пользователь
  • 2 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 11.07.2018 - 22:28

Погуглил и ничего нормально не нашел, пришлось самому сделать.

 

И так: RSS файл товаров для Simpla

 

1. В корне сайта создаем файл rss.php

2. В этот файл вставляем этот код:


require_once('api/Simpla.php');
$simpla = new Simpla();


$base_url = $simpla->config->root_url;

$lastmod = date("Y-m-d");


            $filter['limit']=100;
            $filter['visible']=1;
            
		$products = array();
		foreach($simpla->products->get_products($filter) as $p)
			$products[$p->id] = $p;


		if(!empty($products))
		{
			$products_ids = array_keys($products);
			foreach($products as &$product)
			{
				//$product->variants = array();
				$product->images = array();
			//	$product->properties = array();
			}
	
			//$variants = $this->variants->get_variants(array('product_id'=>$products_ids, 'in_stock'=>true));
			
			//foreach($variants as &$variant)
			//{
				//$variant->price *= (100-$discount)/100;
			//	$products[$variant->product_id]->variants[] = $variant;
			//}
            
            //print_r($products_ids);
	
			$images = $simpla->products->get_images(array('product_id'=>$products_ids));
			foreach($images as $image)
				$products[$image->product_id]->images[] = $image;
                
        }

    header("Content-Type: application/rss+xml; charset=UTF-8"); 


     $p = $products[0];
     
     $rssfeed = '<?xml version="1.0" encoding="UTF-8"?>';
     $rssfeed .= '<rss version="2.0">';
     $rssfeed .= '<channel>';
     $rssfeed .= '<title>'.$simpla->settings->site_name.'</title>';
     //$rssfeed .= '<link>'.$cat_url.'</link>';
     $rssfeed .= '<description>'.$simpla->settings->company_name.'</description>';
     $rssfeed .= '<language>ru-ru</language>';
     //$rssfeed .= '<category>' . $category . '</category>';
     $rssfeed .= '<copyright>Copyright '.date('Y').' '.$simpla->settings->company_name.'</copyright>';
     $rssfeed .= '<pubDate>' . date("D, d M Y H:i:s O", strtotime($p->date)) . '</pubDate>';
     $rssfeed .= '<lastBuildDate>' . date("D, d M Y H:i:s O", strtotime($p->date)) . '</lastBuildDate>';

  
      
     foreach($products as $p)
     {

        $rssfeed .= '<item>';
        
        
        $rssfeed .= '<guid isPermaLink="true">'. $base_url .'/products/'. $p->url . '</guid>';
        $rssfeed .= '<link>'. $base_url .'/products/'. $p->url . '</link>';
        $rssfeed .= '<title>' . $p->name . '</title>';
        $rssfeed .= '<description><![CDATA[<center><img src="' . $p->images[0]->filename . '"/></center><br>' 
        . ($p->body) . ']]></description>';
        //$rssfeed .= '<comments>'. $base_url . $p->url . '#comments</comments>';
        
        $rssfeed .= '<image>';
        $rssfeed .= '<url>' . $p->images[0]->filename . '</url>';
        $rssfeed .= '<title>' . $p->name . '</title>';
        $rssfeed .= '<link>'. $base_url .'/products/'. $p->url . '</link>';
        $rssfeed .= '</image>';
        $rssfeed .= '<enclosure url="' . $p->images[0]->filename . '" type="image/jpeg" length="123" />';
        
        
        $rssfeed .= '<pubDate>' . date("D, d M Y H:i:s O", strtotime($p->date)) . '</pubDate>';
        
        
        $rssfeed .= '</item>';
     }
  
     $rssfeed .= '</channel>';
     $rssfeed .= '</rss>';    

     print $rssfeed;



Я делал без вывода цен, мне оно ненужно, если вам надо я там оставил вызов метода $variants с помощью него вы сможете сделать вывод цен.

И там есть массив filter где указываете например значение limit это сколько выводить товаров в rss я поставил 100 если вам надо ставьте больше, лично когда я поставил 10000 то реально стало подвисать так как у меня в магазе почти 5тыс товаров.

 

 

3. Открываем файл в корне сайта .htaccess , там находите

# Google sitemap
RewriteRule ^sitemap.xml?$	sitemap.php  [L,QSA]

и под ним вставляете

# RSS
RewriteRule ^rss.xml?$  rss.php  [L,QSA]

Вуаля! Все готово!

 

Теперь проверьте работу rss. http://ваш-сайт/rss.xml

 

Ваше спасибо присылайте сюда R853468763307 всем удачи.







Также с меткой «rss, канал, simpla2.1»

0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых