Описание
Работать с модулем очень просто:
- создаете пункты отправления;
- создаете зоны (районы);
- назначаете стоимость для каждой зоны;
- активируете модуль доставки;
- готово
#####Зоны доставки:
Зоны доставки — главная особенность модуля.
Пользователь создает зоны, в которые магазин доставляет заказы. За пределы этих областей доставка не осуществляется.
#####Создание и редактирование:
— Указывается область на Яндекс.Карте при помощи полигонов;
#####Импорт:
— Для упрощения создания зон, можно воспользоваться импортом из файла 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/» для кастомизации расчета доставки.
Ребров Олег
27.08.2018Я натолкнулся на этот модуль, когда искал решение для расчета доставки по карте.
Людям все привычнее гео-сервисы и надо быть в тренде.
Модуль понравился по описанию и я установил его для тестирования.
Тестирование тоже прошло в целом хорошо, модуль работал и делал что обещал.
Когда возникли локальные затыки со скоростью работы модуля — разработчики оперативно решили задачу.
Но самое интересное было дальше!
Когда начался этап реального внедрения модуля на сайт я понял, что в нашем случае нужен здоровенный напильник, чтобы все работало как видится.
Ребята стоически вынесли все мои выносы мозга в переписке с технической поддержкой и в течении двух версий закрыли львиную долю наших потребностей в кастомизации модуля.
Спасибо за сотрудничество.
Пусть благодарные покупатели настигают вас быстрее, чем модуль строит маршрут до ближайшего магазина! )