Компонент «Калькулятор доставки»
Компонент corsik:yadelivery.map позволяет разместить интерактивный калькулятор стоимости доставки на любой странице вашего сайта — на лендинге, в карточке товара, на информационной странице или в любом другом разделе. Компонент работает независимо от оформления заказа и позволяет посетителям заранее узнать стоимость доставки по указанному адресу.
Важно: Для работы компонента необходимо, чтобы модуль «Расчёт стоимости доставки по зонам» был установлен и настроен — должны быть созданы склады, зоны и правила доставки.

Возможности компонента
- Расчёт стоимости доставки по адресу с отображением на карте Яндекс
- Два режима отображения карты: встроенная на странице или во всплывающем окне
- Поддержка подсказок при вводе адреса: DaData или Яндекс
- Ввод параметров заказа (стоимость, вес) для точного расчёта
- Автоматическая загрузка данных из корзины покупателя
- Переключение между несколькими складами
- Отображение типа зоны доставки (в зоне / за зоной / комбинированная)
- Адаптивный дизайн для мобильных устройств
Размещение компонента на странице
Способ 1: Через визуальный редактор Битрикс
- Откройте нужную страницу в режиме правки
- Нажмите кнопку «Добавить компонент» в визуальном редакторе
- В дереве компонентов найдите раздел corsik и выберите yadelivery.map
- Настройте параметры компонента (описаны ниже)
- Сохраните страницу
Способ 2: Через PHP-код
Вставьте вызов компонента в PHP-файл страницы:
<?$APPLICATION->IncludeComponent(
"corsik:yadelivery.map",
".default",
array(
"SELECT_WAREHOUSE" => array("1", "2"), // ID складов
"PERSON_TYPE" => "1", // Тип плательщика
"DISPLAY_MAP" => "PAGE", // PAGE или MODAL
"TYPE_PROMPTS" => "DADATA", // DADATA или YANDEX
"SHOW_ZONE_TYPE" => "Y", // Показывать тип зоны
"SHOW_WAREHOUSE_NAME" => "Y", // Показывать название склада
"START_PRICE" => "300", // Начальная цена
"ADD_ZONE_PRICE" => "Y", // Добавлять стоимость зоны
"HIDE_COST_DELIVERY_FIELD" => "N", // Скрыть поле стоимости
"HIDE_ORDER_WEIGHT_FIELD" => "N", // Скрыть поле веса
"SHOW_DISTANCE" => "Y", // Показывать расстояние
"IN_ZONE_DELIVERY_TIME" => "1-2 дня", // Срок в зоне
"OUT_ZONE_DELIVERY_TIME" => "3-5 дней", // Срок за зоной
"SHOW_INITIAL_PRICE" => "Y", // Показывать начальную цену
"HIDE_NOTIFICATION_BANNER" => "N", // Скрыть баннер
"FORBIDDEN_MESSAGE" => "", // Текст при запрете
"MAP_HEIGHT" => "500", // Высота карты (px)
"ENABLE_CART" => "N", // Загрузка из корзины
"ENABLE_SUGGESTIONS" => "Y", // Включить подсказки
"WEIGHT_UNIT" => "g", // Единица веса: g, kg, t
"SUGGESTIONS_RESTRICTION" => "", // Ограничение подсказок (КЛАДР)
)
);?>
Настройка параметров компонента
После добавления компонента на страницу откроется окно настройки параметров. Параметры разделены на две группы: основные (уровень компонента) и дополнительные (уровень шаблона).
Основные параметры
| Параметр | Описание | Значения |
|---|---|---|
| Склады | Выберите один или несколько складов, из которых будет рассчитываться доставка. Если выбрано несколько — покупатель сможет переключаться между ними | Список складов из настроек модуля |
| Тип плательщика | Тип плательщика Битрикс (физическое/юридическое лицо) | Список из настроек магазина |
| Режим отображения карты | Определяет, как карта будет показана пользователю | На странице — карта встроена прямо на странице; Модальное окно — карта открывается во всплывающем окне по клику |
| Тип подсказок | Какой сервис использовать для подсказок при вводе адреса | Яндекс — подсказки через Яндекс Карты; DaData — подсказки через сервис DaData |
| Показывать тип зоны | Отображать бейдж с типом зоны после расчёта | Да / Нет |
| Показывать название склада | Отображать название склада в результатах расчёта | Да / Нет |
| Включить подсказки | Включить подсказки при вводе адреса (DaData или Яндекс). Если отключено, поле адреса работает без автодополнения | Да / Нет (по умолчанию Да) |
Параметры шаблона
| Параметр | Описание | По умолчанию |
|---|---|---|
| Первоначальная стоимость доставки | Цена, отображаемая до первого расчёта (например, «от 300 руб.») | Пусто |
| Добавить стоимость зоны к километражу | Суммировать стоимость доставки по зоне со стоимостью по километражу | Да |
| Скрыть поле «Стоимость заказа» | Скрыть поле ручного ввода стоимости заказа | Нет |
| Скрыть поле «Вес заказа» | Скрыть поле ручного ввода веса заказа | Нет |
| Показывать расстояние | Показывать расстояние до адреса в результатах расчёта | Да |
| Срок доставки в зоне | Текст с ориентировочным сроком доставки внутри зоны (например, «1-2 дня») | Пусто |
| Срок доставки за зоной | Текст с ориентировочным сроком доставки за пределами зоны (например, «3-5 дней») | Пусто |
| Показывать начальную стоимость до расчёта | Отображать начальную цену в блоке результата до того, как пользователь введёт адрес | Да |
| Скрыть баннер-уведомление | Скрыть информационный баннер в шапке компонента | Нет |
| Текст при запрете доставки | Собственный текст, который будет показан, если доставка по данному адресу запрещена. Если оставить пустым, отобразится текст по умолчанию: «Доставка запрещена» | Пусто |
| Высота карты | Высота контейнера карты в пикселях | 500 |
| Единица измерения веса | Единица измерения для поля ввода веса заказа | Граммы (по умолчанию), Килограммы, Тонны |
| Загрузка данных из корзины | Включить возможность автоматически загрузить стоимость и вес из текущей корзины покупателя | Нет |
| Ограничение подсказок | Код КЛАДР или ФИАС для ограничения географии подсказок адреса (например, только Москва и область) | Пусто |
Основные элементы интерфейса
Компонент включает следующие настраиваемые блоки:
- Баннер-уведомление — информационная подсказка в верхней части. Можно скрыть через параметр «Скрыть баннер-уведомление»
- Поле ввода адреса — с подсказками DaData или Яндекс (настраивается через «Тип подсказок»). Подсказки можно отключить параметром «Включить подсказки»
- Выбор склада — отображается автоматически, если в параметрах выбрано несколько складов
- Параметры заказа — поля стоимости и веса, каждое можно скрыть отдельно. Единица измерения веса настраивается параметром «Единица измерения веса»
- Загрузка из корзины — при включении параметра «Загрузка данных из корзины» появляется кнопка для автоматического заполнения стоимости и веса из текущей корзины покупателя
Блок результата расчёта
Блок результата отображает текущее состояние и проходит через несколько этапов: загрузка, начальное состояние (до ввода адреса), процесс расчёта и итоговый результат.
После успешного расчёта отображаются: стоимость доставки, расстояние, тип зоны (в зоне / за зоной / комбинированная), срок доставки и название склада — каждый элемент настраивается через соответствующие параметры компонента.
Если доставка по адресу невозможна, отображается сообщение о запрете. Текст запрета можно задать через параметр «Текст при запрете доставки».
Режимы отображения карты
Компонент поддерживает два режима отображения карты, которые выбираются через параметр «Режим отображения карты»:
- На странице (PAGE) — карта встраивается прямо на страницу. Высота настраивается через параметр «Высота карты». Под картой доступна кнопка для её расширения.
- Модальное окно (MODAL) — карта открывается во всплывающем окне по кнопке «Указать точку на карте». Подходит для страниц с ограниченным пространством, например карточки товара.
Ответы на часто задаваемые вопросы по компоненту доступны в разделе Общие вопросы.