- Аспро: Премьер
- Аспро: Лайтшоп
- Аспро: Максимум
- Аспро: Корпоративный сайт 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-Битрикс.
Определение местоположения будет работать с любым обработчиком геолокации, доступным в 1С-Битрикс.
Инструкцию по настройке вы можете посмотреть в видео или далее в статье.
В статье мы рассмотрим работу функционала на примере обработчика 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. Оформление заказа.
- Без использования региональности:
Когда клиент впервые оформляет заказ, то система по IP-адресу определяет его местоположение (страну, город) и поставляет значения в соответствующие поля формы.
- С использованием региональности:
Когда клиент впервые оформляет заказ, используется местоположения, указанное для региона.
3. Расчет доставки в карточке товара.
Определение местоположения при расчете доставки происходит по следующему алгоритму.