Ich habe folgenden Code:
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();
}
Ich möchte einen Filter für die Lagermenge hinzufügen, um die Produkte zu filtern. Ich habe versucht:
$products = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect('*');
**->addAttributeToFilter('qty', array("gt" => 0));**
Aber nicht erfolgreich, irgendwelche Ideen?
$coll = Mage::getResourceModel('catalog/product_collection')
und benutze dein Join-Feld undaddAttributeToFilter
. Die Sammlung wird gut geladen. Aber der Filter funktioniert nicht :->addAttributeToFilter('qty', array("gt" => 0))
. Mit Blick auf$coll->getSelect()
, gibt es keinen Hinweis aufqty
dieWHERE
Klausel. Irgendeine Idee warum?EINWEG:
ZWEITER WEG:
quelle
Der 'ERSTE WEG' in der Antwort von @TBI Infotech funktioniert nicht, da die
->getAllIds()
Methode die Bestands-ID und nicht die Produkt-ID zurückgibt. Stattdessen müssen Sie dies hinzufügen.quelle
$stock->getProductId()
?Eleganteste Art:
quelle
Spät ankommende Antwort, musste allerdings etwas an diesem Code arbeiten, also los geht's. Es sind nur wenige Verknüpfungen erforderlich, funktioniert für konfigurierbare und einfache Produkte und wurde nicht gegen Bundles getestet.
quelle