如果订单超过 X 金额,Opencart 如何显示免费送货,否则 X 运费?

Opencart how to show free shipping if order is above X amount otherwise X delivery charges?

我想如果订单超过 x 金额则免费送货,否则需要收取 x 金额。

在免费送货中我已经设置了 X 金额。 在统一费率中,我设置了 X 金额。

但是在前端,如果订单超过 x 数量,那么它会同时显示免费送货和固定费率。

如果订单数量超过 X,我需要什么,然后它只显示免费送货,否则统一费率。

这是一个简单的想法,return 仅当小计金额少于免费送货时才采用统一费率

// catalog/model/shipping/flat.php

替换

 return $method_data;

if ($this->cart->getSubTotal() < $this->config->get('free_total')) {
    return $method_data;
  }

您必须同时启用两个送货扩展程序才能正常运行。请在管理面板中启用免费送货和统一费率模块。

我做到了

转到这些步骤

  1. 转到Extensions
  2. Select Extension type -- Shipping
  3. 安装 Flat RateEnable
  4. 给出您的统一费率 Cost(您要收取的运费)
  5. 再次安装 Free ShippingEnable
  6. 你会发现Total个字段(你要保留的总金额)
  7. 保存
  8. 转到您的项目文件夹/catalog/model/extension/shipping/flat.php
  9. 您将获得return $method_data;
  10. 替换为以下代码:

    if ($this->cart->getSubTotal() < $this->config->get('shipping_free_total')) { return$method_data; }

  11. 检查此 getSubTotal() 函数在您的项目文件夹中是否可用

    system/library/cart/cart.php

它将可用 12. 再次检查此 shipping_free_total 字段名称 再次回到 Free shipping 扩展和 Total 字段 检查并获得 Field Name

我正在使用 3.x,所以我的 Total 字段名称是 shipping_free_total,我不确定,但可能会根据 opencart version 更改此字段名称。

检查一下。你完成了。谢谢。

如果你使用OC 3.0.2版本,你应该... 在文件中://catalog/model/extension/shipping/flat.php 找到:

return $method_data;    

并替换为:

 if ($this->cart->getSubTotal() < $this->config->get('shipping_free_total')) {
    return $method_data;
  } elseif (!$this->config->get('shipping_free_total')) {
        return $method_data;
  }

此修改将在达到免运费方式中设置的购物车总数时禁用统一送货方式。因此必须启用两种运输方式。固定费率送货方式和免费送货方式。 即使您禁用免费送货,统一送货也可以使用。 进行此更改后,在管理仪表板中刷新修改并清除缓存。

此扩展程序 "Display Customized Message" 可以帮助您在几秒钟内轻松显示它。 Link 以下 https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=22785

因此,如果您想显示剩余金额,即可享受免费送货服务。这是最好的扩展之一。因为它自动工作。 也曾经哟