【问题标题】:get maximum and minimum price of products in a collection based on final price in magento根据magento中的最终价格获取集合中产品的最高和最低价格
【发布时间】:2013-09-29 17:25:04
【问题描述】:

我需要找到产品的最低和最高价格,以便我可以使用它来设置价格过滤器的范围。我在 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中直接从产品集合中获取字段的最大值和最小值的最佳方法是什么。

【问题讨论】:

    标签: php magento


    【解决方案1】:

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

    【讨论】:

    • 谢谢,这是一个很酷的扩展。我已经通过修改上述方法中的查询解决了这个问题。
    【解决方案2】:

    $maxPrice = $this->getMaxPriceInt();

    $minPrice = $this->getMinPriceInt();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-26
      • 2015-11-05
      • 2017-12-05
      • 1970-01-01
      • 2019-06-13
      相关资源
      最近更新 更多