Улучшаем интернет-магазин: Стоимость доставки по зонам

Получить консультацию!
Модуль позволяет рассчитать стоимости доставки, на основе Яндекс.Карт, в зависимости от района(зоны) и удаленности от склада.

Работать с модулем очень просто:
- создаете пункты отправления;
- создаете зоны (районы);
- назначаете стоимость для каждой зоны;
- активируете модуль доставки;
- готово :)

Зоны доставки:

Зоны доставки - главная особенность модуля.
Пользователь создает зоны, в которые магазин доставляет заказы. За пределы этих областей доставка не осуществляется.

Создание и редактирование:

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

Импорт:

- Для упрощения создания зон, можно воспользоваться импортом из файла 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/" для кастомизации расчета доставки.
Алексей Бульчук
Специалист-консультант
Хотите получить консультацию?
Оставьте заявку и мы свяжемся с Вами в ближайшее время.
×
Ваш запрос отправлен
Наш менеджер свяжется с вами в ближайшее время!