Skip to content
YandexMapsLocator
YandexMapsLocator
Локатор точек на Яндекс.Картах для MODX 3. Free: карта и поиск. Pro: «открыто сейчас», MiniShop3, CSV и REST
  • MODX 3
  • PHP 8.2
  1. Компоненты
  2. YandexMapsLocator
  3. Pro
  4. CSV в менеджере

CSV в менеджере ​

После установки Pro откройте Компоненты → YandexMapsLocator Pro.

Нужно право save_document.

Что умеет ​

  • экспорт точек контейнера в CSV
  • импорт CSV (создание и обновление ресурсов)
  • массовый геокод для точек без координат
  • превью расписания на форме ресурса («Проверить расписание»): кнопка есть только если TV yandexmaps_working_hours привязан к шаблону этого ресурса

Поля формы ​

ПолеОписание
parentID контейнера (обязательно)
templateШаблон новых ресурсов (необязательно, при импорте)
geocode_missingЧекбокс: геокод при импорте, если нет координат
CSVТекст или файл
limitМассовый геокод: сколько точек за проход. По умолчанию 50, максимум 200, из интерфейса всегда 50
dry_runМассовый геокод: только посчитать, ничего не писать. В интерфейсе недоступен, работает при прямом вызове процессора YandexMapsLocatorPro\Processors\Mgr\Locations\BulkGeocode

За один проход массового геокода обрабатывается максимум 200 точек. Дальше запускайте повторно.

Внимание

Массовый геокод берёт только прямых потомков контейнера: у ресурсов жёстко parent = ваш ID, рекурсии и ancestors нет. Точки во вложенных папках внутри контейнера молча пропускаются. Такие контейнеры запускайте отдельно, по одному.

Колонки CSV ​

14 колонок:

id, pagetitle, address, latitude, longitude, phone, email, category, working_hours, timezone, ms3_product_id, ms3_product_ids, amenities, brand.

Файл экспорта: yandexmapslocator-locations.csv, UTF-8 с BOM.

Пример строк ​

csv
id,pagetitle,address,latitude,longitude,phone,email,category,working_hours,timezone,ms3_product_id,ms3_product_ids,amenities,brand
15,"Магазин на Ленина","Омск, ул. Ленина, 25",54.9893,73.3682,"+7 3812 00-00-00",shop@example.com,аптека,"{""mon"":[""09:00-21:00""],""tue"":[""09:00-21:00""],""wed"":[""09:00-21:00""],""thu"":[""09:00-21:00""],""fri"":[""09:00-22:00""],""sat"":[""10:00-22:00""],""sun"":[""10:00-20:00""]}",Asia/Omsk,,25,"wifi,card",
16,"Пункт выдачи","Омск, пр. Мира, 10",54.9921,73.3710,"+7 3812 11-11-11",,склад,,Asia/Omsk,,"25,26","parking",
  • Пустой id при импорте: создаётся новый ресурс под parent.
  • Заполненный id: обновляется существующий (если найден).
  • Пустой pagetitle: ресурс получает заголовок Location.
  • working_hours: JSON в одной ячейке (экранируйте кавычки как в CSV) или оставьте пустым / текст для отображения без «открыто сейчас».
  • timezone: IANA на точке. Пусто: сеть yandexmapslocator_timezone.
  • ms3_product_ids: несколько ID через запятую или JSON. Если заполнено, важнее ms3_product_id.

Обязательные колонки ​

Валидатор требует pagetitle, address, latitude, longitude. Любая колонка вне списка из 14 или повтор имени отбивают весь файл целиком, а не строку.

Внимание

Пустая ячейка не трогает существующее TV: импортёр выходит на пустом значении до записи. Удалить телефон или категорию импортом нельзя, чистите поле вручную на ресурсе.

Кодировка ​

Экспорт: UTF-8 с BOM. Импорт из менеджера: файл уходит на сервер в base64, чтобы кириллица не ломалась в POST. Base64 предпочтителен, но принимается и прямой текст: если декодирование не удалось, берётся сырая строка. Импортёр снимает BOM и чинит типичный double-UTF-8 в ячейках. Если адреса на карте всё ещё как Ð…, переимпортируйте CSV после обновления пакета.

Контекст экспорта ​

Экспорт ищет точки в yandexmapslocator_default_context (по умолчанию web), не в контексте менеджера. Точки в другом контексте: смените настройку или перенесите ресурсы.

Типичный сценарий ​

  1. Экспортируйте контейнер parent=42.
  2. Поправьте координаты, телефоны, timezone, товары.
  3. Импортируйте тот же CSV с тем же parent (и template для новых строк без id).
  4. При необходимости запустите массовый геокод для строк без координат. Он берёт только прямых потомков parent.
  5. Проверьте публикацию и сниппет на сайте.