Определение города (местоположения) по IP 2.0

Кратко о модуле определения города по IP на Битркис

Краткая информация по модулю определения города (местоположения) по IP 2.0

Установить модуль можно отсюда Определение города (местоположения) по IP 2.0

Этот модуль определяет город пользователя по его IP адресу и работает на любых редакциях Битрикса.

  1. Для редакций  с модулем интернет-магазин, используются данные о местоположениях из него.  
  2. Если же редакция без модуля интернет-магазина, то в соответствующем разделе  текущего модуля можно загрузить страны, города и регионы Росси, Украины, Казахстана.  

Схема определения города 

При первом заходе пользователя, происходит определение города пользователя по базе IP адресов с GeoIP. Эти данные используются всеми свтроенными комопнентами  и выводятся в соответствующих местах.

После того как определение произошла, страница сгенерировалась и загрузилась на страницу пользвоателя, начинает выполняться javascript.  В этот момент, если не было сделано ранее (первый заход покупателя), происходит запрос к Сервисам Яндекса, для уточнения города пользователя - необходимо для более точного определения местоположения ( данные в яндексе более точные и чаще обновляются).

После получения информации от сервисов яндекса, все это происходит очень быстро и незаметно для человека, данные отправляются фоновым запросом на сервер сайта, где происходит уточнение и сохранение данных. Затем в браузере происходит подмена информации на акутальную - город, геозависимое сообщение, расчет доставки товара в его город и тп.

Как установить на сайт

После установки модуля в демо-режиме на сайт или покупки, необходимо в шаблоне сайта разместить компоненты. Мы написали инструкцию по установке по шагам и спримерами кода для вставки в шаблон - Установка по шагам

Если вы не можете самомстоятельно установить - напишите нам на почту, указанную внизу страницы - установим бесплатно.

Какие компоненты присутствуют в модуле?

После установки появятся 4 комопнента,  которые можно найти при редактирвоании страницы сайта в редакторе справа в подпункте веб-студия BXmaker /  местоположения.
  1.  bxmaker:geoip.city - «Город + popup»   выводится город (опционально) и скрытое попап окно, которое отображается  для смены города
  2. bxmaker:geoip.city.line - «Вывод названия города» - выводит город и таблички с  подтверждением (опционально)
  3. bxmaker:geoip.delivery - «Информация о доставке» - выводит о стоимость и сроки доставки товара в город пользователя
  4. bxmaker:geoip.message - «Геозависимые сообщения» -  позволяют выводить разные данные, например номер телефона, для разных городов (местоположений) или групп местоположений

Как обновляется база IP адресов?

Вам не надо вручную обновлять базу IP адресов, так как в системе при установке модуля будет создан агент, который ежедневно загружает свежую базу. 

Агент - \Bxmaker\GeoIP\Agent::updateBase();

Как подключить и использовать данные модуля?

Данные модуля можно использовать как на серверной стороне так и на клиентской (в браузере польователя)

Для клиентской стороны существует специальный javascript класс BXmakerGeoIPCity. Если в настройках модуля включен режим отладки, то в консоли браузера можно видеть все события которые всплывают в тот или иной момент,  подписаться на них и выполнить необходимые операции. Подробнее про классы JS используемые в модуле

if(!!window.BXmakerGeoIPCity)
{
    $('.city-name').text(window.BXmakerGeoIPCity.getCity());
}

//или

$(document).on('bxmaker.geoip.city.show', function(event, data){
   $('.city-name').text(data.city);
});

 Для серверной стороны используйте класс \BXmaker\GeoIP\Manager.

\Bitrix\Main\Loader::includeModule('bxmaker.geoip');

$oManager = \Bxmaker\GeoIP\Manager::getInstance();

echo $oManager->getCity();