Zadejte hledaný výraz...

Prestashop – jak řešíte aktualizaci a nové produkty v PHP?

zezmen
verified
rating uzivatele
(39 hodnocení)
22. 3. 2018 11:19:20
Ahoj všem,
jak řešíte aktualizaci a nové produkty v php ?
Takto se aktualizují stávající položky, ale i nahrají nové.
Já bych potřeboval, aby se v jedné funkci aktualizovala pouze některá pole a v nahrání nových položek vjiná pole z XML feedu.
define('_PS_ADMIN_DIR_', getcwd());
include(_PS_ADMIN_DIR_.'/../config/config.inc.php');
$xml = simplexml_load_file('http://xyz.cz/zbozi.xml');
foreach ($xml->SHOPITEM as $product_xml)
{
$id_product = (int)Db::getInstance()->getValue('SELECT id_product FROM '._DB_PREFIX_.'product WHERE reference = ''.pSQL($product_xml->KOD).''');
$product = $id_product ? new Product((int)$id_product, true) : new Product();
$product->reference = $product_xml->KOD;
$product->price = (float)$product_xml->CENA_BEZ_DPH;
$product->quantity = $product_xml->DELIVERY_DETAIL;
$product->quantity = $product_xml->DELIVERY_DETAIL;
$product->name= $product_xml->NAME;
$product->description_short = $product_xml->KRATKY_POPIS;
$product->description = $product_xml->DLOUHY_POPIS;
$update = ????? (reference, price, quantity)
$insert = ????? (reference, price, quantity, name, description_short, description)
($id_product ? $update : $insert);
$product->save();
}
---------- Příspěvek doplněn 22.03.2018 v 11:40 ----------
Aktualizace by šla vyřešit např.,
ještě to nahrávání všech ostatních polí při insertu :-D
if ($id_product){
$product->save();
ECHO $update.'
';
}
---------- Příspěvek doplněn 22.03.2018 v 15:53 ----------
Tak ještě jednou.
Kam všude se má nahrát dostupný počet produktů v multishopu ?
Díval jsem se do tabulky ps_stock a ps_stock_available a nejsou tam všechny produkty.
Lze nějak jednoduše chybějící položky dohrát ?
Jde o cca. 10000 položek.
---------- Příspěvek doplněn 22.03.2018 v 18:11 ----------
Vyřešeno !
22. 3. 2018 11:19:20
https://webtrh.cz/diskuse/prestashop-jak-resite-aktualizaci-a-nove-produkty-v-php#reply1336613
Pro odpověď se přihlašte.
Přihlásit