0

在尝试为我的 Magento 网站创建最佳产品排名的过程中,我遇到了另一个障碍。我有 3 家不同的商店,有不同的产品,所以我尝试在查询中添加商店过滤器,所以我的查询如下所示:

$productCollection = Mage::getResourceModel('reports/product_collection')
        ->addAttributeToSelect('*')
        ->addStoreFilter($storeId)
        ->addOrderedQty()
        ->setOrder('ordered_qty', 'desc')
        ->setPage(1, 10);

问题是,我注意到如果我添加 addOrderedQty 参数,它会完全忽略 addStoreFilter 所以我的排名会返回所有产品,无论它在哪个商店。我试图重新排列我的查询,所以我在商店过滤器之前调用订购数量但是这样,该查询完全忽略了订购数量过滤器,但它确实只获取了商店特定的产品。是否可以使两个参数一起工作而不忽略任何一个1?请帮忙!

4

1 回答 1

1

尝试这个

$store = Mage::app()->getStore();

$products = Mage::getResourceModel('reports/product_collection')
            ->addAttributeToSelect('*')
            ->addAttributeToFilter("status", Mage_Catalog_Model_Product_Status::STATUS_ENABLED)     
            ->setPageSize(9)
            ->setCurPage(1) 
            ->addOrderedQty()
            ->setOrder("ordered_qty", "desc")
            ->setStore($store)
            ->addStoreFilter($store);

希望这对你有帮助。

于 2013-09-06T06:32:37.003 回答