设置免费送货取决于总购物车价格| prestshop 1.7.7.2



我来找你是因为我实际上正在开发一个模块,允许根据购物车的总量设置免费运费,即使承运人设置在范围重量模型上。

我尝试了很多解决方案,其中第一个是做载波模块:

  • 即使我使用了为CarrierModule设置的函数来计算运费,似乎没有通过该模块制作的承运人没有使用该函数来计算通过该模块的运费。

所以我尝试了另一种方法,通过钩子ActionCartSave:

修改运费
  • 似乎不可能直接从他的模块修改购物车的运费

我现在的实际计划是创建一个交付选项(表miib_delivery),似乎这是用来计算运输成本的,基于价格或重量设置的范围,我已经能够生成我的范围价格和我的交付选项,但由于一个莫名其妙的原因,我的交付选项在计算运输时没有使用。

所以这里是我已经考虑过的解决方案,但在我的情况下是不可能的:

  • 创建一个新的运营商,将免费超过€>它不会链接到初始承运人模块,这对于设置继电器和打印运输标签非常重要

  • 在DB中动态修改运费->这肯定是我最糟糕的主意

以下是最糟糕的解决方案:

  • 覆盖购物车或运营商类->重写是有风险的,而且我使用自定义类在我的模块中生成我的免费运输承运人的对象,所以它可能会在所有(承运人模块等)之间产生冲突。

我不知道该怎么做,如何在PS版本、旧版本和新版本之间最有效、最可扩展。

如果有人已经面临同样的问题,请帮助我,我知道有很多方法可以做到这一点,但我不只是不想做,我不想做得很好。

最后,我重写了getPackageShippingCost函数的Cart类

最新更新