我知道在问这里之前我至少应该尝试一些问题,但我真的不知道从哪里开始。
我已设定运费,并且不希望这些更改。它们是根据目的地国家计算的。
我想要做的是遵守这些规则,除非购物车仅包含特定类别的商品。无论目的地如何,这都是固定成本:
If CART contains ONLY category_id_916 THEN shipping = 2.99
ELSE follow normal rules
我想在Magento内部实现这样的代码吗?可能是在系统已经计算出运费之后,如果这更容易,因为我无法想象性能受到太大影响。这样,如果适用的话,它只会用2.99覆盖计算的成本。
希望有意义
答案 0 :(得分:0)
我假设您正在使用Tablerates进行成本计算。一个好的开始方法是检查Mage_Shipping_Model_Carrier_Tablerate
类。
collectRates()
函数是您最感兴趣的函数。它包含$request->getAllItems()
来迭代产品,$method->setPrice(...)
来设置运费。因此,您可以创建自己的产品逻辑(当然还有他们的类别)和相关的运费。
PS。请考虑一下:
永远不要编辑magento核心文件!您始终可以将其覆盖到本地或(甚至更好)创建一个扩展其功能的小模块!
希望我能告诉你从哪里开始挖掘:)