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…
... /*** * 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 !