【问题标题】:Magento - Which type of Price to apply a new discount to?Magento - 对哪种类型的价格应用新的折扣?
【发布时间】:2011-04-12 09:23:20
【问题描述】:

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

Product 对象的哪个属性持有这个最终价格?是 getFinalPrice() 吗?得到计算的最终价格()?还有什么?

注意:我曾为我的目的考虑过“捎带”目录价格规则,但我意识到这行不通,因为这些都是每天安排的,我需要每小时安排一次。

【问题讨论】:

    标签: php magento


    【解决方案1】:

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

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

    做你想做的事情的最佳方法可能是挂钩到 catalog_product_get_final_price 事件并根据当时的小时设置产品的最终价格。因此,在您的配置中,为 catalog_product_get_final_price 事件设置一个事件处理程序。您的观察者可以访问 $this->getProduct() 和 $this->getQty() ,您可以在其中更新价格。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-16
      • 2023-03-31
      • 2013-03-25
      • 1970-01-01
      • 1970-01-01
      • 2014-12-15
      • 2023-03-18
      相关资源
      最近更新 更多