Каталог решений

Покупка продления купона

Продолжительность:
Общая сумма:
0 руб.
Ваш запрос успешно отправлен!

Я согласен с условиями активации продлений
Продлить
Продолжить покупки

Расчет стоимости доставки относительно МКАД (г. Москва) и КАД (г. Санкт-Петербург)

Модуль добавляет в систему две службы доставки, позволяющих рассчитывать стоимость доставки относительно МКАД для г. Москва и КАД для г. Санкт-Петербург. Для этого модуль использует информацию от сервиса Dadata. С тарифами сервиса можно ознакомиться на сайте.Отличительной особенностью данного модуля является наличие возможности использования двух вариантов тарификации:расчет стоимости доставки по цене за километррасчет стоимости доставки по таблице дистанций. Например, разная стоимость для дистанций — от 0 до 20 км, от 21 до 40 км.Также в модуле предусмотрена возможность влиять на алгоритм расчета, когда бизнес-логикой магазина предусмотрен нестандартный расчет стоимости доставки. Например, в пределах МКАД стоимость доставки составляет 300 р., но при сумме заказа больше 3500 р. - бесплатно.Модуль полностью совместим со стандартным шаблоном компонента sale.order.ajax. Если у Вас на сайте используется кастомизированный шаблон, то может потребоваться доработка.Обязательным условием для работоспособности модуля является наличие установленного расширения curl для php!

Расчет стоимости доставки относительно МКАД (г. Москва) и КАД (г. Санкт-Петербург)

Расчет стоимости доставки относительно МКАД (г. Москва) и КАД (г. Санкт-Петербург)

от TREEWEB
Купить: 3 990 руб.
Попробовать (7 дней)
Скриншоты
Описание

Технические данные

Опубликовано:
07.12.2021
Обновлено:
22.12.2023
Версия:
1.1.7
Установлено:
100 - 499 раз
Подходящие редакции:
«Малый бизнес», «Бизнес»
Адаптивность:
Нет
Поддержка Композита:
Нет
Совместимо с Сайты24
Нет
Совместимо с PHP 8.1
Да

Пользовательское соглашение

Описание

Модуль добавляет в систему две службы доставки, позволяющих рассчитывать стоимость доставки относительно МКАД для г. Москва и КАД для г. Санкт-Петербург. Для этого модуль использует информацию от сервиса Dadata. С тарифами сервиса можно ознакомиться на сайте.

Отличительной особенностью данного модуля является наличие возможности использования двух вариантов тарификации:

  • расчет стоимости доставки по цене за километр

  • расчет стоимости доставки по таблице дистанций. Например, разная стоимость для дистанций — от 0 до 20 км, от 21 до 40 км.

Также в модуле предусмотрена возможность влиять на алгоритм расчета, когда бизнес-логикой магазина предусмотрен нестандартный расчет стоимости доставки. Например, в пределах МКАД стоимость доставки составляет 300 р., но при сумме заказа больше 3500 р. - бесплатно.

Модуль полностью совместим со стандартным шаблоном компонента sale.order.ajax. Если у Вас на сайте используется кастомизированный шаблон, то может потребоваться доработка.

Обязательным условием для работоспособности модуля является наличие установленного расширения curl для php!

Отзывы (1)
Обсуждения (3)
Что нового
1.1.7 (22.12.2023)
  • Убрана нулевая цена, если расчет доставки еще не производился
1.1.6 (20.06.2023)
  • Небольшое исправление расчета доставки
1.1.5 (03.02.2023)
  • Критическое исправление
1.1.4 (14.03.2022)
  • Добавлена настройка отключения инпута ввода адреса в блоке "Доставка"
1.1.3 (29.12.2021)
  • Устранена ошибка подключения класса DeliveryHelper в обработчиках служб доставки при истечении демо-периода
  • Убрано лишнее подключение обработчиков Dadata в административной части сайта
1.1.2 (21.12.2021)
  • Важные исправления для совместимости с некоторыми готовыми решениями от партнеров
1.1.1 (21.12.2021)
  • Добавлена настройка учета стоимости доставки внутри МКАД (КАД), в случае, если адрес находится за МКАД (КАД)
1.1.0 (16.12.2021)
  • Добавлена настройка подключения Jquery
  • Добавлена настройка адреса страницы оформления заказа (при ее установке библиотеки модуля будут подключаться только на этой странице)
  • Мелкие исправления
1.0.3 (15.12.2021)
  • Критические исправления
1.0.2 (15.12.2021)
  • Незначительные исправления
1.0.1 (15.12.2021)
  • Незначительное исправление подключения библиотеки Dadata
Установка

  1. Установите модуль из Маркетплейс.
  2. Зарегистрируйтесь в сервисе Dadata.
  3. В настройках модуля Настройки->Настройки продукта->Настройки модулей->Расчет стоимости доставки относительно МКАД (г. Москва) и КАД (г. Санкт-Петербург) на вкладке «Интеграция с Dadata» укажите ключ API и секретный ключ, которые Вы можете взять в личном кабинете сервиса Dadata.
  4. В меню Магазин->Настройки->Службы доставки нажмите кнопку «Добавить» и выберите необходимую службу доставки для МКАД или КАД.
  5. В открывшемся окне на вкладке «Общие настройки» при необходимости измените название и описание службы доставки. На вкладке «Настройка обработчика» укажите цену доставки внутри МКАД (КАД). Если планируется простой расчет с ценой за километр, то укажите цену за километр. Если планируется тарификация по дистанциям, то отметьте соответствующий чекбокс.
  6. Если на предыдущем шаге при добавлении службы доставки был отмечен чекбокс «Рассчитывать стоимость доставки на основе таблицы дистанций от МКАД (КАД)», то перейдите в настройки дистанций доставки Магазин->Настройки->МКАД (КАД) — стоимость доставки и добавьте цены для дистанций от МКАД (КАД)
  7. Готово! Модуль настроен.
РАЗРАБОТЧИКАМ

Модулем предусмотрены события, позволяющие влиять на расчет стоимости доставки:

  • OnDeliveryInMkadCalculated – сработает, когда стоимость доставки внутри МКАД рассчитана

  • OnDeliveryOutMkadDistanceCalculated — сработает, когда стоимость доставки за МКАД на основе таблицы дистанций рассчитана

  • OnDeliveryOutMkadForKmCalculated — сработает, когда стоимость доставки за МКАД на основе цены за километр рассчитана

  • OnDeliveryInKadCalculated – сработает, когда стоимость доставки внутри КАД рассчитана

  • OnDeliveryOutKadDistanceCalculated — сработает, когда стоимость доставки за КАД на основе таблицы дистанций рассчитана

  • OnDeliveryOutKadForKmCalculated – сработает, когда стоимость доставки внутри КАД рассчитана

Все события принимают на вход 3 параметра:

  • $order – экземпляр класса Bitrix\Sale\Order для текущего заказа

  • $arAddress – массив с параметрами адреса, полученными от сервиса dadata.ru. Подробнее https://dadata.ru/api/clean/address/#response

  • &$price – рассчитанная стоимость

Приведем пример, как повлиять на рассчитанную стоимость доставки. Допустим, при стоимости заказа более 3500 руб. доставка внутри МКАД должна быть бесплатной. Для решения задачи в файле /bitrix(local)/php_interface/init.php напишем следующий код:

Bitrix\Main\EventManager::getInstance()->addEventHandler("tmg.kaddelivery", "OnDeliveryInMkadCalculated", "OnDeliveryInMkadCalculatedHandler");

function OnDeliveryInMkadCalculatedHandler ($order, $arAddress, &$price) {
   if ($order->getPrice() > 3500) {
      $price = 0;
   }
}


Поддержка
Служба поддержки support@tree-web.ru

Другие решения разработчика

Решение добавлено в корзину

Перейдите в корзину и оформите заказ или продолжите покупки
Перейти в корзину
Продолжить покупки