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();
	}

}

...