0

製品の最低価格と最高価格を見つけて、それを使用して価格フィルターの範囲を設定できるようにする必要があります。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 での最良の方法を教えてください。

4

2 に答える 2

-1

この拡張機能を使用できます。お役に立てればと思います。 http://www.magentocommerce.com/magento-connect/custom-price-ranges.html

于 2014-03-21T10:23:10.333 に答える
-3

$maxPrice = $this->getMaxPriceInt();

$minPrice = $this->getMinPriceInt();

于 2015-01-30T14:41:49.277 に答える