在Magento 1.7中显示具有自定义列表扩展的库存产品列表

时间:2012-12-18 10:08:47

标签: php magento

我正在使用“自定义列表”扩展程序(github.com/openstream/CustomListing/),它允许创建CMS页面,如所有特价商品价格产品列表,畅销产品列表等等。

但它不能做我需要做的事情。 我需要列出所有库存产品。这是我的php请求:

if (is_null($this->_productCollection)) {
        $this->_productCollection = Mage::getResourceModel('reports/product_collection');
        $this->_productCollection->joinField('inventory_in_stock', 'cataloginventory_stock_item', 'is_in_stock', 'product_id=entity_id','is_in_stock>=1', 'left')
            ->addAttributeToSelect('*')
            ->addStoreFilter();
    }
    return $this->_productCollection;

此请求有效,但结果错误。 它显示所有产品,所有库存和所有缺货产品。 有人知道我的请求有什么问题吗? 谢谢你的帮助 ! 我的magento版本是:Community Edition 1.7.0.2

1 个答案:

答案 0 :(得分:0)

以下代码段会向您返回状态为'启用'的类别的产品。 ,可见性'目录,搜索'和库存可用性'有货'。

$productDetails = Mage::getModel('catalog/category')->load($cat_id)
                  ->getProductCollection()
                  ->addAttributeToSelect('*');

$productDetails->addAttributeToFilter('visibility', array('in' => array(4) )); 
$productDetails->addAttributeToFilter('status', array('in' => array(1) )); 
$productDetails->joinField('is_in_stock',
                            'cataloginventory/stock_item',
                            'is_in_stock',
                            'product_id=entity_id',
                            'is_in_stock=1',
                            '{{table}}.stock_id=1',
                            'left');