[msAreaOrder] Распределение заказов по заведениям

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

Каждому заведению можно указать:
  1. Свои почтовые ящики для уведомлений о новом заказе, которые заменят ящики из настройки ms2_email_manager,
  2. Минимальную стоимость заказа для каждой области (каждого заведения).
Компонент во многом похож на msDeliveryOnMap, только выполняет иную функцию и прост в настройке.


Настройка в 4 простых шага

  1. Устанавливаем компонент и включаем способ доставки в настройках miniShop2.
  2. Заходим в системные настройки и указываем всё, что нам нужно.
    Важным параметром является msae_address_field. Он отвечает за поле, которое будет использовано в качестве полного адреса на странице корзины. По-умолчанию, для записи полного адреса задействовано поле city, которое в ms2 есть «из коробки». Можно заменить лексиконы бекенда/фронтенда для данного поля и оно вполне подойдёт для записи адреса при заказе.
  3. Создаём необходимые зоны доставки на странице компонента.
  4. Добавляем на страницу корзины или сразу в чанк tpl.msOrder вызов сниппета:
    [[!msAreaOrder]]
    В этом месте будет появляться карта при выборе способа доставки msaoDeliveryHandler.

Спонсор выпуска Дмитрий Суворов!

Демо компонента
Купить в Modstore
Павел Гвоздь
23 июня 2017, 21:30
modx.pro
1
1 699
+14
Поблагодарить автора Отправить деньги

Комментарии: 18

Володя
24 июня 2017, 13:33
+3
Достаточно удобно!
Только не понял насчет ограничений доставки


    Павел Гвоздь
    24 июня 2017, 13:37
    +2
    Не совсем понял суть. Ограничения вступают в силу при попытке оформить заказ с адресом, не входящим ни в одну область.
      Володя
      24 июня 2017, 13:38
      +3
      ага, разобрался… все ок.
      только маршрут некорректно обновляет
        Павел Гвоздь
        24 июня 2017, 13:40
        +3
        Насколько знаю, это косяк Yandex Карт. Но я по-разбираюсь ещё. Спасибо, что напомнил!
          Володя
          24 июня 2017, 13:41
          +3
          да незачто!
            Володя
            24 июня 2017, 13:45
            +3
            у тебя
            // Удаляем предыдущий маршрут с карты
            if (this._route) {
                  this._map.geoObjects.remove(this._route);
            }
            попробуй просто удалить с карты все, ведь не имеет значения что было ранее, если ты строиш маршрут по новой.
              Павел Гвоздь
              24 июня 2017, 14:05
              +2
              Проблему выявил:
              при инициализации карты ставится точка старта (склад) и точка финиша (точка доставки), если в поле указан адрес. Так вот иногда происходило так, что точка старта ставилась практически одновременно с точкой финиша, за счёт этого получалось 2 маршрута, потому что метод _setupRoute срабатывал 2 раза подряд, а в this._route не успевал попадать текущий маршрут. Банально решается через setTimeout.
              Спасибо!
    Алексей Андреев
    22 ноября 2018, 15:17
    0
    Что-то демка не работает, не могу добавить в корзину. Хотелось бы глянуть компонент. Что по совместимости с последними минишопами, всё ок?
      Павел Гвоздь
      22 ноября 2018, 16:35
      0
      А щас?
        Алексей Андреев
        22 ноября 2018, 19:33
        0
        Работает =)
        Пытаюсь теперь понять, подойдёт ли мне этот компонент. Делаем сайт кафе-столовой, 3 разных точки и 3 области доставки вокруг каждого кафе. Т.е. нет единого «склада». Маршрут на карте особо не нужен, задача просто ограничить адрес доставки нужными областями. Ну и в будущем закидывать каждый заказ (в зависимости от области) на отдельную почту, это вроде и так реализовано.
          Павел Гвоздь
          22 ноября 2018, 19:35
          0
          Вроде должно подойти. Насколько знаю, можете потестить на тестовом сайте на modhost.pro.
            Алексей Андреев
            22 ноября 2018, 21:05
            0
            Че-то у меня ругается на api Яндекс.Карт, хотя вроде всё подключил по инструкции, jquery взял с вашего сайта.
            s16413.h4.modhost.pro/
            Вообще хотел проверить следующий момент: можно ли вывести на другой странице (например, «Доставка») ту же самую карту с областями, чтоб клиент мог просто ознакомиться с этой информацией. И внутри областей поставить метку каждого кафе. Ну, чую, что ответ будет «можно, но надо допиливать под ваши задачи» =)
              Павел Гвоздь
              23 ноября 2018, 09:14
              0
              Че-то у меня ругается на api Яндекс.Карт
              Не понимаю, о чём вы.

              Ну, чую, что ответ будет «можно, но надо допиливать под ваши задачи» =)
              Много придётся допиливать…
      Алена
      06 февраля 2019, 14:51
      0
      Здравствуйте, Павел! Спасибо, дополнение получилось очень и очень полезное. Уточните, пожалуйста, как изменить слово «Склад». Клиентов ресторана это может смутить.
        Павел Гвоздь
        06 февраля 2019, 18:16
        0
        Пишите, пожалуйста, в техподдержку на Modstore.
        Дима Гапонов
        12 августа 2020, 17:52
        0
        Демка не работает. А где можно посмотреть на плагин еще? Нужно понять подойдет ли он мне или нет
          Андрей
          12 августа 2020, 18:05
          0
          На modhost на тестовом тарифе можно тестировать платные плагины.
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          18