2012-04-21 105 views

回答

1

如果你調用一個組合產品的價格模型(Mage_Catalog_Model_Product_Type_Grouped_Price)的getFinalPrice()方法無須提供量,getFinalPrice()將返回先前分組產品計算產品的最終價格。即

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()將返回價格的分組產品本身。

+0

如果沒有數量或選項傳遞給getFinalPrice(),是否考慮到目錄價格或購物車規則? – 2012-10-24 01:58:42

+0

它看起來像它一樣。我還沒有通過真正的嘗試來證實,但似乎支持特殊價格,層級價格和目錄規則。購物車規則可能不適用,當您試圖讓他爲沒有選擇任何選項的分組產品定價時。 – 2012-10-25 22:56:26