- Аспро: Премьер
- Аспро: Лайтшоп
- Аспро: Максимум
- Аспро: Корпоративный сайт 3.0
- Аспро: Приорити 2.0
- Аспро: Приорити
- Аспро: Next
- Аспро: Корпоративный сайт 2.0
- Аспро: Маркет
- Аспро: Digital 2.0
- Аспро: Детский сад и образовательный центр
- Аспро: Медицинский центр 3.0
- Аспро: Металл
- Аспро: Стройка 2.0
- Аспро: Автосервис
- Аспро: Инжиниринг
- Аспро: Курорт 2.0
- Аспро: Ландшафт 2.0
- Аспро: Корпоративный сайт современной компании
- Аспро: Стройка
- Аспро: Крутой шоп
- Аспро: Универсальный импорт
- Аспро: Шины и диски 2.0
- Аспро: Digital
- Аспро: Корпоративный сайт
- Аспро: Курорт
- Аспро: Оптимус
- Аспро: Медицинский центр 2.0
- Аспро: Ландшафт
Автоопределение местоположения по IP
Платформа 1C-Битрикс содержит встроенные обработчики геолокации, позволяющие определить местоположение пользователя. Подробнее со списком и особенностями использования каждого обработчика вы можете ознакомиться в пользовательской документации 1C-Битрикс.
В статье мы рассмотрим работу функционала на примере обработчика Sypex Geo.
Обработчик находится по пути Настройки → Настройки продукта → Геолокация. Для редактирования нажмите на «Гамбургер», затем на одноименную кнопку.
Для определения местоположения обработчик обязательно должен быть активирован и иметь доступные запросы.
Без регистрации сервис Sypex Geo предоставляется 10 000 запросов в месяц.
Если на сайте большая посещаемость, то может потребоваться большее количество запросов. Для этого необходимо пройти регистрацию на сайте https://sypexgeo.net/. Регистрация позволяет получить дополнительные бонусные запросы. При необходимости возможно приобретение дополнительных запросов.
После регистрации вам будет предоставлен ключ.
Ключ (2) необходимо указать в настройках обработчика на вкладке «Дополнительно» (1). Не забудьте сохранить изменения (3).
Без регистрации на сервисе всегда можно проверить, доступны ли еще запросы.
Для этого перейдите Настройки → Инструменты → Командная PHP-строка (1).
В поле вставьте код (2):
$ip = $_SERVER["REMOTE_ADDR"];
if(!empty($_SERVER["HTTP_X_REAL_IP"])){
$ip = $_SERVER["HTTP_X_REAL_IP"];
}
$obBitrixGeoIPResult = \Bitrix\Main\Service\GeoIp\Manager::getDataResult($ip, 'ru');
if($obBitrixGeoIPResult !== null) {
if($obResult = $obBitrixGeoIPResult->getGeoData()){
$_SESSION['GEOIP'] = get_object_vars($obResult);
$city = isset($_SESSION['GEOIP']['cityName']) && $_SESSION['GEOIP']['cityName'] ? $_SESSION['GEOIP']['cityName'] : '';
}
}
print_r($_SESSION['GEOIP']);
Нажмите кнопку выполнить (3).
На странице появится всплывающее окно. Нажмите кнопку «ОК» (4).
Если на сайте доступны запросы, в результате выполнения команды вы должны увидеть свое текущее местоположение. Если запросы недоступны, поля будут пустыми.
Использование функционала определения местоположения
Рассмотрим, в каких случаях используется определение местоположения.
1. Выбор региона
При открытии сайта пользователь может увидеть окно подтверждения региона.
Разберем подробнее, при каких условиях это происходит.
-
Если на сайте используется региональность на поддоменах:
Пользователь перешел по прямой ссылке не своего региона (1);
Регион пользователя доступен в списке регионов (2);
На сайте доступны запросы обработчика геолокации.
-
Если на сайте используется региональность на одном домене:
Регион по умолчанию отличается от текущего местоположения пользователя (1);
Регион пользователя доступен в списке регионов (2);
На сайте доступны запросы обработчика геолокации.
- Если пользователь перешел в свой регион, но его местоположение не используется как основное в этом регионе. При этом включено отображение города посетителя.
С версии 2.1.0 окно не появится, но в шапке сразу подставится его город. Например, если пользователь перешел на сайт из города Копейск Челябинской области, то в шапке сразу отобразится Копейск, хотя основной город — Челябинск.

2. Оформление заказа.
-
Без использования региональности:
Когда клиент впервые оформляет заказ, то система по IP-адресу определяет его местоположение (страну, город) и поставляет значения в соответствующие поля формы.
-
С использованием региональности:
Когда клиент впервые оформляет заказ, используется местоположения, указанное для региона.
3. Расчет доставки в карточке товара.
Определение местоположения при расчете доставки происходит по следующему алгоритму.