Magento中的分组产品getFinalPrice行为

时间:2012-04-21 05:18:16

标签: magento

如何在Magento中更改分组产品的getFinalPrice行为?我想得到分组产品的最终价格,该产品不使用在结果计算中具有特定属性值的儿童产品

1 个答案:

答案 0 :(得分:1)

如果您在分组产品的价格模型(getFinalPrice())上调用Mage_Catalog_Model_Product_Type_Grouped_Price方法而未提供数量,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()将返回分组产品本身的价格。