[msShiptor] — расчет стоимости доставки «Shiptor»


msShiptor — расчет стоимости доставки, с учетом веса, габаритов и стоимости продуктов для перевозок
агрегатором служб доставки «Shiptor»

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

  • работа только с новым miniShop2 (version =>2.4.0-beta2)
  • сниппет локации города доставки
  • сниппет расчета стоимости корзины
  • сниппет расчета стоимости продукта

Демо: msshiptor.vgrish.ru


Типы доставки:


  • от адреса до терминала
  • от терминала до терминала
  • от терминала до адреса
  • от терминала до почтового отделения
  • от адреса до адреса
Установка:


После установки компонента доступны 3 метода доставки.


  • Самовывоз
  • Почта
  • Курьер


Включите необходимые вам методы.


msShiptor.Settlement — точки доставки
Сниппет msShiptor.Settlement — для выбора населенного пункта доставки. По умолчанию активен населенный пунк — Москва.
Можно вывести модалку/ поповер с выбором населенного пункта. Список стран доставки регулируется настройкой
delivery_country, по умолчанию RU,KZ,BY,AM


модальное окно с выбором населенного пункта

[[!msShiptor.Settlement?
	&tpl=`msShiptor.Settlement.modal`
	]]
Результат:

[[!msShiptor.Settlement?
&tpl=`msShiptor.Settlement.modal`
]]

поповер с выбором населенного пункта

[[!msShiptor.Settlement?
	&tpl=`msShiptor.Settlement.popover`
	]]
Результат:


[[!msShiptor.Settlement?
&tpl=`msShiptor.Settlement.popover`
]]

msShiptor.Order — расчет стоимости корзины
Сниппет msShiptor.Order — для расчет стоимости корзины.
Практически сниппет обертка, выполняет необходимые действия, данные выставляет в плейсходеры, затем запускает
поочередно сниппеты из списка elements. Последним необходимо указать родной сниппет msOrder.


  • tpl — Чанк оформления
  • elements — Список сниппетов через запятую, которые нужно запустить
  • yandexMapsJsCss — Подключить файлы yandex maps
  • bootstrapDialogJsCss — Подключить файлы bootstrap-dialo
  • bootstrapPopoverJsCss — Подключить файлы bootstrap-popover
  • bootstrapTabJsCss — Подключить файлы bootstrap-tabs
  • selectizeJsCss — Подключить файлы selectize
  • processBlocks — JSON строка содержащая блоки необходимые для обработки
пример вызова


[[!msShiptor.Order?
	&processBlocks=`{
	"error":"msShiptor.block.error",
	"method-select":"msShiptor.block.method.select",
	"method-info":"msShiptor.block.method.info",
	"courier-modal":"msShiptor.block.courier.modal"
	}`
	]]


сниппет msShiptor.Product.cost — расчет стоимости продукта
  • tpl — Чанк оформления
  • product — Идентификатор продукта
  • delivery — Идентификатор доставки
пример вызова


	<div class="msshiptor-product-cost-pickup"></div>
	[[!AjaxSnippet?
	&snippet=`msShiptor.Product.cost`
	&delivery=`14`
	&as_target=`.msshiptor-product-cost-pickup`
	]]]
Результат:




События
  • msShiptorOnGetProductOption — получение опций продукта


Информация о доставке
Вся информация о доставке пишется в поле properties заказа. Так же доступна в админке на странице заказов.




События
  • msShiptorOnGetProductOption — получение опций продукта
  • msShiptorOnBeforeRequest — перед отправкой запроса к api
  • msShiptorOnAfterRequest — после отправки запроса к api


Важно
— компонент предназначен для работы с новым miniShop2 версии >= 2.4.0-beta2
— работа компонента не тестировалась с другими компонентами доставки, возможны конфликты в работе.


Кастомизация
У методов доставки доступны следующие свойства


  • hidden — список полей которые необходимо скрыть при активной доставке. Например — index,region,city,street,building,room,delivery_address,msshiptor_methods_select
  • courier — список перевозчиков привязанных к доставке. Например — shiptor,b2c,boxberry,dpd,iml,pickpoint,cdek,shiptor-one-day,spsr,shiptor-oversize
  • category — список категорий перевозки привязанных к доставке. Например — delivery-point,delivery-point-to-delivery-point
Свойства можно отредактировать на одноименной вкладке




Чанки
  • msShiptor.Settlement.modal — чанк выбора населенного пункта в модальном окне
  • msShiptor.Settlement.popover — чанк выбора населенного пункта в поповере
  • msShiptor.order — чанк заказа магазина. Взят дефолтный чанки и добавлены блоки с дополнительной информацией.

    — msshiptor_error — вывод ошибки
    — msshiptor_methods_select — выбор метода доставки
    — msshiptor_methods_info — информация о выбранном методе доставки
  • msShiptor.block.error — чанк блока ошибки
  • msShiptor.block.method.select — чанк выбора метода доставки
  • msShiptor.block.method.info — чанк информации о выбранном методе доставки
  • msShiptor.block.point.info — чанк информации о выбранной точке доставки
  • msShiptor.block.courier.modal — чанк модального окна выбора курьера доставки
  • msShiptor.product.cost — чанк расчета стоиомсти доставки продукта
  • msShiptor.block.order.info — чанк информации о доставке заказа магазина
Компонент в магазине: modstore.pro/packages/integration/msshiptor
16 мая 2017, 12:01    Володя   G+  
0    439 +10

Комментарии (21)

  1. Алексей Андреев 16 мая 2017, 15:51 # 0
    Полезная штука, есть повод перейти от конкурентов (Грастин) к этим товарищам.
    Только не совсем понятно, как реализована работа с габаритами, ведь они в минишопе вбиваются в виде текстового поля.
    1. Володя 16 мая 2017, 15:58 # +1
      Полезная штука, есть повод перейти от конкурентов (Грастин) к этим товарищам.
      Только не совсем понятно, как реализована работа с габаритами, ведь они в минишопе вбиваются в виде текстового поля.
      есть событие на получение размеров товара и вы можете прописать свою логику, в рамках же текущего пакета это сделано просто настройками… то есть задаете длинну, ширину, высоту посылки.
    2. Сергей 05 августа 2017, 15:30 # 0
      вес учитывается? особенно касаемо Почты России?
      1. Володя 05 августа 2017, 22:19 # 0
        расчет стоимости доставки, с учетом веса, габаритов и стоимости продуктов
      2. Сергей 05 августа 2017, 15:35 # 0
        по логике, если куплю этот модуль, то он полностью заменит модули сдек и почта россии???
        1. Сергей 05 августа 2017, 21:45 # 0
          удалите. купил сдек+почтароссии
          1. Володя 05 августа 2017, 22:19 # +1
            полностью/неполностью но там есть сдек и почта, демо тут msshiptor.vgrish.ru/index.php?id=5
          2. Сергей Кепкин 11 октября 2017, 11:24 # 0
            а выбор города на основе какой БД?
            1. Володя 11 октября 2017, 11:30 # +1
              В БД этого нет. Используется метод shiptor.ru/doc/#api-Public-suggestSettlement
              1. Сергей Кепкин 11 октября 2017, 11:39 # 0
                Т.е. Бд от Шиптора? Какой охват у них интересно
                1. Володя 11 октября 2017, 11:47 # +1
                  Какой охват у них интересно
                  ссылка на апи есть, читайте.
                  Есть демо сайт, там можно посмотреть компонент в работе.
            2. Сергей Кепкин 11 октября 2017, 11:40 # 0
              GeoLocation реально подклеить?
              1. Володя 11 октября 2017, 11:47 # +1
                нет
              2. Сергей Кепкин 11 октября 2017, 11:41 # 0
                Будут ли проблемы от Шиптора, если будет частый запрос на расчет? Например, если 2000 клиентов в сутки будут делать заказы? Из них около 500 в сутки непременно долбят 2-3 раза выбор города. Цифры реальные)))
                1. Володя 11 октября 2017, 11:51 # +1
                  не думаю что это проблема, запросы кэшируются на сайте. То есть если один пользователь в подсказке набрал — влад то и любой другой пользователь с данным запросом получит ответ из кэша минуя обращение к самому апи shiptor.
                  Если же вы хотите какой то конкретики — то свяжитесь с shiptor.ru/ и уточните моменты что вас интересуют.
                2. Сергей Кепкин 11 октября 2017, 12:11 # 0
                  смену города на странице товара без перезагрузки можно сделать своими силами?
                  1. Володя 11 октября 2017, 12:28 # +1
                    Теоретически можно, практически не вижу в этом пользы.
                    После последуют вопросы:
                    — как изменить методы доставки без перезагрузки
                    — как изменить стоимость корзины без перезагрузки
                    — как изменить стоимость продукта без перезагрузки
                    и тп.

                    Если у вас есть время и желание вникать в это пожалуйста…
                    1. Сергей Кепкин 11 октября 2017, 13:34 # 0
                      угу, спасибо. на странице товара перечисленные Вами потенциальные вопросы и не требуются)))
                  2. Сергей Кепкин 11 октября 2017, 12:37 # 0
                    API-ключ используется один Ваш на всех)) или надо свой получать?
                    1. Володя 11 октября 2017, 12:56 # 0
                      В базовой версии компонента используются методы что не требуют указания API-ключа.
                      Можно не указывать его вовсе, либо зарегаться на сервисе и указать свой ключ.
                    2. Илья 12 ноября 2017, 22:35 # 0
                      Здравствуйте! Передача груза в доставку не реализована?
                      Вы должны авторизоваться, чтобы оставлять комментарии.