09-09-2016 09:23
1673

msDifferentPricesDelivery

Компонент реализует разную цену для определённой доставки (или нескольких) в зависимости от суммы заказа, так же компонент реализует бесплатную доставку от определенной суммы заказа.

Видео примера работы компонента

Особенности:

  • Поддерживает как и новую версию minishop2 2.4, так и старые версии <= 2.2
  • Поддерживаемые версии php >=5.3, в т.ч. и 7.0

mspPayMasterВам будет интересно:mspPayMaster

Описание работы компонента: К примеру, для доставки "Доставка по городу" можно сделать, если сумма заказа меньше 1000 руб, то стоимость доставки будет 500 руб, при этом, если сумма заказа больше 1000 руб, но меньше 2000 руб, то стоимость доставки будет 300 руб, так же при этом, если сумма заказа будет больше 2000 руб, то стоимость доставки будет бесплатная или любая другая стоимость, таких промежутков можно сделать неограниченно. Либо можно сделать, что при сумме заказа до 1000 руб доставка к примеру 300 руб, а при сумме заказа больше 1000 руб доставка будет бесплатная.

Разные стоимости доставки можно выставлять не только для одного варианта доставки, а хоть для всех, и для каждого из них можно прописать свои зависимости стоимости доставки от суммы заказа, стоит только нужным вариантам доставки выставить класс-обработчик msDifferentPricesDelivery и прописать для их id параметры.

Инструкция: Для того, чтоб использовать разные цены в зависимости от общей суммы в корзине нужно:

  • установить компонент и в настройках вариантов доставки для нужных доставок выставить Класс-обработчик msDifferentPricesDelivery (вместе с компонентом автоматически устанавливается "Доставка по городу", для minishop2 >= 2.4 чтоб она заработала, нужно не забыть выбрать для неё хотя бы один способ оплаты!)
  • Далее нужно зайти в "системные настройки -> minishop2 -> корзина" и прописать для параметра "ms2_cart_dpd_param" "Опции цен доставки в зависимости от общей суммы заказа" опции по следующему шаблону: id_доставки_для_которой_будут_применяться_следующие_условия={Сумма_до_которой_действует_цена:Сама_цена_для_этой_суммы, Сумма_до_которой_действует_цена:Сама_цена_для_этой_суммы, Сумма_до_которой_действует_цена:Сама_цена_для_этой_суммы}; Пример: 1={1000:500,2000:400,3000:300,4000:200,5000:100,6000:0}; 2={500:1500,1000:1000,1500:500,2000:0}; Символы ={:,}; ставятся обязательно, и никаких отступов!

По этому примеру для способа доставки с id 1 (id способа доставки можно посмотреть в настройках minishop2 в вариантах доставки) будут следующие цены:

  • если сумма до 999 руб включительно, то цена доставки будет 500 руб;
  • если сумма начинается с 1000 и до 1999, то цена доставки будет 400 руб;
  • если сумма начинается с 2000 и до 2999, то цена доставки будет 300 руб и т.д.
  • Последнее значение "6000:0" (всегда!) говорит о том, что если сумма будет начинается от прошлой суммы "5000" руб, то если сумма заказа будет начинаться с 5000 руб до 6000 руб и больше, то доставка будет бесплатной, если выставить не 0, а другую цену, то эта цена будет действовать с 5000 руб, до 6000 и больше.
  • Дальше так же, только для способа доставки с id 2.

Пример как сделать бесплатную доставку при сумме заказа от 1000 руб, а до этой суммы стоимость доставки 500 руб: 1={1000:500,2000:0};

Получается, что мы можем создать неограниченное число способов доставки и для тех, для которых нам нужны разные цены в зависимости от общей суммы заказа, мы выставляем Класс-обработчик msDifferentPricesDelivery и в системных настройках для каждого способа доставки (по id) прописываем параметры суммы заказа и стоимости доставки.

Компонент можно приобрести в магазине modstore. Другие мои разработки в магазине modstore.