- Опубликовано:
- 27.04.2018
- Обновлено:
- 26.08.2022
- Версия:
- 1.6.2
- Установлено:
- 500 - 999 раз
- Подходящие редакции:
- Малый бизнес, Бизнес
- Адаптивность:
- Да
- Поддержка Композита:
- Да
- Совместимо с Сайты24
- Нет
- Совместимо с PHP 8.1
Работать с модулем очень просто:
- создаете пункты отправления;
- создаете зоны (районы);
- назначаете стоимость для каждой зоны;
- активируете модуль доставки;
- готово

#####Зоны доставки:
Зоны доставки - главная особенность модуля.
Пользователь создает зоны, в которые магазин доставляет заказы. За пределы этих областей доставка не осуществляется.
#####Создание и редактирование:
- Указывается область на Яндекс.Карте при помощи полигонов;
#####Импорт:
- Для упрощения создания зон, можно воспользоваться импортом из файла 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/" для кастомизации расчета доставки.
26 апреля 2024 20:02
В целом отличный модуль
Отличный модуль. Весь заявленный функционал работает. Из некритичных замечаний: 1. При наличии одного склада хотелось бы иметь возможность изменять формат адреса, т.е. чтоб не было текста "Доставка из: [адрес склада], Доставка в: [адрес покупателя]", а просто адрес покупателя. 2. Кодировка JS. Уж не знаю на чьей стороне проблема (разработчика, установщика или маркетплейса), но лично я потратил как минимум 1.5 часа на поиск файлов с кодировкой WIndows-1251. Неприятный осадок. 3. Понимаю, что слишком многого хочу, но было б вообще обалденно, если б расстояние в км можно было считать (опционально) не от склада а от заданной зоны. Например Есть 2 зоны. А и Б. Доставка по зоне А имеет фиксированную стоимость - 500 рублей. А вот доставка в зону Б 50 рублей за км. Было б отлично, чтобы при указании зоны Б (если маршрут проходит по зоне А) то расчет километража начинался на выходе из зоны А, о общая стоимость рассчитывалась по формуле доставка по зоне А (500 рублей) + километры до зоны Б. Но это я многого хочу, видимо. Однако в такой реализации модуль был бы вообще круть.
27 августа 2018 19:41
Искренне рекомендую!
Я натолкнулся на этот модуль, когда искал решение для расчета доставки по карте. Людям все привычнее гео-сервисы и надо быть в тренде. Модуль понравился по описанию и я установил его для тестирования. Тестирование тоже прошло в целом хорошо, модуль работал и делал что обещал. Когда возникли локальные затыки со скоростью работы модуля - разработчики оперативно решили задачу. Но самое интересное было дальше! Когда начался этап реального внедрения модуля на сайт я понял, что в нашем случае нужен здоровенный напильник, чтобы все работало как видится. Ребята стоически вынесли все мои выносы мозга в переписке с технической поддержкой и в течении двух версий закрыли львиную долю наших потребностей в кастомизации модуля. Спасибо за сотрудничество. Пусть благодарные покупатели настигают вас быстрее, чем модуль строит маршрут до ближайшего магазина! )
19 ноября 2020 15:58
Отличный модуль
Купили - установили - всем довольны. Простой в настройке модуль. + техподдержка отличная
16 февраля 2023 06:53
Работает, но...
Модуль рабочий, есть ошибки кодировки в JS, без знаний не исправить, хотелось бы рабочее округление суммы доставки, со встроенным не работает,а так же стоку ввода адреса отдельно, без вывода карты и было бы идеально.
