Модуль предоставляет api для определения местоположения по ip-адресу. Если ip-адрес не указан явно, то местоположение определяется по текущему ip пользователя. Для уменьшения количества запросов, информация о последнем ip-адресе сохраняется в cookies.
В местоположение входят:
В обычном режиме решение предоставляет данные из первой службы, корректно вернувшей данные. Службы вызываются в следующем порядке:
В случае необходимости, можно явно указать необходимую службу. Сейчас, если указать службу, отличную от Sypex, работать не будет.
Пример использования:
Указание сервера для Sypex
Список всех серверов https://sypexgeo.net/ru/api/
Указание ключа доступа для Sypex
\Bitrix\Main\Config\Option::set('rover.geoip', 'sypex-key', 'abcd1');
Компоненты
Указатель местоположения пользователей (rover:geoip.user.location)
Позволяет установить местоположение для пользователей на основе данных из модуля. Местоположение определяется по ip-адресу, с которого они впервые зашли на сайт.
Полное описание api на гитхабе проекта: https://github.com/pavelshulaev/geoip
Подробности
В местоположение входят:
- название города;
- название страны на языке сайта;
- iso-код страны
- id страны в CMS 1С Битрикс (соответствуют id стран, возвращаемых функцией GetCountryArray)
- название региона;
- iso-код региона (опционально);
- название района (опционально);
- ширина и долгота;
- диапазон ip-адресов (опционально).
В обычном режиме решение предоставляет данные из первой службы, корректно вернувшей данные. Службы вызываются в следующем порядке:
- sypexgeo.net (Sypex);
ipgeobase.ru (IpGeoBase);(отключена, т.к. перестала отвечать)freegeoip.net (FreeGeoIp).(отключена, т.к. свободный api был закрыт)
Пример использования:
use Bitrix\Main\Loader, Rover\GeoIp\Location; if (Loader::includeModule('rover.geoip')){ try{ echo 'ваш ip: ' . Location::getCurIp() . '<br><br>'; // текущий ip $location = Location::getInstance('5.255.255.88'); // yandex.ru if ($location->isSuccess()){ echo 'ip: ' . $location->getIp() . '<br>'; // 5.255.255.88 echo 'город: ' . $location->getCityName() . '<br>'; // Москва echo 'iso-код страны: ' . $location->getCountryCode() . '<br>'; // RU echo 'название страны: ' . $location->getCountryName() . '<br>'; // Россия echo 'id страны в Битриксе: ' . $location->getCountryId() . '<br>'; // 1 echo 'регион: ' . $location->getRegionName() . '<br>'; // Москва echo 'iso-код региона: ' . $location->getRegionCode() . '<br>'; // echo 'округ: ' . $location->getDistrict() . '<br>'; // Центральный федеральный округ echo 'широта: ' . $location->getLat() . '<br>'; // 55.755787 echo 'долгота: ' . $location->getLng() . '<br>'; // 37.617634 echo 'диапазон адресов: ' . $location->getInetnum() . '<br>'; // 5.255.252.0 - 5.255.255.255 echo 'сервис: ' . $location->getService() . '<br><br>'; // IpGeoBase } else { echo 'ошибка: ' . $location->getError() . '<br><br>'; } $location->setLanguage('en'); $location->reload('173.194.222.94'); // google.ru if ($location->isSuccess()){ echo 'ip: ' . $location->getIp() . '<br>'; // 173.194.222.94 echo 'город: ' . $location->getCityName() . '<br>'; // Mountain View echo 'iso-код страны: ' . $location->getCountryCode() . '<br>'; // US echo 'название страны: ' . $location->getCountryName() . '<br>'; // USA echo 'id страны в Битриксе: ' . $location->getCountryId() . '<br>'; // 122 echo 'регион: ' . $location->getRegionName() . '<br>'; // California echo 'iso-код региона: ' . $location->getRegionCode() . '<br>'; // US-CA echo 'округ: ' . $location->getDistrict() . '<br>'; // echo 'широта: ' . $location->getLat() . '<br>'; // 37.38605 echo 'долгота: ' . $location->getLng() . '<br>'; // -122.08385 echo 'диапазон адресов: ' . $location->getInetnum() . '<br>'; // echo 'сервис: ' . $location->getService() . '<br>'; // Sypex } else { echo 'ошибка: ' . $location->getError() . '<br><br>'; } } catch (\Exception $e) { echo $e->getMessage(); } } else echo 'Модуль GeoIp Api не установлен'; |
Указание сервера для Sypex
\Bitrix\Main\Config\Option::set('rover.geoip', 'sypex-server', 'ru3.sxgeo.city'); |
Указание ключа доступа для Sypex
\Bitrix\Main\Config\Option::set('rover.geoip', 'sypex-key', 'abcd1');
Компоненты
Указатель местоположения пользователей (rover:geoip.user.location)
Позволяет установить местоположение для пользователей на основе данных из модуля. Местоположение определяется по ip-адресу, с которого они впервые зашли на сайт.
Полное описание api на гитхабе проекта: https://github.com/pavelshulaev/geoip
Если вам нужен более расширенный функционал и более «пользовательский» интерфейс с похожим функционалом, рекомендую решение «Улучшенный выбор местоположения с определением по IP, замена контента в зависимости от города». |
Цена действительна только для интернет-магазина и может отличаться от цен в розничных магазинах
#PROP_TITLE#
—
#PROP_VALUE#
После стандартной установки модуля, его api будет доступно для ваших проектов.
С api можно ознакомится здесь: https://github.com/pavelshulaev/geoip
Задать максимальное время ожидания ответа от geoip-сервиса можно через РНР-командную строку. Значение указывается в миллисекундах:
Требования
С api можно ознакомится здесь: https://github.com/pavelshulaev/geoip
Задать максимальное время ожидания ответа от geoip-сервиса можно через РНР-командную строку. Значение указывается в миллисекундах:
\Bitrix\Main\Config\Option::set('rover.geoip', 'curl-timeout', 200); |
Требования
- php версии 7.2 или выше
- установленная на хостинге библиотека CURL
- модуль «Веб-аналитика» (для работы компонента rover:geoip.user.location)
Закажите любой модуль у нас на сайте с бесплатной установкой и гарантией 14 дней
Мы работаем с физическими и юридическими лицами. И предоставляем сразу два варианта оплаты.
- Наличные. Вы подписываете товаросопроводительные документы, расплачиваетесь денежными средствами, получаете товар и чек.
- Безналичный расчет. Принимаем карты Visa и MasterCard. Доступен при курьерской доставке.
Ваш заказ можем доставить собственными ресурсами, при условии вашего нахождения в городе. Либо через 4 варианта доставки:
- Курьерская доставка. Курьерская доставка работает с 9:00 до 19:00. Когда товар поступит на склад, курьерская служба свяжется для уточнения деталей. Специалист предложит выбрать удобное время доставки и уточнит адрес.
- Самовывоз из магазина. Для получения заказа обратитесь к сотруднику в кассовой зоне и назовите номер.
- Сотрудничаем с постаматами. Срок хранения — 3 дня.
- Предоставляем почтовую доставку через почту России. Когда заказ придет в отделение, на ваш адрес придет извещение о посылке. Вскрывать коробку самостоятельно вы можете только после оплаты заказа.
Дополнительная вкладка для размещения информации о товарах, доставке или любого другого важного контента. Поможет вам ответить на интересующие покупателя вопросы и развеять его сомнения в покупке. Используйте её по своему усмотрению.
Вы можете убрать её или вернуть обратно, изменив одну галочку в настройках компонента. Очень удобно.
- Комментарии
- ВКонтакте
Загрузка комментариев...