J'ai le code suivant:
umask(0);
Mage::app();
$category =new Mage_Catalog_Model_Category();
$category->load($cid);
if ($status == "2") {
$products = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect('*')
->addFieldToFilter('status',Mage_Catalog_Model_Product_Status::STATUS_DISABLED);
$products->load();
}
if ($status == "1") {
$products = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect('*');
$products->load();
}
Je souhaite ajouter un filtre de stock pour filtrer les produits, j'ai essayé:
$products = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect('*');
**->addAttributeToFilter('qty', array("gt" => 0));**
Mais pas réussi, des idées?
$coll = Mage::getResourceModel('catalog/product_collection')
et utilise votre champ de jointure etaddAttributeToFilter
. La collection se charge très bien. Mais le filtre ne fonctionne pas:->addAttributeToFilter('qty', array("gt" => 0))
. En regardant$coll->getSelect()
, il n'y a aucune référence àqty
l'WHERE
article. Une idée pourquoi?UNE MANIÈRE:
DEUXIÈME VOIE:
la source
La «PREMIÈRE FAÇON» dans la réponse de @TBI Infotech ne fonctionnera pas, car la
->getAllIds()
méthode renvoie l'ID du stock, pas l'ID du produit. Au lieu de cela, vous devez ajouter ceci;la source
$stock->getProductId()
?La manière la plus élégante:
la source
Réponse tardive, j'avais cependant besoin de travailler sur ce code, alors allez-y. Il ne prend que quelques jointures, fonctionne pour des produits configurables et simples, n'a pas été testé par rapport aux bundles.
la source