Автоматизация расчета доставки.

Логин и пароль для входа в админку: test.




Товар 1
Товар 1 101 руб.
msPointsIssue - компонент реализует фунцкионал Пункты Выдачи Заказов для магазина MiniShop2. Вы сами создаете необходимые вам ПВЗ.

особенности:
  • работа только с новым miniShop2 (version =>2.4.0-beta2)
  • сниппет для расчета стоимости заказа
  • адаптация с geonames для облегчения первичного наполнения ПВЗ
Настройка MiniShop2:
  • активировать необходимые варианты доставки
  • назначить необходимые варианты оплаты
  • наполнить ПВЗ
Типы доставки:
  • курьер - доставка до адреса
  • терминал - доставка до терминала
Установка:
После установки компонента доступны 3 метода доставки.
  • своя доставка
  • курьер
  • терминал
Включите необходимые вам методы.

Создание Точек доставки: Возможна загрузка Точек через сервис geonames

Создание Терминалов доставки:

Возможен поиск адреса по карте. Доступен сервис карт google, yandex.

Как вы уже успели заметить из скриншотов, для Точки/ Терминала доставки можно указать стоимость, таким образом окончательная стоимость доставки до ПВЗ будет суммирована.

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

[[!msPointsIssue.Order]]
Чанки
  • msPointsIssue.order — чанк заказа магазина. Взят дефолтный чанки и добавлены блоки с дополнительной информацией.
  • msPointsIssue.block.address — чанк вывода доступных точек доставки
  • msPointsIssue.block.info — чанк информации о выбранном методе доставки
  • msPointsIssue.block.map — чанк вывода точки доставки на карте
Кастомизация
У методов доставки доступны следующие свойства
  • mode — режим способа доставки. Доступен terminal, point
  • geonames — список параметров сервиса geonames для загрузки Точек доставки
  • hidden — список полей которые необходимо скрыть при активной доставке

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


    [id] => 1
    [user_id] => 2
    [createdon] => 2018-05-13 12:43:47
    [updatedon] =>
    [num] => 1805/1
    [cost] => 800
    [cart_cost] => 600
    [delivery_cost] => 200
    [weight] => 0
    [status] => 1
    [delivery] => 9
    [payment] => 3
    [address] => 1
    [context] => web
    [comment] =>
    [properties] => Array
        (
            [mspointsissue] => {"mspointsissue_process_blocks":"{\"msPointsIssue.block.address\":\".mspointsissue-address\",\"msPointsIssue.block.info\":\".mspointsissue-info\",\"msPointsIssue.block.map\":\".mspointsissue-map\"}","mspointsissue_delivery_terminal[3]":"7","mspointsissue_delivery_point":"2","mspointsissue_delivery_terminal":"4","mspointsissue_delivery_point[3]":"4","mspointsissue_delivery_point[4]":"9","mspointsissue_delivery_terminal[7]":"17","mspointsissue_delivery_point[7]":"15","mspointsissue_delivery_point[8]":"3","mspointsissue_delivery_terminal[9]":"4","mspointsissue_delivery_point[9]":"2","point":{"id":2,"delivery":9,"identifier":"","active":true,"rank":1,"name":"Санкт-Петербург","resource":0,"cost":"0","description":null,"properties":null},"terminal":{"id":4,"point":"2","identifier":"","active":true,"rank":3,"name":"спб 1","resource":0,"cost":"200","phone":"","address":"ул. Рубинштейна, 24, Санкт-Петербург, Россия, 191002","coords":"59.92970529999999,30.344619400000056","description":null,"properties":null}}
        )

    [type] => 0
    
В дальнейшем эту информацию можно получить как

{if $properties.mspointsissue}

    {var $tmp = $properties.mspointsissue|json_decode}
    {if $tmp.point}
        Точка доставки: {$tmp.point.name}
{/if} {if $tmp.terminal} Терминал доставки: {$tmp.terminal.name}
{$tmp.terminal.address} {/if} {/if}