Ich verwende Magento CE 1.9.1.
Ich habe ein Importskript erstellt, um Produkte aus einem XML-Feed eines Anbieters zu importieren.
Dieser Feed wird täglich um 3 Uhr morgens aktualisiert. Mein Professor schickt mir in seiner XML nur Produkte, die in seinem Shop auf Lager sind.
Wie kann ich mein Produktbestandsstatut auf "Nicht vorrätig" (nach Produkt-Sku) aktualisieren, wenn das Produkt-Sku nicht im XML-Feed vorhanden ist?
Ich habe ein Beispiel gegeben, um zu erklären, was ich will, Daten in der XML bereitgestellt:
Monday : Tuesday :
Sku qty Sku qty
ABC 22 ABC 12
BDE 30 FGH 4
FGH 15
Was ich tun muss: Dienstag muss ich mein Produkt BDE programmgesteuert auf "nicht vorrätig" setzen, da es nicht in der XML erscheint.
Es gibt mein Importskript:
$file = 'feed.xml';
$feed = simplexml_load_file($file);
foreach($feed as $product){
//some datas in xml feed
$sku = $product->identifiant_unique;
$prix = $product->prix;
$titre = $product->categorie3;
$quantiteStock = $product->quantiteStock;
$poid = $product->poids_net;
//Setters
$produit = Mage::getModel('catalog/product');
$produit->setName($titre.' '.$sku);
$produit->setSku($sku);
$produit->setWeight($poid);
$produit->setAttributeSetId(4);
$produit->setDescription($titre.' '.$sku);
$produit->setShortDescription($titre.' '.$sku);
$produit->setTypeId($product['type_id'])->setWebsiteIds(array(1))->setStatus(Mage_Catalog_Model_Product_Status::STATUS_ENABLED)->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH);
$produit->setPrice($prix);
$produit->setIsMassupdate(true);
$produit->setExcludeUrlRewrite(true);
$produit->save();
// For Inventory Management
$stockItem = Mage::getModel('cataloginventory/stock_item');
$stockItem->assignProduct($produit);
$stockItem->setData('is_in_stock', 1);
$stockItem->setData('stock_id', 1);
$stockItem->setData('store_id', 1);
$stockItem->setData('manage_stock', 1);
$stockItem->setData('use_config_manage_stock', 0);
$stockItem->setData('min_sale_qty', 1);
$stockItem->setData('use_config_min_sale_qty', 0);
$stockItem->setData('max_sale_qty', 1000);
$stockItem->setData('use_config_max_sale_qty', 0);
$stockItem->setData('qty', $quantiteStock);
$stockItem->save();
}
Vielen Dank