2

我试图在最畅销的产品中列出价格最低的产品,但我无法让 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);

我怀疑它与报告/产品集合有关。如果我之后知道如何对产品集合进行分类,我可以这样做,但我也找不到任何好的答案。

任何想法?

4

2 回答 2

1

如果您使用检查 SQL 查询命令

$low_price_products->getSelectSql(true);

您会看到在 SQL 查询中生成了最终价格。因此,最好按价格排序

$low_price_products
    ->getSelect()
    ->order('price_index.final_price', 'asc');
于 2013-09-20T12:30:55.990 回答
0

试试这些..

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

于 2013-09-20T16:50:03.070 回答