В местоположение входят:
- название города;
- название страны на языке сайта;
- 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, замена контента в зависимости от города». |
С 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)
Для покупки товара в нашем интернет-магазине выберите понравившийся товар и добавьте его в корзину. Далее перейдите в Корзину и нажмите на «Оформить заказ» или «Быстрый заказ».
Если оформляете быстрый заказ: напишите ФИО, телефон и e-mail. Вам перезвонит менеджер и уточнит условия заказа. По результатам разговора вам придет подтверждение оформления товара на почту или через СМС. Теперь останется только ждать доставки и радоваться новой покупке.
Оформление заказа в стандартном режиме выглядит следующим образом. Заполняете полностью форму по последовательным этапам: адрес, способ доставки, оплаты, данные о себе. Советуем в комментарии к заказу написать информацию, которая поможет курьеру вас найти. Нажмите кнопку «Оформить заказ».
Оплачивайте покупки удобным способом. В интернет-магазине доступно 3 варианта оплаты:
- Наличные при самовывозе или доставке курьером. Специалист свяжется с вами в день доставки, чтобы уточнить время и заранее подготовить сдачу с любой купюры. Вы подписываете товаросопроводительные документы, вносите денежные средства, получаете товар и чек.
- Безналичный расчет при самовывозе или оформлении в интернет-магазине: карты МИР. Чтобы оплатить покупку на сайте, система перенаправит вас на сервер платежной системы. Здесь нужно ввести номер карты, срок действия и имя держателя.
- Электронные системы при онлайн-заказе: ЮMoney. Для совершения покупки система перенаправит вас на страницу платежного сервиса. Здесь необходимо заполнить форму по инструкции.
- Безналичная оплата на наш расчетный счет по выставленному счету.
Экономьте время на получении заказа. В интернет-магазине доступно 4 варианта доставки:
- Электронная поставка - все необходимые сведения о лицензии, праве пользования, кодах, ключах и др. высылаются покупателю на его e-mail.
- Курьерская доставка. Когда товар будет отправлен с нашего склада, Вам придет уведомление. В день доставки с Вами заблаговременно свяжется курьер для уточнения времени и деталей доставки. Доставка производится "до двери". Осмотрите упаковку на целостность и соответствие указанной комплектации.
- Постамат. Когда заказ поступит на точку, на Ваш телефон или e-mail придет уникальный код. Заказ нужно оплатить в терминале постамата. Срок хранения — 3 дня.
- Доставка Почтой России. Когда заказ придет в отделение, на Ваш адрес придет извещение о посылке. Перед оплатой Вы можете оценить состояние коробки: вес, целостность. Вскрывать коробку самостоятельно Вы можете только после оплаты заказа. Один заказ может содержать не больше 10 позиций и его стоимость не должна превышать 100 000 р.
Дополнительная информация.
Изучите полный алгоритм продления лицензий на модули 1С-Битрикс: Маркетплейс, включая активацию льготных купонов. Мы детально разбираем все условия: обязательный 30-дневный срок для сохранения максимальной выгоды, пропорциональное ценообразование (12,5%, 25%, 50% от цены модуля) и ограничение по минимальной сумме в 500 рублей. Этот гайд поможет вам эффективно планировать бюджет и гарантировать актуальность вашего проекта.