Opencart, как показать бесплатную доставку, если заказ превышает сумму X, иначе стоимость доставки X?

Я хотел бы, чтобы если заказ превышает сумму x, то бесплатная доставка, в противном случае необходимо взимать сумму x.

В бесплатной доставке я уже установил сумму X. В фиксированной ставке я устанавливаю сумму X.

Но во внешнем интерфейсе, если заказ превышает сумму x, он отображает как бесплатную доставку, так и фиксированную ставку.

Что мне нужно, если заказ превышает сумму X, тогда отображается только бесплатная доставка, в противном случае фиксированная ставка.


person test    schedule 05.05.2015    source источник


Ответы (5)


Вот простая идея: возвращайте фиксированную ставку только в том случае, если промежуточная сумма меньше, чем бесплатная доставка.

// catalog/model/shipping/flat.php

заменять

 return $method_data;

с

if ($this->cart->getSubTotal() < $this->config->get('free_total')) {
    return $method_data;
  }
person Ramesh    schedule 05.05.2015
comment
Здравствуйте, я пытался сделать это на своем opencart, но всякий раз, когда я проверяю, появляется предупреждение, например: выбор платы за доставку не производится и так далее. Пожалуйста помоги. - person Reu Roo; 13.06.2016

Если вы используете версию 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;
  }

Эта модификация отключит метод фиксированной доставки, когда будет достигнута общая сумма корзины, установленная в методе бесплатной доставки. Таким образом, должны быть включены два способа доставки. Способ доставки с фиксированной ставкой и способ бесплатной доставки. Фиксированная доставка будет работать, даже если вы отключите бесплатную доставку. После внесения этих изменений обновите изменения и очистите кеш в панели администратора.

person K. B.    schedule 17.10.2018

Вы должны включить оба расширения доставки, чтобы работать без ошибок. Пожалуйста, включите модули Free Shipping и Flat Rate в панели администратора.

person Vellan Subrumaniam    schedule 18.07.2016
comment
Где мы могли найти такую ​​информацию? Есть ли какая-то обширная документация по этому поводу? - person J. Chomel; 18.07.2016

я сделал это

Перейти к этим шагам

  1. Перейти к Extensions
  2. Выберите Extension type -- Shipping
  3. Установите Flat Rate и Enable его
  4. Укажите ФИКСИРУЮЩУЮ ставку Cost (стоимость, которую вы хотите взимать за доставку)
  5. Снова установите Free Shipping и Enable его
  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() в папке вашего проекта.

    система/библиотека/корзина/cart.php

Он будет доступен 12. Еще раз проверьте это имя поля shipping_free_total, вернувшись снова к расширению Free shipping и в поле Total Проверьте и получите Field Name

Я использую 3.x, поэтому мое имя поля Totalshipping_free_total, я не уверен, но это имя может быть изменено в соответствии с opencart version.

Проверь это. Вы сделали. Спасибо.

person Y. Joy Ch. Singha    schedule 17.10.2018
comment
Оба работают нормально, но я столкнулся с проблемой непроверенной кнопки, когда доступна бесплатная доставка. Получение ошибки Предупреждение: варианты доставки недоступны. Пожалуйста, свяжитесь с нами для получения помощи! Любые решения? - person think_user; 03.09.2020

Это расширение "Отображать персонализированное сообщение" поможет вам легко отобразить его за считанные секунды. Ссылка ниже https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=22785

Так что, если вы хотите показать сумму, оставшуюся для получения права на бесплатную доставку. Это одно из лучших расширений для этого. Так как это работает автоматически. Также однажды лет

person Cart Binder    schedule 01.07.2019