Jump to content
php.lv forumi

Prestashop produktu xml exports uz salidzini.lv


didje3

Recommended Posts

Sveiki.

Internētā atradu php skriptu xml produktu exportam!

Skripts šāds:

<?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 "<link><![CDATA[".htmlspecialchars($link->getproductLink($product['id_product'], $product['link_rewrite'], Tools::getValue('id_category'))).$affiliate."]]></link>\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</image>\n";
 echo "<category_full><![CDATA[".$name_category."]]></category_full>\n";
           	echo "<category_link><![CDATA[".htmlspecialchars($link->getcategoryLink($category['id_category'], $category['link_rewrite'], Tools::getValue('id_category'))).$affiliate."]]></category_link>\n";
 echo "<marque><![CDATA[".$product['manufacturer_name']."]]></marque>\n";
 echo "<reference><![CDATA[".$product['id_product']."]]></reference>\n";
 echo "</item>\n";
}
}
?>
</root>

 

Taču vajadzētu, pielabot vai pievienot trūkstošo, taču nezinu, kas nepieciešams, lai XML būtu šāds:

-<root>

<item>

<name>Akumulators HTC Smart 1450mAh</name>

<link>http://www.slapa.lv/product.php?id_product=765</link>

<price>6.30</price>

<image>http://www.lapa.lv/img/p/765-892-large.jpg</image>

<category_full>Telefonu aksesuāri>>Akumulatori>>HTC</category_full>

<category_link>http://www.lapa.lv/category.php?id_category=40</category_link>

</item>

<item>

 

Skripts preces nosaukumu, produkta linku un bildes linku uzrāda kā vajag, tur nav problēmu, cenu arī, bet tikai bez nulles galā, vajadzētu, piem., 3.50, bet rāda 3.5. Kas jāpalabo, jāpievienu skriptā, lai kategorijas nosaukuma vietā būtu pilns kategorijas nosaukums un pilnās kategorijas links kā arī cena būtu ar nulli galā??

Edited by didje3
Link to comment
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...