Module Стоимость доставки по зонам (ctweb.yandexdelivery)

klerk

Team member
VIP Hard
Verified
Joined
Feb 19, 2016
Messages
11,050
Reaction score
8,228
Стоимость доставки по зонам (ctweb.yandexdelivery)

gVkHEU5.png



Описание
Модуль позволяет рассчитать стоимости доставки, на основе Яндекс.Карт, в зависимости от района(зоны) и удаленности от склада.
Работать с модулем очень просто:
  1. создаете пункты отправления;
  2. создаете зоны (районы);
  3. назначаете стоимость для каждой зоны;
  4. активируете модуль доставки;
  5. готово
#####Зоны доставки:
Зоны доставки - главная особенность модуля.
Пользователь создает зоны, в которые магазин доставляет заказы. За пределы этих областей доставка не осуществляется.

#####Создание и редактирование:
- Указывается область на Яндекс.Карте при помощи полигонов;

#####Импорт:
- Для упрощения создания зон, можно воспользоваться импортом из файла GEO JSON
- Можно импортировать сразу несколько зон, либо для конкретной зоны;
- Алогритм импорта ищет все объекты geometry в файле импорта со свойством type = "Polygon"
- При импорте можно указать какие области импортировать (предлагается выбор)

#####Цены:
- Можно указать фиксированную цену доставки в зону (Минимальная цена);
- Можно указать цену доставки за километр (расстояние рассчитывается по проорженному пути);
- Можно указать минимальную цену заказа для которой зона доставки будет доступна;
- Можно указать цену, для которой доставка будет бесплатной;

#####Прочее:
- Можно привязать зону доставки к определенным складам. Доставка будет рассчитываться только от них;
- Для зоны доставки можно указать свой цвет;
- Зону можно деактивировать, если она пока не нужна;

#####Склады:
Есть 2 режима складов:
1. Склады магазина
2. Кастомные склады

Режими различаются только местом хранения информации о складах: кастомные склады хранятся в таблице модуля.
Склады нужны для рассчета ближайшего склада к указанной пользователем точке.

#####Шаблоны:
Для вывода карты используется компонент ctweb:yandexdelivery.

По-умолчанию есть 2 шаблона:
1. .default - Вы можете добавить его на любую страницу;
- На страницу можно помещать несколько компонентов одновременно.
2. order - Автоматически добавляется на странице оформления заказа компонента sale.order.ajax;
- Для указания параметров в шаблоне order, воспользуйтесь файлом parameters.php в шаблоне компонента;

Кастомизация:
- Вы можете скопировать шаблон и поменять его верстку и стили так, как Вам нужно;
- Единственное условие - проставлять для тегов определенные ID - они описаны в component.php и вверху шаблона;
- В стандартных шаблонах можно найти примеры событий, на которые подключить выполнение функций;
- Так же, можно расширять BX.Ctweb.YandexDelivery.Controller в script.js шаблона (пример в шаблоне order);

#####Расчет:
- Модуль предоставляет событие OnYandexDeliveryCalculatePrice($distance, $regionID, $storageID) для модификации результата;
- В настройках модуля можно указать свойство заказа, куда будет записана информация о выбранной пользователем точки. Создайте свойство типа "Строка" для заказа. В этом свойстве указывается "Название склада", "Адрес точки" и "Координаты точки";
- Можно скопировать "/bitrix/modules/ctweb.yandexdelivery/tools/delivery_ctwebyandexdelivery.php" в "/bitrix/php_interface/include/sale_delivery/" для кастомизации расчета доставки.

Demo:

ctweb.yandexdelivery 1.0.0 - 1.4.9 mod + delta.upd
 
ctweb.yandexdelivery 1.0.0 - 1.5.8 mod + delta.upd
 
Top