1290
15.00
18.43
за сайт
- Проверено Modstore
- Бесплатные будущие обновления
- Работа на тестовом и публичном домене
- 12 месяцев тех. поддержки
Версия
1.0.0-pl
Дата выпуска
31.08.2026
Загрузки
0
Просмотры
5
Внимание, этот компонент требует PHP
8.2
или выше!
Внимание, этот компонент требует MODX 3 или выше.
Локатор точек сети на Яндекс.Картах для MODX Revolution 3.
На странице: карта с маркерами, список, поиск по адресу, «Моё местоположение», бейджи «Открыто» / «Закрыто». Плюс REST API v1 для headless, CSV в CMP и карта самовывоза на карточке MiniShop3. Одна точка = один опубликованный ресурс с TV.
Зависимость при установке.
Сначала поставьте пакет YandexMapsLocator, затем Pro. Без базового пакета Pro не установится.
Кому подойдёт: сеть магазинов, ПВЗ или филиалов на MODX 3, где нужна витрина на карте, headless API, массовый импорт точек или самовывоз по товару в MiniShop3.
Назначение
Как это работает
Возможности
Пустой api_token на стенде открывает REST без токена. На production задайте Bearer. Если api_enabled выключен, REST отвечает 503, локатор на странице остаётся на search.php.
Пример вызова
Ближайшие от координат
Фильтр по категории
JSON для своего фронта (same-origin)
Для SPA на другом origin используйте REST api.php?route=api/v1/locations, не return=json.
Только открытые сейчас
Задайте yandexmapslocator_timezone (IANA). Для фильтра в TV часов нужен JSON. Текст без JSON показывается в карточке, но «открыто» для него не считается.
Точки с товаром (MiniShop3)
TV по умолчанию
Ставятся при установке базового пакета YandexMapsLocator. Имена можно сменить через yandexmapslocator_tv_*.
Установка
Требования:
На странице: карта с маркерами, список, поиск по адресу, «Моё местоположение», бейджи «Открыто» / «Закрыто». Плюс REST API v1 для headless, CSV в CMP и карта самовывоза на карточке MiniShop3. Одна точка = один опубликованный ресурс с TV.
Зависимость при установке.
Сначала поставьте пакет YandexMapsLocator, затем Pro. Без базового пакета Pro не установится.
Кому подойдёт: сеть магазинов, ПВЗ или филиалов на MODX 3, где нужна витрина на карте, headless API, массовый импорт точек или самовывоз по товару в MiniShop3.
Назначение
- карта Яндекса со списком точек (на телефоне — табы «Список» / «Карта»);
- поиск по адресу, геолокация, сортировка по расстоянию, маршрут в Навигатор;
- фильтр «только открытые», бейджи по расписанию;
- REST для SPA на другом origin (CORS, Bearer);
- CSV import/export в менеджере;
- на карточке товара MiniShop3 — только точки, где товар доступен.
Как это работает
- Установите YandexMapsLocator, затем YandexMapsLocatorPro.
- Создаёте контейнер и дочерние ресурсы-точки, заполняете TV адреса и координат.
- В форме ресурса можно нажать кнопку геокода (нужен API-ключ Яндекса).
- На странице вызываете сниппет YandexMapsLocator с parents = ID контейнера.
- Чанки на Fenom (pdoTools) отдают HTML. При включённом api_enabled UI ходит в REST api.php, иначе в search.php.
Возможности
- Локатор. Сниппет YandexMapsLocator: форма, список, карта. Параметры parents, limit, radius, sortby, category, filters, context, return, productId.
- Режимы вывода. chunks (HTML), data (плейсхолдеры), json для своего шаблона на том же origin. Headless с другого хоста — через REST.
- Геолокация и поиск. «Моё местоположение», HTTP Геокодер Яндекса, радиус и сортировка по distance.
- Карточка и балун. Адрес, телефон, часы, маршрут, balloon image, custom marker icon, бейджи открытости.
- TV и геокод в mgr. Набор TV ставится с базовым пакетом. Имена задаёте через yandexmapslocator_tv_*. Для MiniShop3 на точке — ms3_product_id.
- UI. Mobile-first, BEM yml-*, атрибуты data-yml-*, CSS-переменные на .yml-locator.
- Multi-context. Параметр context, настройки default_context и allowed_contexts.
- REST API v1. api.php?route=api/v1/locations (список, деталь, geostrong). CORS, Bearer (api_token), whitelist fields/include, kill switch api_enabled. Pro API.
- «Открыто сейчас». Фильтр working_now, поля is_open_now / working_hours_schedule, бейджи, кнопка «Только открытые». Таймзона: yandexmapslocator_timezone (IANA). В TV часов для фильтра нужен JSON. открыто сейчас.
- CSV в CMP. Компоненты → YandexMapsLocator Pro: импорт и экспорт по ID контейнера. Менеджер Pro.
- MiniShop3. TV ms3_product_id + productId и фильтр minishop_product. MiniShop3.
Пустой api_token на стенде открывает REST без токена. На production задайте Bearer. Если api_enabled выключен, REST отвечает 503, локатор на странице остаётся на search.php.
Пример вызова
{'!YandexMapsLocator' | snippet : [
'parents' => 123,
'radius' => 50,
'sortby' => 'distance'
]}Ближайшие от координат
{'!YandexMapsLocator' | snippet : [
'parents' => 42,
'latitude' => 55.03,
'longitude' => 82.92,
'radius' => 30,
'sortby' => 'distance',
'limit' => 20
]}Фильтр по категории
{'!YandexMapsLocator' | snippet : [
'parents' => 42,
'category' => 'аптека',
'filters' => 'category'
]}JSON для своего фронта (same-origin)
{'!YandexMapsLocator' | snippet : [
'parents' => 42,
'return' => 'json'
]}Для SPA на другом origin используйте REST api.php?route=api/v1/locations, не return=json.
Только открытые сейчас
{'!YandexMapsLocator' | snippet : [
'parents' => 42,
'filters' => 'working_now'
]}Задайте yandexmapslocator_timezone (IANA). Для фильтра в TV часов нужен JSON. Текст без JSON показывается в карточке, но «открыто» для него не считается.
Точки с товаром (MiniShop3)
{'!YandexMapsLocator' | snippet : [
'parents' => $storesParent,
'productId' => $_modx->resource.id,
'filters' => 'minishop_product'
]}TV по умолчанию
Ставятся при установке базового пакета YandexMapsLocator. Имена можно сменить через yandexmapslocator_tv_*.
- yandexmaps_address — адрес точки (поиск, балун, карточка). По нему же работает кнопка геокода в mgr.
- yandexmaps_latitude / yandexmaps_longitude — координаты маркера и сортировки по distance.
- yandexmaps_phone — телефон в карточке и балуне (ссылка tel:).
- yandexmaps_email — email точки (Store / REST при запросе поля).
- yandexmaps_working_hours — часы: текст для показа или JSON для фильтра «открыто сейчас» и бейджей.
- yandexmaps_category — категория. Фильтр: filters=category + параметр category.
- yandexmaps_balloon_image — картинка в балуне (fallback: default_balloon_image).
- yandexmaps_marker_icon — своя иконка маркера. Размер: yandexmapslocator_marker_icon_size.
- ms3_product_id — ID товара MiniShop3 на точке (для productId).
Установка
- Установите YandexMapsLocator, затем YandexMapsLocatorPro. См. быстрый старт.
- Укажите yandexmapslocator_api_key (JS API и HTTP Геокодер в кабинете Яндекса). Список ключей: настройки.
- Создайте контейнер и дочерние точки, заполните TV.
- Вызовите сниппет на странице (нужен pdoTools). Параметры: сниппет YandexMapsLocator.
Требования:
- MODX Revolution 3.x,
- PHP 8.2+,
- MySQL/MariaDB,
- пакет YandexMapsLocator ≥1.0.0
- pdoTools
- ключ Яндекс.Карт.
Changelog — YandexMapsLocatorPro
Формат: Keep a Changelog Версии: Semantic Versioning
[1.0.0] - 2026-08-31
Первый публичный релиз YandexMapsLocatorPro. Требует установленный YandexMapsLocator (Free) ≥ 1.0.0.
Added
REST API v1
- Endpoint
api.php:locations,locations/{id},geocode. - Маршрутизация через
?route=api/v1/…(PATH_INFO на многих хостингах ненадёжен). - CORS, Bearer (
api_token), kill switchapi_enabled, rate limits, whitelistfields/include. - Headless-сценарии (Nuxt / Next):
docs/headless.mdв Free.
«Открыто сейчас»
- Фильтр
working_now, поляis_open_now,working_hours_schedule. - Таймзона сети: Free-настройка
yandexmapslocator_timezone(расписание в TV — местное время, не UTC сервера). Для фильтра нужен JSON в TV часов. - Бейджи «Открыто» / «Закрыто» в карточках и балуне.
- Кнопка «Только открытые» (
pro.js); фильтр сохраняется при locate и поиске по адресу.
CMP и данные
- Меню Компоненты → YandexMapsLocator Pro: CSV import/export по ID контейнера.
- Колонки:
id,pagetitle,address,latitude,longitude,phone,email,category,working_hours. - Экспорт в контексте
yandexmapslocator_default_context(не mgr).
MiniShop3
- Фильтр
minishop_product/ параметрproductId: карта только с точками, где товар доступен (TVms3_product_id).
Интеграция с Free
ProFeatureProvider(capabilitypro), plugin на события Extension API Free.- При
api_enabled=NoREST отвечает 503, on-page локатор используетsearch.php.
Requirements
- YandexMapsLocator (Free) ≥ 1.0.0 < 2.0.0
- PHP 8.2+, MODX Revolution 3.0+
- pdoTools (чанки Free)



Последние обсуждения в сообществе MODX.pro