Magento中的分组产品getFinalPrice行为

Magento中的分组产品getFinalPrice行为,magento,Magento,如何更改Magento中分组产品的getFinalPrice行为?如果在分组产品的价格模型(Mage\u Catalog\u model\u product\u Type\u grouped\u price)上调用getFinalPrice()方法,而不提供数量,getFinalPrice(),我想获得分组产品的最终价格,这些产品在结果计算中不使用具有特定属性值的子产品将返回先前计算的产品最终价格。i、 e return $product->getCalculatedFinalPrice(

如何更改Magento中分组产品的getFinalPrice行为?如果在分组产品的价格模型(
Mage\u Catalog\u model\u product\u Type\u grouped\u price
)上调用
getFinalPrice()
方法,而不提供数量,
getFinalPrice(),我想获得分组产品的最终价格,这些产品在结果计算中不使用具有特定属性值的子产品
将返回先前计算的产品最终价格。i、 e

return $product->getCalculatedFinalPrice();
getCalculatedFinalPrice()
方法本质上只是神奇的getter的包装

return $this->_getData('calculated_final_price');
在产品集合类(
Mage\u Catalog\u Model\u Resource\u product\u collection
)的
\u addFinalPrice()
方法中可以找到相应的
setCalculatedFinalPrice
调用

当您深入研究该方法的实现时,您会发现它遵循产品自身价格模型中的
calculatePrice()
方法。由于
Mage\u Catalog\u Model\u Product\u Type\u Grouped\u Price
未提供此方法的实现,因此使用父
Mage\u Catalog\u Model\u Product\u Type\u Price
中的版本。基本上,这封装了处理基价/空间价、价格规则等的所有逻辑


这导致了这样的结论:在没有指定任何数量、选项等的情况下,对分组产品调用
getFinalPrice()
将返回分组产品本身的价格。

如果对分组产品的价格模型调用
getFinalPrice()
方法(
Mage\u Catalog\u model\u product\u Type\u grouped\u price
)在不提供数量的情况下,
getFinalPrice()
将返回先前计算的产品最终价格。i、 e

return $product->getCalculatedFinalPrice();
getCalculatedFinalPrice()
方法本质上只是神奇的getter的包装

return $this->_getData('calculated_final_price');
在产品集合类(
Mage\u Catalog\u Model\u Resource\u product\u collection
)的
\u addFinalPrice()
方法中可以找到相应的
setCalculatedFinalPrice
调用

当您深入研究该方法的实现时,您会发现它遵循产品自身价格模型中的
calculatePrice()
方法。由于
Mage\u Catalog\u Model\u Product\u Type\u Grouped\u Price
未提供此方法的实现,因此使用父
Mage\u Catalog\u Model\u Product\u Type\u Price
中的版本。基本上,这封装了处理基价/空间价、价格规则等的所有逻辑


从而得出结论,在没有指定任何数量、选项等的情况下,对分组产品调用
getFinalPrice()
将返回分组产品本身的价格。

如果没有数量或选项传递给getFinalPrice(),它是否考虑了目录价格或购物车规则?看起来是这样的。我还没有通过真正的尝试来证实这一点,但似乎有人支持特殊价格、分层价格和目录规则。当您只是尝试获取分组产品的价格而未选择任何选项时,购物车规则可能不适用。在没有数量或选项传递给getFinalPrice()的情况下,它是否考虑了目录价格或购物车规则?看起来是这样的。我还没有通过真正的尝试来证实这一点,但似乎有人支持特殊价格、分层价格和目录规则。当你只是想在没有选择任何选项的情况下获取分组产品的价格时,购物车规则可能不适用。