msdSector

Расчет стоимости доставки с учетом секторов
Автор дополнения
Володя Володин
Пакетов
45
Закачек
24 401
Обычно отвечает в течение нескольких дней
Автор дополнения
Пакетов
45
Закачек
24 401
Обычно отвечает в течение нескольких дней
Версия 1.0.6-beta
Дата выпуска 24.05.2019
Загрузки 61
Просмотры 9 256

msdSector — расчет стоимости доставки с учетом секторов.



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

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

Демо: msdsector.vgrish.ru


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

Можно создать любой тип доставки и задать для нее нужные характеристики



Установка:

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


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

Включите необходимые вам методы.
Подсказки геообъектов реализованы с помощью DaData Api. Нужно зарегистироваться в данном сервисе dadata.ru
и получить ключ dadata.ru/profile/#info


Сектора доставки:

Доступны для редактирования в окне метода доставки на одноименной вкладке.




Обозначиваете требуемый сектор, указываете стоимость и если необходимо описание и время доставки.


Расчет стомости:

За расчет стоимости доставки отвечает класс msdSectorDeliveryHandler. Можно подключить свой кастомный класс унаследовав базовый
и переопределив метод calculateCost.
Логика базового класса проста, берется локация пользователя и выбирается сектор с максимальной ценой включающий данную локацию, если таковой имеются идет расчет доставки.


Вы можете написать кастомный класс расчета согласно вашей логике.



msdSector.Order — расчет стоимости корзины

Сниппет msdSector.Order — для расчет стоимости корзины.
Аналогичен сниппету msOrder, добавлена инициализация основного класса и подгрузка необходимых сриптов.


  • tpl — Чанк оформления
  • elements — Список сниппетов через запятую, которые нужно запустить
  • processBlocks — JSON строка содержащая блоки необходимые для обработки

пример вызова


{'!msdSector.Order'|snippet:[
'tpl' => 'msdSector.order',
'suggestConfig' => [
	'token'  => '8993f742548398839f83aea5d5e2c75e3630a13f',
		'fields' => [
			'address'  => [
				'type' => 'ADDRESS',
				'constraints' => [
					'label'     => '',
					'deletable' => true,
					'locations' => [
						['city' => 'Ковров'],
						['city' => 'Мелехово'],
						['area' => 'Ковровский', 'settlement' => 'Первомайский'],
						['area' => 'Ковровский', 'settlement' => 'Новый'],
						['area' => 'Ковровский', 'settlement' => 'Заря']
					],
				],
				'subject'        => [
					'msdsector_coords' => 'geo_coords',
					'city'             => 'settlement,city',
					'street'           => 'street',
					'building'         => 'house',
					'room'             => 'flat',
				],
				'formatSelected' => 'formatAddressSelected',
				'formatResult'   => 'formatAddressResult',
			],
			'receiver' => [
				'type'   => 'NAME',
				'params' => [
					'parts' => [
						'NAME',
						'PATRONYMIC',
					],
				],
			],
			'email'    => [
				'type' => 'EMAIL',
			],
		],
	]
]}

Важно

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



Кастомизация

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


  • hidden — список полей которые необходимо скрыть при активной доставке. Например — msdsector_pickup_info

Чанки
  • msdSector.order — чанк заказа магазина. Взят дефолтный чанки и добавлены блоки с дополнительной информацией.
    — адрес подсказка одной строкой
    — msdsector_delivery_info — информация о выбранной доставке
  • msdSector.order2 — чанк заказа магазина. Взят дефолтный чанки и добавлены блоки с дополнительной информацией.
    — адрес гранулярные подсказки
    — msdsector_delivery_info — информация о выбранной доставке
  • msdSector.block.delivery.info — чанк информации о доставке

1.0.6-beta (24.05.2019)

  • Fix "getSectorsCriteria" [msdSector]

1.0.5-beta (24.05.2019)

  • Improved "polygonToString", "polygonToJson" [msdSector]

1.0.4-beta (03.05.2019)

  • Improved "getSectorsCriteria" [msdSector]

1.0.3-beta (13.11.2018)

  • Fix autocomplete="off" [chunk]

1.0.2-beta (14.03.2018)

  • Improved "getSectorsCriteria" [msdSector]

1.0.1-beta (26.12.2017)

  • Add "formatBoundSelected" [js]

1.0.0-beta

  • Initial

Последние обсуждения в сообществе MODX.pro