根据洋红色中的最终价格获取集合中产品的最高和最低价格


get maximum and minimum price of products in a collection based on final price in magento

我需要找到产品的最低和最高价格,以便我可以使用它来设置价格过滤器的范围。我在 Catalog/Model/Layer/Filter/Price.php中使用了 getMaxPriceInt(( 和 getMinPriceInt(( 方法。但是,返回的值基于"min_price"字段。

如何根据final_price找出产品系列中产品的最低和最高价格?也就是说,如果集合中有 4 个产品(我只列出需要的字段(

prodid   min_price  final_price
3         5200       5900
44        8347       8900
54        4536       5765
12        7436       7500

getmaxpriceint(( 和 getminpriceint(( 分别返回 8347 和 4536

我的结果应该分别是 8900 和 5765。是否可以对Price中的现有方法进行一些更改.php以实现它,或者是否有其他选择?

我不想在产品周围循环并得到最终价格的数组和排序,因为我觉得这不是优化的方法。我也不想使用 setOrder(( 然后获取最小和最高价格,因为它会影响集合的排序顺序。

一般来说,您能否在 magento 中直接从产品集合中获取字段的最大值和最小值的最佳方法是什么。

您可以使用此扩展。我想我可能会有所帮助。http://www.magentocommerce.com/magento-connect/custom-price-ranges.html

$maxPrice = $this->getMaxPriceInt((;

$minPrice = $this->getMinPriceInt((;