【问题标题】:Magento - Create a minimum shipping chargeMagento - 创建最低运费
【发布时间】:2011-04-21 12:08:29
【问题描述】:

我们使用 USPS API 进行国际运输。 API 返回运费,我们会添加 % 手续费。我们希望设置最低费用,例如,如果运费 + 手续费低于 5 美元,我们希望将运费设置为 ​​5 美元。这需要编写一个完整的运输模块还是只修改 USPS 模块?

【问题讨论】:

    标签: php model-view-controller oop magento


    【解决方案1】:

    您可以通过仅覆盖 USPS 模块的一部分来实现此目的。应用处理的方法在Mage_Shipping_Model_Carrier_Abstract:

    public function getFinalPriceWithHandlingFee($cost) 
    

    要为美国覆盖此方法,请在 Mage_Usa_Model_Shipping_Carrier_Usps 上创建一个新模型覆盖(请参阅其他地方了解如何设置此覆盖):

    class Namespace_Module_Model_Shipping_Carrier_Usps extends Mage_Usa_Model_Shipping_Carrier_Usps {
    
        function getFinalPriceWithHandlingFee($cost) {
            $parentValue = parent::getFinalPriceWithHandlingFee($cost);
            return max($parentValue,5);
        }
    }
    

    这将为运费实施“下限”。请记住,在某些情况下,这可能会导致用户注意到奇怪的结果。举个例子:

    • 头等舱 - 5.00 美元
    • 媒体邮件 - 5.00 美元
    • 优先邮件 - 5.33 美元

    保持光明正大,让他们知道你正在这样做。

    希望有帮助!

    谢谢, 乔

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-20
      • 1970-01-01
      • 1970-01-01
      • 2013-06-05
      • 1970-01-01
      • 2015-09-12
      • 2015-12-20
      相关资源
      最近更新 更多