mscDistance — стоимость доставки по городу /району


mscDistance в магазине Simple Dream

Привет.
Представляю вам компонент расчета стоимости доставки в зависимости от величины пути доставки.

Демо как обычно тут.

Описание компонента

  • Координаты склада — координаты склада в формате `57.987211,56.252048`
  • Город доставки — указать город в пределах которого осуществляется доставка товаров
  • Регион доставки — указать регион в пределах которого осуществляется доставка товаров
  • Улица, дом доставки — улица, дом от которого идет расчет доставки, фактически адрес склада

  • Язык возвращаемых ответов — язык на котором следует возвращать ответ
  • Система измерений — возвращает расстояние в километрах / метрах (метрическая — metric) или в милях / футах (имперская — imperial)

  • Объем товара по умолчанию — объем товара [miniShop2][1] для которого не задан размер
  • Поправочный коэф-т — возможно ввести некую корректировку объема ( объем = объем * коэф-т )

  • Разделитель размера товара — символ разделитель в поле `size` [miniShop2][1]
  • Единицы измерения размера товара — доступны `мм` и `см`

  • Максимальная дистанция на которую осуществляется доставка, указывается в метрах (футах)
  • Максимально допустимый объем доставки
  • Максимально допустимый вес доставки

  • Минимальная плата за доставку, активна при расчете меньшей стоимости доставки
  • Тарифная сетка — указывается в формате json. Например — `{«5»:10,«10»:15,«15»:20}`
Основные настройки
В miniShop2 :: Настройки :: Варианты доставки
  • Активировать вариант доставки
  • Назначить необходимые варианты оплаты

Настройки системы :: miniShop2
  • Класс обработчик заказа — `mscdOrderHandler`
  • Класс обработчик корзины — `mscdCartHandler`
Сниппет msOrderDistance
Практически близнец сниппета [msOrder][2]. Параметры:
* tplOuter — Обёртка для вывода результатов работы сниппета
* tplPayment — Чанк для оформления метода оплаты
* tplDelivery — Чанк для оформления способа доставки
* tplEmpty — Чанк, который выводится при отсутствии результатов
* tplSuccess — Чанк с сообщением об успешной работе сниппета
* front_js — Скрипт фронтенда
* front_css — Скрипт фронтенда
* region_on — Автоподстановка региона доставки ДА/НЕТ
* city_on — Автоподстановка города доставки ДА/НЕТ

Чанк tpl.msOrder.Distance.outer
Стандартный чанк вывода + вывод инфо о доставке + построение карты маршрута

Необходимо:
Для правильного расчета стоимости доставки товара
  • Каждому товару задать размер
  • Каждому товару задать вес
Тарифная сетка — пример расчета

Если не указана тарифная сетка, стоимость доставки = величина пути * Стоимость ед/рст.
Если указана тарифная сетка, например — `{«5»:10,«10»:15,«15»:20}` то расчет стоимости идет следующим образом:
Допустим величина пути = 11км, стоимость доставки = 5 * 10 + 5 * 15 + 1 * 20 = 145 руб.
Володя
12 сентября 2014, 14:37
modx.pro
5
2 883
+6
Поблагодарить автора Отправить деньги

Комментарии: 5

Алексей Ерохин
15 сентября 2014, 13:23
0
Очень хорошее дополнение.
1) Было бы интересно сделать независимо от размера(есть правда стандартный объем) и веса. Например, у моего клиента есть услуга вызова мусоровоза, ассенизатора и прочего. Берет только за дальность. Может быть и вес стандартный тогда сделать?
2) Если есть разделение регион/город, почему бы не сделать доставку по городу бесплатно(или фиксированная сумма). а выезд за город по тарифу?
    Володя
    15 сентября 2014, 13:37
    0
    1) стоимость доставки расчитывается исходя из дальности пути и тарифной сетки. Вес и объем выставляется только как некий ограничитель.
    (возможно в дальнейшем доработаю логику расчета исходя от веса и объема, пока так...)
    2) Насчет разделения региона / города не думал — опять же тут можно отрегулировать тарифной сеткой.
    к примеру взять за город дальность пути не более 15 км, а остальное считать как район.
    и записать ТС в виде `{«15»:0,«25»:20,«45»:25}`
    Павел Левин
    15 сентября 2014, 13:43
    0
    т.к. лички нет, сюда кидаю: prntscr.com/4n0chv
      Володя
      15 сентября 2014, 13:47
      0
      спс. поправил…
      Виталий
      18 сентября 2014, 22:41
      +1
      Разместил дополнение в магазине: store.simpledream.ru/packages/ecommerce/mscdistance.html
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        5