Il est très simple dans magento de charger via son API une collection de produits, en basant notre recherche sur la valeur d’un des attributs.
Voici le code :
Cas concret de cet exemple, j’ai un attribut fournisseur, et je souhaite remettre à zéro les stock de tous ses produits. Je souhaite aussi les rendre invisible…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
... /*** * Mage Custom Webservice * Created by Eric Wallet * @Date : 20/05/2010 */ require 'app/Mage.php'; $app = Mage::app('default'); $fournisseur = "montest"; // Sélection de la collection de produits $collection = Mage::getModel('catalog/product')->getCollection(); Mage::getModel('catalog/layer')->prepareProductCollection($collection); $collection->addAttributeToSelect ("*"); $collection->addAttributeToFilter( 'fournisseur' , array('like' => $fournisseur) ); foreach ($collection as $product) { $_product = new Mage_Catalog_Model_Product(); $_product->load($product->getId()); // Set products not available $_product->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_NOT_VISIBLE); $_product->setStatus(0); $_product->setStockData(array( 'is_in_stock' => 0, 'qty' => 0 )); try { $_product->save(); } catch (Exception $ex) { echo ("Exception : ".$ex->getMessage()); die(); } } ... |
Foarte frumos Andreea , felicitari !