Magento 1.8 - 运费变化取决于购物车中的产品

时间:2016-09-09 09:17:52

标签: php magento magento-1.8

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

我已设定运费,并且不希望这些更改。它们是根据目的地国家计算的。

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

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

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

希望有意义

1 个答案:

答案 0 :(得分:0)

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

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

PS。请考虑一下:

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

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