Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Доставка Opencart 3


Recommended Posts

Всем привет. Есть доставка 3 видов с фиксированной стоимостью, и есть бесплатная доставка на сумму свыше 3 т.р. как сделать что бы при сумме свыше 3 тысяч все доставки прятались оставалась только бесплтаная доставка??? помогите пожалуйста

Надіслати
Поділитися на інших сайтах


Если стоит  симпл то в ней есть эти настройки

Надіслати
Поділитися на інших сайтах


53 минуты назад, AWARO сказал:

Если стоит  симпл то в ней есть эти настройки

стоит другой модуль упрошения закза там нет настройки, может есть варианты без модулей решить?

Надіслати
Поділитися на інших сайтах


3 часа назад, Aleks9999 сказал:

стоит другой модуль упрошения закза там нет настройки, может есть варианты без модулей решить?

да естественно без модулей это не проблема

в каждую model модуля доставки дописываете условия для отображения на максимальную сумму (за аналог можете посмотреть как сделано в бесплатной доставке и сделать наоборот)

а вы спросите как?

вот так https://www.php.net/manual/ru/

Надіслати
Поділитися на інших сайтах

всем кому надо, пишу решение. в файле site/catalog//mo/extension/shipping/      допустим надо что бы фиксированая доставка пряталась при сумме свыше 3000 рублей дописываем в файле flat.php 

после строк 

if (!$this->config->get('shipping_flat_geo_zone_id')) {
            $status = true;
        } elseif ($query->num_rows) {
            $status = true;
        } else {
            $status = false;
        }

дописываем 

        if ($this->cart->getTotal() >= 3000) {
            $status = false;
        }

сохраняем, чистим кэш . и все работает. Всем удачи кто помогал :D

Надіслати
Поділитися на інших сайтах


  • 2 weeks later...
В 27.09.2020 в 10:37, Aleks9999 сказал:

всем кому надо, пишу решение. в файле site/catalog//mo/extension/shipping/      допустим надо что бы фиксированая доставка пряталась при сумме свыше 3000 рублей дописываем в файле flat.php 

после строк 

if (!$this->config->get('shipping_flat_geo_zone_id')) {
            $status = true;
        } elseif ($query->num_rows) {
            $status = true;
        } else {
            $status = false;
        }

дописываем 

        if ($this->cart->getTotal() >= 3000) {
            $status = false;
        }

сохраняем, чистим кэш . и все работает. Всем удачи кто помогал :D

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

пример 1 - есть платная доставка и бесплатная, если сумма доставки мелкая то будет показана только платная а бесплатная скрыта и наоборот, с почтовой доставкой тоже самое, там варианты связаны между собой, один скрывает другой) 

Надіслати
Поділитися на інших сайтах

В 26.09.2020 в 16:35, AWARO сказал:

Если стоит  симпл то в ней есть эти настройки

у симпла есть функция доставлять на каждый вариант доставки поля разные, но там вроде как нет функции скрывать варианты доставки в зависимости от суммы заказа.

Надіслати
Поділитися на інших сайтах

а вообще если кому то надо сделать связь то в том же месте код вот такой 

if ($this->cart->getSubTotal() < $this->config->get('shipping_free_total')) {
            $status = false;
        }

Объясняю:после if ($this->cart->getSubTotal() идет значение <=> , меньше в левую сторону, равно и больше в правую сторону. дальше идет зависимость от другого метода доставки, $this->config->get('shipping_free_total')) , у меня фрии это бесплатная доставка, вы можете найти название модулей доставки в папке с языками опенкарта.

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

Если вы хотите чтобы модуль платной доставки скрывался то делаем так - меняем < на >, то есть делаем условие такое - стоимость выше чем , и ставим платную доставку, например она называется free25, значение фалс оставляем, получаем - стоимость выше бесплатной доставки = скрыто, и не забываем дописать равно, чтобы на одной сумме не были вместе активны, пример ниже.

if ($this->cart->getSubTotal() => $this->config->get('shipping_free25_total')) {
            $status = false;
        }

И так по аналогии в каждый вариант доставки, чтобы связать их друг с другом и настроить автоматические варианты доставки, если у вас их много а человеку подходит всего 3-5 штук из 15, то ему не к чему видеть 15 и путаться в них. Кому лень этим заниматься в ручную то вот модуль, там уже связано все.

 

 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.