Что умеет решение
Начиная с версии 2.0.0 модуль поддерживает расширение без изменения исходного кода. Список геоинформационных служб и порядок их вызова формируются через событие onBuildServiceList. Вы можете подключать собственные службы из других модулей, зарегистрировав обработчик события и вернув полное имя класса службы.
Модуль предоставляет API для определения местоположения по IP-адресу. Если адрес не указан явно, используется текущий IP пользователя. Информация о последнем определенном адресе сохраняется в cookies для уменьшения количества запросов.
Выводимые данные о местоположении:
- название города;
- название страны на языке сайта;
- ISO-код страны;
- ID страны в CMS 1С-Битрикс;
- название региона;
- ISO-код региона;
- широта и долгота;
- название района (доступно только при использовании сторонних служб, подключенных через onBuildServiceList, встроенная служба Sypex это поле не заполняет);
- диапазон IP-адресов (доступно только при использовании сторонних служб, подключенных через onBuildServiceList, встроенная служба Sypex это поле не заполняет).
Модуль Rover GeoIP в стандартном режиме возвращает данные от первого сервиса, успешно предоставившего ответ. Список служб и порядок их вызова настраиваются через событие onBuildServiceList. Единственная встроенная служба — sypexgeo.net (Sypex) — подключена аналогичным образом и активна по умолчанию.
Службы ipgeobase.ru (IpGeoBase) и freegeoip.net (FreeGeoIp) исключены из модуля, так как данные сервисы прекратили работу и больше не предоставляют публичный API. Разработчики могут интегрировать собственные геоинформационные сервисы через событие onBuildServiceList без необходимости изменения исходного кода модуля.
Компоненты
Компонент rover:geoip.user.location определяет местоположение пользователей на основе IP-адреса при их первом посещении сайта. Доступ к компоненту имеют только администраторы. Для корректной работы требуется установленный модуль «Веб-аналитика».
Полная документация API и примеры использования доступны в репозитории проекта на GitHub.
Для задач, требующих расширенного функционала и более удобного пользовательского интерфейса с аналогичными возможностями, рекомендуется рассмотреть решение «Улучшенный выбор местоположения с определением по IP, замена контента в зависимости от города».
Модуль GeoIP API разработан Павлом Шулаевым.
General iT может установить «GeoIp Api», настроить параметры модуля и проверить его работу в существующем проекте.