2012-04-21 5 views
1

Magentoでグループ化された製品のgetFinalPrice動作を変更するにはどうすればよいですか?私はあなたが数量を供給せずにグループ化された製品の価格モデル(Mage_Catalog_Model_Product_Type_Grouped_Price)にgetFinalPrice()メソッドを呼び出した場合、getFinalPrice()は以前に戻りますMagentoでグループ化されたgetFinalPriceの動作

答えて

1

結果の計算に子供たちに特定の属性値を持つ製品を使用していないグループ化された製品の最終価格を取得したいです製品の最終的な価格を計算します。すなわち

return $product->getCalculatedFinalPrice(); 

getCalculatedFinalPrice()方法は、基本的に魔法ゲッター単なるラッパーです....

return $this->_getData('calculated_final_price'); 

対応setCalculatedFinalPriceコールが_addFinalPrice()方法では、製品のコレクションクラス(Mage_Catalog_Model_Resource_Product_Collection)に発見されました。

メソッドの実装を掘り下げると、製品の独自の価格モデルでcalculatePrice()メソッドを使用することができます。 Mage_Catalog_Model_Product_Type_Grouped_Priceはこのメソッドの実装を提供しないため、親のバージョンMage_Catalog_Model_Product_Type_Priceが使用されます。基本的には、これは、基本価格/空間価格、価格規則などを扱うためのロジックをすべてカプセル化します。

これは、数量、オプションなどが指定されていないと、グループ化された製品に対してgetFinalPrice()を呼び出すと価格グループ化された製品自体の

+0

getFinalPrice()に量やオプションが渡されない場合、カタログ価格やショッピングカートのルールを考慮していますか? –

+0

それはそうであるように見えます。私はそれを実際に試して確認していませんが、特別価格、階層価格、カタログルールのサポートがあるようです。オプションを選択せず​​にグループ化された製品の価格を取得しようとしているときは、ショッピングカートのルールはおそらく適用されません。 –

関連する問題