【问题标题】:Magento 1.8 - Shipping cost change depending on products in cartMagento 1.8 - 运费根据购物车中的产品而变化
【发布时间】:2017-01-17 09:31:49
【问题描述】:

我知道在在这里提问之前我至少应该尝试一下,但我真的不知道从哪里开始。

我已设置运费,但不希望更改。它们是根据目的地国家/地区计算的。

我想要做的是遵守这些规则,除非购物车仅包含某个类别的商品。无论目的地如何,这都是固定费用:

If CART contains ONLY category_id_916 THEN shipping = 2.99
ELSE follow normal rules

我会在 Magento 的什么地方实现这样的代码?如果这更容易的话,可能是在系统已经计算出运输成本之后,因为我无法想象性能受到太大影响。这样,如果适用,它只会用 2.99 覆盖计算出的成本。

希望这是有道理的

【问题讨论】:

    标签: php magento magento-1.8


    【解决方案1】:

    我假设您使用 Tablerates 进行成本计算。一个好的开始方法是检查Mage_Shipping_Model_Carrier_Tablerate 类。

    collectRates() 功能是您最感兴趣的功能。它包含$request->getAllItems() 来迭代产品和$method->setPrice(...) 来设置运费。因此,您可以针对产品(当然还有它们的类别)和相关的运费创建自己的逻辑。

    PS。请考虑:

    永远不要编辑 magento 核心文件!您可以随时将其覆盖到本地,或者(甚至更好)创建一个扩展其功能的小模块!

    希望我能告诉你从哪里开始挖掘 :)

    【讨论】:

      猜你喜欢
      • 2012-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多