我正在尝试从主页上显示的类别中获取前4个产品。除了将产品拔出库存的产品外,我的一切都按照我想要的方式运行。

我试过了 addAttributeToFilter('is_in_stock', 1)isSaleable() 但是那些没有起作用。

$collection = Mage::getModel('catalog/category')->
                    load('33')->
                    getProductCollection()->
                    addAttributeToFilter('status', 1)->
                    addAttributeToSelect('*')->
                    addAttributeToSort('position')->
                    setPageSize(4);
有帮助吗?

解决方案

您必须通过单独的方法传递该系列

Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection($collection);

但是,也许您会通过使用页面CMS中的XML布局来使用常规list.phtml(包括它)。这样,您就不需要编写任何代码。下面的片段应起作用

<block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">
   <action method="setCategoryId"><category_id>30</category_id></action>
   <action method="setLimit"><value>4</value></action>
</block>
许可以下: CC-BY-SA归因
scroll top