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 !