GeoIP 4.0

\BXmaker\GeoIP\Manager

\BXmaker\GeoIP\Manager -

namespace BXmaker\GeoIP;
class Manager extends \CBXmaker_GeoIP_Manager
{
    //...
}

Константы

EVENT_ON_CREATE_POSITION_BY_GEO_DATA

Вызывается при создании позиции на основе геоданнных, дает возможность дополнить набор полей и/или изменить значения

Передаваемые поля:

  • POSITION - объект класса \BXmaker\GeoIP\Position
  • GEO_DATA - объект класса \BXmaker\GeoIP\Service\Data или расширяющего его
\BXmaker\GeoIP\Manager::EVENT_ON_CREATE_POSITION_BY_GEO_DATA = 'onCreatePositionByGeoData'

EVENT_ON_CREATE_POSITION_BY_LOCATION_ID

Вызывается при создании позиции на основе идентификтаора местоположения, дает возможность дополнить набор полей и/или изменить значения

Передаваемые поля:

  • POSITION - объект класса \BXmaker\GeoIP\Position
  • LOCATION_ID - идентификтаор переданного местоположения
\BXmaker\GeoIP\Manager::EVENT_ON_CREATE_POSITION_BY_LOCATION_ID = 'onCreatePositionByLocationId'

EVENT_ON_SELECT_LOCATION

Вызывается во время обработки запроса на смену местоположения

Передаваемые поля:

  • RESPONSE - готовый массив с данныеми отправляемыми на клиент,
  • RESPONSE[nextPosition] - объект класса \BXmaker\GeoIP\Position содержащий новую позицию
  • RESPONSE[previousPosition] - объект класса \BXmaker\GeoIP\Position содержащий предыдущую позицию
  • RESPONSE[redirect] - null|string - подержит адрес для редиректа на поддомен или другую дирректорию

Можно имзенить значения или дополнить своими данными, если вернуть в обработчике успешный результат и передать массив с ключем RESPONSE содержащим новые данные

\BXmaker\GeoIP\Manager::EVENT_ON_SELECT_LOCATION = 'onSelectLocation'

EVENT_ON_LOCATION_TRANSFER_REDIRECT

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

Передаваемые поля:

  • URI - объект класса \Bitrix\Main\Web\Uri содержащйи адрес на который будет произведен редирект
  • PREVIOUS_POSITION - объект класса \BXmaker\GeoIP\Position содержащий предыдущую позицию или null
  • NEXT_POSITION - объект класса \BXmaker\GeoIP\Position содержащий новую позицию или null

Можно изменить url на который произойдет редирект, если вернуть в обработчике успешный результат и передать массив с ключем URI содержащим новые данные

\BXmaker\GeoIP\Manager::EVENT_ON_LOCATION_TRANSFER_REDIRECT = 'onLocationTransferRedirect'