Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection($products);
放置一个过滤器并显示有库存的产品,但始终显示可配置的产品 - 即使它们缺货(因为它们总是有库存,但当它们的相关产品结束时 isSaleable 会变为假。)那么我如何应用产品系列上的 IsSaleable 过滤器? (是否可以直接在产品集合上完成而无需遍历集合。
缺货意味着库存已经结束。
最佳答案
这应该为您提供库存中可见的简单产品的目录。
$products = Mage::getModel('catalog/product')->getCollection();
$products->addAttributeToFilter('status', 1); // enabled
$products->addAttributeToFilter('type_id', 'simple');
//$products->addAttributeToFilter('sku', array('1234')); //for testing purposes
$products->addAttributeToSelect('*');
Mage::getSingleton('catalog/product_status')->addSaleableFilterToCollection($products);
Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection($products);
$prodIds = $products->getAllIds();
关于Magento 可销售过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8245778/