Skip to content
  1. Компоненты
  2. GeoLocation2
  3. Быстрый старт

Быстрый старт

1. Настройки

В Система → Настройки системы → geolocation2 задайте:

КлючРекомендация для старта
geolocation2_detect_methodsxgeo — определение по IP при первом визите
geolocation2_debug0 на проде, 1 при отладке

Подробнее: Системные настройки.

2. Шаблон сайта

В <head> или перед </body> подключите инициализацию (CSS/JS и Bootstrap 5, если ещё нет на странице):

fenom
{'!GeoLocation2Initialize' | snippet}
modx
[[!GeoLocation2Initialize]]

Параметры loadBootstrap, loadCss, loadJs — в GeoLocation2Initialize.

3. Модалка и текущий город

В шапке или футере:

fenom
{'!GeoLocation2Current' | snippet : [
  'tpl' => 'tpl.GeoLocation2.current'
]}
{'!GeoLocation2Modal' | snippet}
modx
[[!GeoLocation2Current? &tpl=`tpl.GeoLocation2.current`]]
[[!GeoLocation2Modal]]

Чанк tpl.GeoLocation2.current поставляется с пакетом. В нём кнопка с data-gl2-open="1" открывает модалку.

4. Проверка

  1. Откройте сайт в режиме инкогнито.
  2. Должна появиться модалка с предложением города (SxGeo) или списком городов.
  3. После выбора город сохраняется в $_SESSION['gl2'].
  4. Запрос GET /assets/components/geolocation2/action.php?action=state (с заголовком X-Requested-With) возвращает JSON с state, confirmed и полями сессии.

5. Данные по городу

Если заполнили gl_data в менеджере:

fenom
{'!GeoLocation2Data' | snippet : [
  'forCurrent' => 1,
  'tpl' => 'tpl.GeoLocation2.data.current'
]}
modx
[[!GeoLocation2Data? &forCurrent=`1` &tpl=`tpl.GeoLocation2.data.current`]]

Дальше: Интеграция, Web API, FAQ.