К содержимому
Вывод в теме

Карта на страницах сайта

Обновлено

Вывод через блок

Плагин регистрирует блок shop.shipping_shippingzones.map при сохранении настроек способа доставки, если установлено приложение «Сайт». Скопировать готовый вызов можно во вкладке «Общие настройки», в разделе «Карта доставки на любых страницах», кнопкой «Скопировать».

Вставьте вызов в Smarty-шаблон темы или в текст страницы, где обрабатывается Smarty: например, на страницу «Доставка» приложения «Сайт» либо магазина.

{$wa->block("shop.shipping_shippingzones.map", ["id" => 5])}

Здесь 5 — пример ID экземпляра способа доставки. Подставьте своё значение из кода в настройках. Его также можно узнать по последнему числу в адресе страницы настройки способа, например …/shipping/plugin/setup/5/.

Это вызов блока Webasyst. Отдельного хелпера для темы у системного плагина нет; обёртка с version() для вывода блока не требуется.

Что показывает блок

Карта показывает полигоны выбранного способа, их цвета и названия. Рядом выводится таблица тарифов в режиме из настройки «Отображение тарифов в чекауте». Высота берётся из «Высота карты в чекауте, px», ширина по умолчанию — 100%.

Блок предназначен для просмотра зон и тарифов. Он не является формой расчёта по введённому адресу и не строит маршрут от склада до покупателя. Определение адреса и расчёт маршрута выполняются виджетом выбранного способа при оформлении заказа.

Параметр id относится к способу доставки, а не к зоне. Для другого экземпляра плагина используйте его собственный ID.

Если карта не появилась

  1. Убедитесь, что установлено приложение «Сайт», затем сохраните общие настройки способа: это регистрирует блок.
  2. Скопируйте вызов из настроек повторно и проверьте ID.
  3. Проверьте ключ Яндекс Карт и наличие сохранённых зон с полигонами.
  4. Убедитесь, что место вставки обрабатывает Smarty и браузеру доступен JavaScript API Яндекса.

Вызов незарегистрированного блока не выводит карту. Для нескольких карт на одной странице не предполагается независимое размещение: текущий виджет ищет первый контейнер .js-shippingzones-map. Используйте один блок карты на страницу.

Для разработчика

Шаблоны виджета оформления и карты страниц входят в плагин и загружаются из его каталога.

Код загружает эти шаблоны непосредственно из каталога плагина. Собственного механизма переопределения через файлы темы не предусмотрено. При повторном сохранении настроек плагин снова записывает содержимое своего блока, поэтому ручные изменения этого блока могут быть перезаписаны.