在为我的Magento网站尝试create a best product ranking的过程中,我遇到了另一个障碍。我有3个不同的商店,有不同的产品,所以我尝试在我的查询中添加商店过滤器,所以我的查询看起来像这样:
$productCollection = Mage::getResourceModel('reports/product_collection')
->addAttributeToSelect('*')
->addStoreFilter($storeId)
->addOrderedQty()
->setOrder('ordered_qty', 'desc')
->setPage(1, 10);
问题是,我注意到如果我添加addOrderedQty参数,它会完全忽略addStoreFilter,所以我的排名会返回所有产品,无论它在哪个商店。我试图重新排列我的查询,所以我在商店过滤器之前调用了订购数量但是有了这个,查询完全忽略了订购的数量过滤器,但它只获得商店特定的产品。是否有可能使两个参数一起工作而不忽略1?请帮忙!
答案 0 :(得分: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);
希望这一定会对你有所帮助。