Быстрый старт
Шаг 1. Получите API-ключи
Получение API-ключей для необходимых сервисов
- Яндекс.Карты - получите ключ для пакета «JavaScript API и HTTP Геокодер».
- Яндекс Геосаджеста - если вы планируете использовать подсказки от Яндекса, получите ключ для пакета «API Геосаджеста».
- DaData - если вы планируете использовать подсказки от DaData, получите ключ для пакета DaData.
Сохранение API-ключей
Сохраните полученные ключи в административной части вашего сайта в разделе “Сервис -> Расчет стоимости доставки по зонам -> Настройки”.
- В разделе Доставка вставьте ваш ключ от Яндекс.Карт в поле API-ключ для Яндекс.Карт.
- В разделе Подсказки выберите нужные подсказки и вставьте соответствующий API-ключ. Для подсказок Яндекса - поле API ключ Яндекс Геосаджеста, для подсказок DaData - поле API ключ DaData.
Шаг 2. Подключите API
Для корректной работы модуля необходимо подключить Яндекс.Карты на вашем сайте, добавив тег <script>
, который загрузит на страницу JS API.
<script src="https://api-maps.yandex.ru/2.1/?apikey=YOUR_MAP_API_KEY&suggest_apikey=YOUR_SUGGEST_API_KEY&lang=ru_RU"></script>
Важно проверить
Проверьте, не подключены ли Яндекс.Карты уже на вашем сайте, так как повторное подключение не рекомендуется. Убедитесь, что карты не подключаются другим модулем.
Способы подключения
Подключение в компоненте sale.order.ajax
Вы можете добавить подключение внутри компонента sale.order.ajax. В файле template.php найдите строку с подключением Яндекс.Карт:
<script src="<?=$scheme?>://api-maps.yandex.ru/2.1/?lang=<?=$locale?>"></script>
и замените на:
<?php
$apiKey = htmlspecialcharsbx(Bitrix\Main\Config\Option::get('fileman', 'yandex_map_api_key', ''));
$apiKeyGeoSuggest = htmlspecialcharsbx(Bitrix\Main\Config\Option::get('corsik.yadelivery', 'api_key_geoSuggest'));
?>
<script src="<?= $scheme ?>://api-maps.yandex.ru/2.1/?lang=<?= $locale ?><?= $apiKey ? "&apikey=$apiKey" : "" ?><?= $apiKeyGeoSuggest ? "&suggest_apikey=$apiKeyGeoSuggest" : "" ?>"></script>
Подключение с помощью метода модуля
Модуль предоставляет метод Handler::getYandexMapLink()
, который возвращает готовый <script>
для подключения на вашем сайте.
Пример подключения в <head>
вашего сайта с помощью метода от 1С-Битрикс addString:
if (Bitrix\Main\Loader::includeModule('corsik.yadelivery'))
{
Bitrix\Main\Page\Asset::getInstance()->addString(Corsik\YaDelivery\Handler::getYandexMapLink(), true);
}
Автоматическое подключение
Если вы не выполнили ни один из пунктов по подключению <script>
, модуль в течение 5 секунд ожидает подключения и загрузки Яндекс.Карт. Если карты не будут подключены, модуль подключит их автоматически с нужными ключами. Однако, если ранее были подключены Яндекс.Карты без ключей, расчет не будет работать.
Шаг 3. Выберите нужные настройки и сохраните их
Перейдите в настройки модуля “Сервис -> Расчет стоимости доставки по зонам -> Настройки”. Примените нужные настройки модуля, перейдя в разделы Доставки, Подсказки, Дополнительные поля, Визуальные настройки.
Шаг 4. Создание складов и зон доставки
Перейдите в модуль “Сервис -> Расчет стоимости доставки по зонам”.
- В разделе Зоны доставки создайте нужную зону доставки или используйте предустановленные.
- В разделе Склады добавьте ваш склад и выберите зону доставки, в которой он находится.
Шаг 5. Создание профиля доставки
Служба и профиль доставки создаются во время установки модуля. Вам необходимо выбрать внутри профиля доставки нужный склад, с которого будет осуществляться доставка.