didje3 Posted April 6, 2012 Share Posted April 6, 2012 Hello all, I have a problem with my php script for exporting products in xml file format, Here is the php script! <?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')) : 10000); $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); $currency = new Currency(intval($cookie->id_currency)); $affiliate = (Tools::getValue('ac') ? '?ac='.Tools::getValue('ac') : ''); $categTree = Category::getRootCategory()->recurseLiteCategTree(0); function constructTreeNode($node){ $ret = ';'; $ret .= $node['id'].'|'.$node['name'].';'; if(!empty($node['children'])) { $ret .= ';'; foreach ($node['children'] AS $child) $ret .= constructTreeNode($child); $ret .= ';'; } return $ret; } foreach ($categTree['children'] AS $child) $ulTree .= constructTreeNode($child); $tab_cat=explode(';',$ulTree); foreach ($tab_cat as $id2cat){ $tab_id2cat=explode('|',$id2cat); if (!empty($tab_id2cat)) $tab_cat_final[$tab_id2cat[0]]=$tab_id2cat[1]; } header("Content-Type:text/xml; charset=utf-8"); echo '<?xml version="1.0" encoding="UTF-8"?>'."\n"; ?> <root> <?php foreach ($tab_cat_final as $id_category=>$name_category){ $products = Product::getProducts(intval($cookie->id_lang), 0, ($number > 10000 ? 10000 : $number), $orderBy, $orderWay, $id_category, true); foreach ($products AS $product) { $image = Image::getImages(intval($cookie->id_lang), $product['id_product']); $prix=Product::getPriceStatic($product['id_product']); if ($product['reduction_percent']>0) $prix_promo=$prix*(1-$product['reduction_percent']/100);else $prix_promo=($prix-$product['reduction_price']); echo "<item>\n"; echo "<name><![CDATA[".$product['name']."]]></name>\n"; echo "<price>".$prix."</price>\n"; echo "<image>"._PS_BASE_URL_.__PS_BASE_URI__."img/p/".$image[0]['id_product']."-".$image[0]['id_image']."-large.jpg</img>\n"; echo "<link><![CDATA[".htmlspecialchars($link->getproductLink($product['id_product'], $product['link_rewrite'], Tools::getValue('id_category'))).$affiliate."]]></link>\n"; echo "<categorie><![CDATA[".$name_category."]]></categorie>\n"; echo "</item>\n"; } } ?> </root> What i must change or add to php script that the xml file look so for example?: -<root> <item> <name>Maxximus akumulators HTC Smart 1450mAh</name> <link>http://www.smalshop.lv/product.php?id_product=765</link> <price>6.30</price> <image>http://www.smalshop.lv/img/p/765-892-large.jpg</image> <category_full>Mobile phones>>Battery>>HTC</category_full> <category_link>http://www.smalshop.lv/category.php?id_category=10</category_link> </item>......<item> -</root> The Big problems is the folowing! 1) I wanna that the price in xml file shows for example 3.50 not 3.5! 2) I wanna that in the xml file is shown full category in the place where is category, for example Mobile phones>>Batterys>>Nokia 3) I wanna that in the xml file is displayed full category link The places in xml file that shows corect: 1)Section product name <name> 2)Section product link <link> 2)Section product image link <image> What i should change or add in php script that xml file shows what i write on top??? Link to comment Share on other sites More sharing options...
didje3 Posted April 6, 2012 Author Share Posted April 6, 2012 Anybodie can help me?!? Link to comment Share on other sites More sharing options...
Recommended Posts