1

我正在使用“自定义列表”扩展 (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

4

1 回答 1

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');
于 2017-02-28T10:23:03.183 回答