1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

How to get Latest Products RSS feed in PrestaShop

Discussion in 'Content Management' started by mrkool, Aug 13, 2010.

  1. #1
    I am using Latest Version of PrestaShop which 1.3.1.
    Through PrestaShop feeder module i can get rss feed of products of particular category but there is no way to get rss of latest products which can be belong to any category.

    Can anyone help me.


    Here is my rss.php file

    
    <?php
    include(dirname(__FILE__).'/../../config/config.inc.php');
    require_once(dirname(__FILE__).'/../../init.php');
    
    // Get data
    $number = (intval(Tools::getValue('n')) ? intval(Tools::getValue('n')) : 10);
    $orderByValues = array(0 => 'name', 1 => 'price', 2 => 'date_add', 3 => 'date_upd', 4 => 'position');
    $orderWayValues = array(0 => 'ASC', 1 => 'DESC');
    $orderBy = Tools::strtolower(Tools::getValue('orderby', $orderByValues[intval(Configuration::get('PS_PRODUCTS_ORDER_BY'))]));
    $orderWay = Tools::strtoupper(Tools::getValue('orderway', $orderWayValues[intval(Configuration::get('PS_PRODUCTS_ORDER_WAY'))]));
    if (!in_array($orderBy, $orderByValues))
    	$orderBy = $orderByValues[0];
    if (!in_array($orderWay, $orderWayValues))
    	$orderWay = $orderWayValues[0];
    $id_category = (intval(Tools::getValue('id_category')) ? intval(Tools::getValue('id_category')) : 1);
    $products = Product::getProducts(intval($cookie->id_lang), 0, ($number > 10 ? 10 : $number), $orderBy, $orderWay, $id_category, true);
    $currency = new Currency(intval($cookie->id_currency));
    $affiliate = (Tools::getValue('ac') ? '?ac='.intval(Tools::getValue('ac')) : '');
    
    // Send feed
    header("Content-Type:text/xml; charset=utf-8");
    echo '<?xml version="1.0"  encoding="UTF-8"?>'."\n";
    ?>
    <rss version="2.0">
    	<channel>
    		<title><![CDATA[<?php echo Configuration::get('PS_SHOP_NAME') ?>]]></title>
    		<link><?php echo _PS_BASE_URL_.__PS_BASE_URI__; ?></link>
    		<generator>My Shop</generator>
    		<description>My Shop details</description>
    		<language><?php echo Language::getIsoById(intval($cookie->id_lang)); ?></language>
    		<image>
    			<title><![CDATA[<?php echo Configuration::get('PS_SHOP_NAME') ?>]]></title>
    			<url><?php echo _PS_BASE_URL_.__PS_BASE_URI__.'img/logo.jpg'; ?></url>
    			<link><?php echo _PS_BASE_URL_.__PS_BASE_URI__; ?></link>
    		</image>
    <?php
    	foreach ($products AS $product)
    	{
    		$image = Image::getImages(intval($cookie->id_lang), $product['id_product']);
    		echo "\t\t<item>\n";
    		echo "\t\t\t<title><![CDATA[".$product['name']." - ".html_entity_decode(Tools::displayPrice(Product::getPriceStatic($product['id_product']), $currency), ENT_COMPAT, 'UTF-8')." ]]></title>\n";
    		echo "\t\t\t<description>";
    		if (is_array($image) AND sizeof($image)) echo "&lt;img src=&quot;"._PS_BASE_URL_.__PS_BASE_URI__."img/p/".$image[0]['id_product']."-".$image[0]['id_image']."-small.jpg&quot; title=&quot;".str_replace('&', '', $product['name'])."&quot; alt=&quot;thumb&quot; /&gt;";
    		echo "<![CDATA[".$product['description_short']."]]></description>\n";
    		echo "\t\t\t<link><![CDATA[".htmlspecialchars($link->getproductLink($product['id_product'], $product['link_rewrite'], Category::getLinkRewrite(intval(Tools::getValue('id_category')), $cookie->id_lang))).$affiliate."]]></link>\n";
    		echo "\t\t</item>\n";
    	}
    ?>
    	</channel>
    </rss>
    
    
    PHP:
     
    mrkool, Aug 13, 2010 IP