2590
33.64
37.00
за сайт
- Проверено Modstore
- Бесплатные будущие обновления
- Работа на тестовом и публичном домене
- 12 месяцев тех. поддержки
Внимание! Для сохранения возможности бесплатного использования API Яндекс.Карт пользователи должны соблюдать ряд условий — tech.yandex.ru/maps/jsapi/doc/2.1/terms/index-docpage/#index__conditions

Пакет считает стоимость доставки по имеющимся в базе автомобилям и зонам, в которые эти автомобили доставляют.
Зоны доставки:
Для того, чтобы компонент работал и считал стоимость доставки до определённого места, нам нужно добавить на странице компонента зоны доставки.Зона содержит название, которое во фронтенде нигде не выводится и необходимо только для обозначения зоны в бекенде. А также из обязательного:
- Расстояние от склада:

- или Область на карте:
Интересный момент:
Область на карте указывается в режиме редактирования и позволяет нарисовать любой требуемый многоугольник, потратив лишь немного времени. Однако, если у вас уже есть координаты многоугольника, то их можно ввести в поле «Координаты», и он мнгновенно добавится на карту.
Также, есть возможность указать properties и options у многоугольника. Здесь можно почитать о том, какие возможности они дают. Указываются эти поля в JSON формате, например так:
{"fillColor":"#6699ff","strokeColor":"#487cab","strokeWidth":2,"interactivityModel":"default#transparent","opacity":0.4}
Автомобили:
Следующим шагом будет добавление автомобилей, которые есть у нас в распоряжении.У автомобиля есть обязательное название, объём и длина. При желании, для автомобиля можно добавить изображение. После добавления автомобиля у нас есть возможность привязать зоны доставки к нему из ранее добавленных нами:

Привязка зоны к автомобилю:
При привязке зоны доставки мы можем указать различные варианты цены, либо вообще выставить договорную стоимость за данную зону у данного автомобиля:
Пояснять, за что отвечает каждый вариант цены, я думаю не нужно.Полная инструкция по настройке:
- Устанавливаем компонент и включаем способ доставки в настройках miniShop2.
- Заходим в системные настройки и указываем всё, что нам нужно.
Важным параметром является msdom_address_field. Он отвечает за поле, которое будет использовано в качестве полного адреса на странице корзины. По-умолчанию, для записи полного адреса задействовано поле city, которое в ms2 есть «из коробки». Можно заменить лексиконы бекенда/фронтенда для данного поля и оно вполне подойдёт для записи адреса при заказе.
- Создаём необходимые зоны на странице компонента.
- Создаём необходимые автомобили на странице компонента. После чего привязываем к каждому из автомобилей, зоны, в которые он будет доставлять.
- Заполняем товары так, чтобы в итоге можно было вычислить объём и длину единицы каждого товара. Можно добавить сразу объём/длину в товар, чтобы не вычислять их впоследствии «на ходу».
- В форму form.ms2_form, где находится наша кнопка «Добавить в корзину», добавляем 2 hidden поля, которые будут содержать информацию об объёме и длине:
Обратите внимание, что я указал объём и длину в виде ТВ полей, но у вас они могут быть указаны в виде ms2 свойств/опций. Либо вы можете вычислить объём на ходу, если у вас есть необходимые для этого данные (длина, ширина, высота).<input type="hidden" name="options[volume]" value="[[+tv_volume]]"> <input type="hidden" name="options[length]" value="[[+tv_length]]">
- Добавляем на страницу корзины или сразу в чанк tpl.msOrder.outer вызов сниппета:
[[!msDom?inCart=`1`]] - При желании, можно добавить вывод карты со списком автомобилей на любую другую страницу. Это удобно использовать на странице «Оплата и доставка», тем самым дав пользователю ознакомиться с примерными ценами на доставку в его район. Вот вывод сниппета:
[[!msDom]]
1.3.10-beta (04.08.2023)
- Исправлена проблема с отображением полного списка зон автомобилей в combobox
1.3.9-beta (31.05.2023)
- Исправлена проблема с расчётом стоимости доставки при нулевом расстоянии
1.3.8-beta (01.03.2023)
- Добавлена системная настройка
msdom_delivery_time_field - Добавлена обработка поля delivery_time в
default.js - Добавлена обработка поля delivery_time в
msDeliveryOnMap::getCar
1.3.7-beta (10.02.2023)
- Исправлен баг выборки CarZone при указании обратного диапазона времени
1.3.6-beta (06.02.2023)
- Добавлена возможность указать время применения стоимости доставки (полезно для времени час-пик, ночной доставки, итп)
1.3.5-beta (09.12.2021)
- Добавлено использование в админке координатов центра карты из системной настройки
msdom_start_coordinates - Исправлен баг, когда координаты центра карты указывались с пробелом между значениями
1.3.4-beta2 (28.06.2020)
- Исправлен баг с передачей опции zIndex типа String
1.3.4-beta (14.05.2020)
- Добавлена поддержка отрицательных значений в поле "Надбавочная стоимость"
1.3.3-beta (22.03.2020)
- Добавлен zIndex в опции области при добавлении на карту
1.3.2-beta (08.02.2020)
- Добавлена ручная сортировка перетаскиванием зон
1.3.1-beta (29.01.2020)
- Добавлено форматирование цены доставки на фронте
- Добавлен параметр &cars в сниппет msDom для указания списка автомобилей
- Добавлен параметр &startPoint в сниппет msDom для указания properties и options для точки склада
- Добавлен параметр &finishPoint в сниппет msDom для указания properties и options для точки доставки
- Добавлен параметр &route в сниппет msDom для указания params и options для маршрута
1.3.0-beta (27.01.2020)
- Добавлен тип расчёта цены для зоны автомобиля
- Добавлен процент от стоимости заказа для зоны автомобиля
- Добавлена надбавочная цена для зоны автомобиля
- Добавлена обработка поля "Бесплатная от суммы заказа" при договорной цене для зоны автомобиля
- Добавлено текстовое примечание для зоны автомобиля
- Исправлен вывод зон автомобиля для более компактного вида
1.2.6-beta (15.07.2019)
- Исправлен баг в запросе выборки автомобилей
1.2.5-beta (11.07.2019)
- Добавлено jQuery событие msdom_calculate в JS файл, срабатывающее при вычислении данных доставки
1.2.4-pl (02.07.2019)
- Поправлено округление объёма, длины и веса не опираясь на локаль
1.2.4-beta (14.06.2019)
- Добавлена грузоподъёмность в чанк списка автомобилей
1.2.3-pl (13.06.2019)
- Добавлено округление объёма, длины и веса до сотых
1.2.2-pl (11.06.2019)
- Исправлена выборка автомобиля
1.2.2-beta (11.06.2019)
- Добавлены дополнительные вычисления в запрос на подбор автомобиля для выборки более подходящего авто
1.2.1-pl (09.06.2019)
- Поправлен вывод в лог в методе msDeliveryOnMap::getCost
1.2.1-beta (09.06.2019)
- Добавлено событие плагина msDomOnGetCost с параметрами: msDeliveryOnMap $msdom, array $data
- Поправлено присвоение miniShop2 колбэков в JS
1.2.0-pl (08.06.2019)
- Поправлена поддержка чисел разных типов в методе msDeliveryOnMap::getChainFieldValue
- Поправлена ошибка нахождения автомобиля при локали, в которых в типе float используется запятая
1.2.0-beta (02.06.2019)
- Добавлена опция "Вес" для автомобиля
- Добавлена дополнительная сортировка в выборку автомобиля для подбора наилучшего варианта
- Поправлено указание типа переменной передаваемой из PHP в JS у объекта msDomZone в бек-энде
- Рефакторинг кода основного класса msDeliveryOnMap
1.1.2-beta (30.05.2019)
- Добавлено расширенное поле для указания координат области
- Поправлена совместимость с MySQL 5.7
- Поправлен вызов метода fitToViewport() на карте в msDeliveryOnMap.ux.MapPolygonEditor
1.1.1-beta (05.06.2018)
- Исправлен косяк с неотображением области на карте при повторном открытии окна редактирования зоны в бек-энде
1.1.0-beta (27.04.2018)
- Добавлена функция "Бесплатная доставка от суммы заказа" для каждой зоны при привязке к автомобилю
- Поправлена работа с контекстами
1.0.11-beta (08.02.2018)
- Добавлена подгрузка библиотеки ymaps скрипта в бек-энде из настроек системы
- Исправлена проблема с подгрузкой области при редактировании зоны в бек-энде
1.0.10-beta (11.12.2017)
- Добавлена функция "Непогода" для способа доставки
1.0.9-beta3 (01.12.2017)
- Исправлен косяк с неправильной установкой cookie, при установке добавлена опция path
1.0.9-beta2 (01.12.2017)
- Исправлен косяк с некорректным формированием массива с зонами в методе msDeliveryOnMap::getCar()
1.0.9-beta (24.06.2017)
- Исправлена проблема с двойным добавлением маршрута при инициализации карты, если поле "Адрес" заполнено
1.0.8-beta (10.09.2016)
- Добавлена обработка доп. стоимости доставки
1.0.7-pl (15.07.2016)
- В default.js поправлена совместимость с miniShop2 версии 2.4
1.0.7-beta (20.06.2016)
- Поправлен SQL запрос выборки областей из базы при клике по карте
1.0.6-beta (01.06.2016)
- Добавлена настройка указания ссылки на API Яндекс карт
- Исправлена ошибка в консоли на страницах, где не инициализируется miniShop2
1.0.5-beta (31.05.2016)
- Налажена работа JS при использовании на сайте библиотеки Mootools или PrototypeJS
1.0.4-pl (30.05.2016)
- Восстановлена совместимость с PHP 5.3
1.0.4-beta (24.05.2016)
- Масштаб карты по-умолчанию и масштаб при установке точки доставки - разделены
1.0.3-beta (24.05.2016)
- Центр карты и координаты точки старта - разделены
1.0.2-beta (23.05.2016)
- Добавлена возможность вывести сниппет msDom не на странице корзины
- Добавлено изображение для автомобилей
1.0.1-beta (20.05.2016)
- Добавлено удаление точки доставки и маршрута, при удалении вручную адреса из поля
- Добавлен прелоадер при построении маршрута
1.0.0-beta2 (19.05.2016)
- Поправлен подсчёт кол-ва рейсов
1.0.0-beta (19.05.2016)
- Start




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