1

Magento でグループ化された製品の getFinalPrice の動作を変更するにはどうすればよいですか? 結果計算で特定の属性値を持つ子製品を使用していないグループ化された製品の最終価格を取得したい

4

1 に答える 1

1

数量を指定せずにgetFinalPrice()グループ化された商品の価格モデル ( )でメソッドを呼び出すと、以前に計算された商品の最終価格が返されます。すなわちMage_Catalog_Model_Product_Type_Grouped_PricegetFinalPrice()

return $product->getCalculatedFinalPrice();

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

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

対応するsetCalculatedFinalPrice呼び出しは、メソッド内の製品コレクション クラス ( Mage_Catalog_Model_Resource_Product_Collection) にあり_addFinalPrice()ます。

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

これは、数量、オプションなどが指定されていない場合、グループ化された製品を呼び出すgetFinalPrice()と、グループ化された製品自体の価格が返されるという結論につながります。

于 2012-10-24T01:52:36.023 に答える