Skip to content
PageBuilder
PageBuilder
Визуальный конструктор секций для MODX 3: черновик и публикация без перезаписи content ресурса
  • MODX 3
  • PHP 8.2
  • Vue 3
  1. Компоненты
  2. PageBuilder
  3. Типы полей
  4. Pro
  5. map

Поле map ​

Версия: Pro (advanced-fields).

Зачем этот тип ​

Широта, долгота, масштаб и провайдер карты в инспекторе (отдельного поля «улица» нет — текстовый адрес у типа address). После save enrich добавляет embed_url и watch_url любому объекту с ключами lat и lng. Плоские map_embed_url, map_provider, map_watch_url пишутся при первом успешном встраивании; при нескольких точках приоритет у ключа location.

Когда использовать ​

  • Офис на странице контактов
  • Одна точка доставки или самовывоза
  • Карта рядом с формой

Советы ​

Несколько точек собирают полем repeater: широта и долгота отдельными текстовыми полями или своей схемой. Адрес встраивания берите из сохранённых данных, не собирайте ссылку вручную.

Похожие типы ​

  • text для адреса без координат
  • url, если нужна готовая ссылка на карты и точку не выбирают на карте

Настройка ​

json
{
  "name": "location",
  "type": "map",
  "label": "Карта",
  "tab": "Контент",
  "width": 100,
  "active": true
}

Значение ​

Объект { lat, lng, zoom, provider }.

Данные секции ​

Ключ location в данных секции после save enrich (MapEmbedResolver):

json
{
  "location": {
    "lat": 55.751244,
    "lng": 37.618423,
    "zoom": 14,
    "provider": "yandex",
    "embed_url": "https://yandex.ru/map-widget/v1/?ll=37.618423%2C55.751244&z=14&pt=37.618423%2C55.751244%2Cpm2rdm&l=map",
    "watch_url": "https://yandex.ru/maps/?ll=37.618423%2C55.751244&z=14&pt=37.618423%2C55.751244%2Cpm2rdm&l=map"
  },
  "map_embed_url": "https://yandex.ru/map-widget/v1/?ll=37.618423%2C55.751244&z=14&pt=37.618423%2C55.751244%2Cpm2rdm&l=map",
  "map_provider": "yandex",
  "map_watch_url": "https://yandex.ru/maps/?ll=37.618423%2C55.751244&z=14&pt=37.618423%2C55.751244%2Cpm2rdm&l=map"
}
  • Провайдер по умолчанию yandex; osm: OpenStreetMap.

Пример в chunk ​

modx
<iframe src="[[+location.embed_url]]" title="Карта"></iframe>
fenom
<iframe src="{$location.embed_url|default($map_embed_url)|escape}" title="Карта"></iframe>

Общие свойства ​

Для полей с name, которые сохраняются в данных секции:

КлючТипРольПанель
tabstringПодзаголовок группы в инспектореда
width25, 33, 50, 66, 75, 100Ширина поля в % строки (flex); в CMP только эти значенияда
descriptionstringПодсказка под подписьюда
defaultanyНачальное значение новой секциида
activeboolfalse: скрыть поле в инспектореда
requiredboolОбязательно при publish (черновик сохраняется)да

Подробнее: обзор полей.

Дальше ​