Magento API : Sélectionner des produits par n'importe quel attribut, même custom.
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();
}
}
...






