Бесплатная доставка курьером от определенной суммы
Здравствуйте. Пожалуйста, подскажите как реализовать данный функционал:
например, до 5000 тысяч доставка 300 рублей, от 5000 тысяч – бесплатно?
joxi.ru/zAN5Mxls156329
например, до 5000 тысяч доставка 300 рублей, от 5000 тысяч – бесплатно?
joxi.ru/zAN5Mxls156329
Комментарии: 27
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
1) Идем в core/components/minishop2/custom/delivery/ и создаем здесь свой пхп файл (допустим, mscustomdeliveryhandler.class.php) со следующим содержимым:
2) Идем в настройки магазина -> Варианты доставки.
Создаем новый вариант «Доставка» (или редактируем исходный), после чего заполняем в «дополнительную стоимость» требуемое значение (300 рублей), в Класс-обработчик пишем название созданного файла — mscustomdeliveryhandler, заполняем доступные способы оплаты и ставим галочку напротив «включен».
Я добавил снипет при выводе цены доставки (снипет сверяет данные и если больше то выдает 0), и стало вроде работать, но если мы через AJAX удаляем товары из корзины, то цена доставки не меняется AJAX'ом, не подскажете как это реализовать?
Только вчера сделал pull request в доку, Василий еще не проверил его.
Может быть подойдет пример без доработок.
Судите сами:
1. клас обработчика Вы предлагаете создать в каталоге "/core/components/minishop2custom";
2. А вот регистрируете уже совсем по другому адресу "{core_path}components/minishop2/custom/msDeliveryHandlerMsk.class.php";
Или я не прав?
Даже исправление уже есть github.com/bezumkin/Docs/commit/f4ced34c259317da649bafef39f550c0b4d6872c
Во первых нужно удалить ранее зарегистрированные сервисы:
Создаем файл в core/components/minishop2/custom/delivery/msdeliverycourierhandler.class.php
Регистрируем:
Удалять надо не только в Console, но и про файл в core/components/minishop2/custom/delivery не забываем :))
Попробуйте заменить на:
У меня 500-я ошибка была именно из-за того, что он не мог достучаться до msdeliveryhandler.class.php
У меня немного сложнее задача:
Если сумма до 1,000 доставка = 350 рублей
Если сумма больше 1,000 доставка = 250 рублей
Если сумма больше 5,000 доставка = 0 рублей
Спасибо!
В вашем случае достаточно свитчить $cart['total_cost'] и, в зависисимости от требуемых условий, приплюсовывать к $cost нужную сумму.
Вопрос, получается что в настройках в админке (http://joxi.ru/8AndjoeUqloOVm) он вообще игнорирует, если мы собственным классом все указали?
А вообще, зависит от того, на каком этапе формирования цены вклиниться.
2) Зарегистрировать созданный класс (инструкция)
3) Указать в нужных методах доставки созданный класс
переписал класс так, но не работает: