Magento:在final_price上对product_collection进行排序

时间:2013-09-20 11:45:47

标签: magento magento-1.7

我试图在最畅销的产品中列出价格最低的产品,但我不能让Magento按最终价格排序。

这是我的代码:

$low_price_products = Mage::getResourceModel('reports/product_collection')
   ->setStoreId($storeId)
   ->addStoreFilter($storeId)
   ->addAttributeToSelect('*')
   ->addOrderedQty($this->date_from, $this->date_to)
   ->addFinalPrice()
   ->addAttributeToFilter('visibility', $visibility)
   ->addFieldToFilter('sku',array("in"=>$sku_array))
   ->setOrder('final_price', 'asc')
   ->setPageSize($productCount);

我怀疑它与reports / product_collection有关。如果我知道如何对产品系列进行分类,那么我可以做到这一点,但我也找不到任何好的答案。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

如果使用

检查SQL查询命令
$low_price_products->getSelectSql(true);

您将看到在SQL查询中生成最终价格。 因此,如果按价格进行排序

会更好
$low_price_products
    ->getSelect()
    ->order('price_index.final_price', 'asc');

答案 1 :(得分:0)

试试这些..

->addAttributeToSort('final_price', 'asc')