Magento - 哪种类型的价格适用新的折扣?

时间:2011-04-12 09:23:21

标签: php magento

我正在撰写Magento扩展程序,根据每小时的时间表对产品应用新的折扣。在所有其他折扣(等级价格,特价等)应用后,我希望折扣适用于最终价格。

Product对象的哪个属性保存最终价格?它是getFinalPrice()吗? getCalculatedFinalPrice()?别的什么?

注意:为了我的目的,我想到了“捎带”目录价格规则,但我意识到这不起作用,因为这些工作按日程安排,我需要按小时计划。

1 个答案:

答案 0 :(得分:2)

getFinalPrice()是用户在购物车中看到的价格。如果已在产品型号上明确设置,则将返回该值。否则返回产品价格模型方法getFinalPrice()的结果。

价格模型将检查产品是否设置了calculated_final_price属性。如果没有,它将应用等级定价然后特殊定价,然后设置产品的最终价格。然后它将发送一个事件,让您有机会更改最终价格。最后,它将在产品上应用自定义选项的任何价格。

执行您尝试执行的操作的最佳方式可能是挂钩catalog_product_get_final_price事件,并根据当时的小时设置产品的最终价格。因此,在您的配置中,为catalog_product_get_final_price事件设置事件处理程序。您的观察者可以访问$ this-> getProduct()和$ this-> getQty(),您可以在其中更新价格。