Войти как пользователь:
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
Определение города по IP-адресу посетителя
Опубликовано: 24.09.2014
Обновлено: 08.03.2017
Версия: 1.11.2
Установлено: 500 - 999 раз

Модуль для 1С-Битрикс 'Определение города по IP-адресу посетителя'

Модуль автоматически определит город посетителя вашего сайта, свяжет его с кодом в КЛАДР и предоставит другие удобные инструменты управления информацией о местоположении.
Твитнуть
 
Обратите внимание!
Все модули устанавливаются и обновляются только на активные лицензии 1С-Битрикс: Управление сайтом. Узнать про лицензии можно на странице продление лицензии 1С-Битрикс.
Модуль «Определение города по IP-адресу посетителя» определяет по IP-адресу местоположение (город) посетителя вашего сайта.

Модуль «Определение города по IP-адресу посетителя» может использовать:
1. Онлайн-сервисы
    - ipgeobase.ru
    - geoip.elib.ru (с поддержкой кода пользователя)
2. Локальные базы
    - база онлайн-сервиса ipgeobase.ru
    - база данных городов мира maxmind.com
    - база из модуля веб-аналитики 1С-Битрикс.

Особенности модуля:
1. Использование БД КЛАДР
Модуль автоматически найдет для сайта соответствие найденного города с базой данных КЛАДР, что бывает необходимо для расчета стоимости и времени доставки.

2. Применяются локальные базы
Преимущество локальной базы данных IP-адресов в том, что сайт не зависит от внешних сервисов геопозиционирования, и их функционирование не влияет на работу модуля. Недостаток — эти БД нужно периодически обновлять, для чего в настройках предусмотрен специальный интерфейс и напоминания.

3. Автоматическое определение местоположения
Решение автоматически определит город посетителя и может выводить окна с подтверждением города либо выбором другого, из списка или в строке поиска.

4. Подстановка местоположения на странице заказа
Скрипты модуля подставят местоположение в соответствующие поля на странице с компонентом оформления заказа, что поможет улучшить конверсию интернет-магазина.

5. Работа с модулем веб-аналитики
Если у вас на сайте установлен модуль веб-аналитики (statistics) от 1С-Битрикс, вы можете подключить его в настройках модуля. При этом у вас появляется возможность использовать любые базы IP-адресов, с которыми может работать модуль веб-аналитики. В данный модуль можно также загружать базы по всему миру.

6. Поставляются готовые компоненты
В модуле присутствуют компоненты, необходимые для отображения выбранного местоположения и возможности его изменения посетителем. Работу компонентов Вы увидите в публичке сразу после установки решения.

7. Встроенное API
Имеется API для определения города по IP и необходимые события в методах, если функционала компонентов будет недостаточно.

8. Вывод контента с привязкой к местоположениям (геотаргетинг)
Для избранных городов модуля есть возможность задать пользовательские поля (например, телефон, контактные данные, ссылку и др.) для каждого города и значения «по умолчанию» — для всех, а также вывести их компонентом. Это может быть полезным, если имеется несколько офисов компании в разных городах.

9. Редирект по IP адресу
На базе избранных городов возможен переход на соответствующий домен или URL-адрес при выборе посетителем данного города. Таким образом можно организовать маршрутизацию по поддоменам на основе выбранного города или захода с IP-адресов определенных городов.


Модуль «Определение города по IP-адресу посетителя» работает на любой редакции «1С-Битрикс: Управление сайтом».


Разместите компонент в шапке сайта (Осторожно! Редактирование шаблона сайта лучше доверить профессионалам!) и он вам автоматически будет выводить определенный модулем город, как на скриншоте:

определение местоположения


Компонент определения может работать в двух режимах - "Скрытое определение" и "Запрос". При скрытом определении, компонент просто отображает определенный город с возможностью пользователем его смены. В режиме "Запрос" пользователю предлагается ввести свой город самостоятельно. При этом, если пользователь откажется ввести город (закроет всплывающее окно выбора) - компонент установит определенный им город.

Запрос местоположения на сайте, Битрикс



select.png


В компоненте выбора города предусмотрен выпадающий список найденных городов по первым введенным буквам (для облегчения ввода). По России модуль строит список так, чтобы первыми в списке были населенные пункты, находящиеся в регионе определенного модулем города. Это облегчает ввод населенных пунктов, которые невозможно определить по IP-адресу (определяются только крупные населенные пункты).

выбор населенного пункта на сайте


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

Модуль "Определение местоположения по IP-адресу" работает на любой редакции 1С-Битрикс: Управление сайтом.


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

Настройка базы для поиска местоположения

Если галочки установлены, модуль автоматически скачает базу местоположений с сайта.

Загрузка базы данный местоположений

После загрузки и установки базы данных ipgeobase модуль установит автоматически базу с городами из КЛАДР (по России).
Загрузка КЛАДР на сайт Битрикс

Скриншоты настройки модуля:

Установка модуля на Битрикс 

2015-07-13_1234.gif

2015-07-13_1237.gif

2015-07-13_1245.gif

2015-07-13_1246.gif

Чтобы сайт мог работать с сервисом "Географические координаты в России по IP адресу", необходимо зарегистрироваться на сайте по ссылке https://geoip.top/cgi-bin/kernel.pl?Reg=1 и получить код сайта, который необходимо ввести в настройках модуля "Определение города по IP-адресу посетителя" во вкладке "Данные" в поле "Код сайта в системе geoip.elib.ru":

Настройка работы с elib


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


2015-07-13_1249.gif



2015-07-13_1252.gif

Выбор города при оформлении заказа:

2015-07-13_1258.gif



Пример обработчика на событие onAfterSetCity

 BX.addCustomEvent("onAfterSetCity", function(city, city_id, full_name){   
if(city != 'Москва')    
alert('Вы не из Москвы!');
});


Если у вас возникли вопросы по работе модуля, вы можете задать их нам в техподдержку: Техподдержка модулей для 1С-Битрикс
1.11.3 - Добавлены проверки в функции перенаправления для исключения редиректов для POST-запросов, не поддерживающих Cookies браузеров, а также поисковых ботов. - Добавлена распечатка ключей массива $_SERVER для проверки на передачу сервером данных об IP-адресе посетителя.
1.11.2 - Скорректирован поиск соответствия некоторых регионов между базами ipgeobase и КЛАДР. - Исправлено сохранение выбранного посетителем региона.
1.11.1 - Добавлен профиль модуля altasib.geobase в источниках определения города и страны, поддерживаемых модулем Веб-аналитики (statistic). - Добавлена опция "Использовать установленные пользователем данные в источнике определения модуля Статистики" для вывода в объекте CCity данных выбранного посетителем города. - При сбросе кеширования отменяется редирект по ссылке, указанной в пользовательском поле города. - Добавлена задержка появления всплывающего окна компонента "Ваш город".
1.11.0 - Добавлено распространение кук пользовательского выбора (ALTASIB_GEOBASE_CODE) на все домены системы. Данную возможность можно отключить соответствующей опцией в настройках модуля. - Добавлено js-прерывание для устаревших ajax-запросов при поиске города в окне выбора. - Исправлен показ ближайшего города для избранных городов по автоопределенным данным. - Исправлено назначение кук при заходе на сайт по IP адресу. - Скорректировано определение IP-адреса, исключаются локальные адреса. - Небольшие улучшения.
1.10.0 - Добавлен показ ближайшего города для избранных городов, по координатам или региону. - Поддержка запросов на новом ядре при подстановке местоположения. - Добавлено исправление раскладки клавиатуры при поиске города в строке компонента Выбор города. - Добавлено сохранение ширины и долготы для данных из MaxMind базы. - Добавлена поддержка поиска местоположений Битрикс на ядре D7, включая поиск регионов, в функции CAltasibGeoBase::GetBXLocations(). - Добавлена возможность изменения сортировки у избранных городов. - В компоненте altasib:geobase.uf.detail добавлены новые поля вывода: округ и гео-координаты, задействован вывод ближайшего избранного города.
1.9.2 - Добавлен параметр «Подгружать окно "Выбор города" со списком городов ajax-запросом» в компоненте altasib:geobase.select.city. Содержимое окна может быть помещено в конец документа, перед закрытием тега body. - Добавлено кеширование результата поиска городов в поисковой строке. - Добавлены классы кодов для полей в шаблоне компонента altasib:geobase.uf.detail. - Исправлены ошибки пространства имен при использовании базы MaxMind. - Исправлена работа функции CAltasibGeoBaseSelected::GetCurrentCityFromSelected() в обработчике событий OnAfterAutoDetectCity. - Исправлены php предупреждения. - Небольшие правки в коде модуля.
1.9.1 - Добавлена поддержка подстановки местоположения в новом шаблоне обновленного компонента bitrix:sale.order.ajax. - Добавлено JavaScript-событие onBeforeYourCityOpen, позволяющее запретить вывод окна с подтверждением города, а вместо этого запустить как выбор городов вообще, так и любой другой обработчик. - В шаблоне компонента altasib:geobase.select.city скорректирован вывод надписи "Выберите город" при пустых данных. - Небольшие правки в скриптах модуля.
1.9.0 - Добавлено событие OnBeforeResultCitySearch, выполняющееся перед выводом пунктом списка выбора городов в компоненте altasib:geobase.select.city, с возможностью изменения данных. - Исправлена фильтрация населенных пунктов по опции "Показывать только города, крупные поселки и районные центры из населенных пунктов в поле поиска". - Мелкие исправления.
1.8.10 - Замена устаревших функций в php коде.
1.8.9 - Скорректировано взаимодействие опции «Добавлять автоматически определенный город к списку избранных городов» модуля с параметром «Выводить вместо правой надписи строки "Выберите город" город, определенный автоматически» компонента «Выбор города». - Исправлено закрытие popup-окна «Ваш город» по нажатию клавиши «Escape». - Исправлен php код модуля, вызывавший ошибку «Лишний вывод в файлах конфигурации». Изменено кеширование избранных городов. - Исправлены ошибки js скрипта в шаблоне компонента altasib:geobase.your.city. - Исправлены ошибки определения кодировки и конвертации строк и файлов.
1.8.8 - Добавлено распространение cookies с данными выбранного города на все поддомены. - Добавлена возможность отключить подстановку местоположения для конкретного типа плательщика в опциях модуля (значение "не выбрано").
1.8.7 - Добавлен выбор подключения jQuery версии 2 в опциях модуля. - Добавлена поддержка регистронезависимой константы кодировки сайта. - Мелкие правки.
1.8.6 - Исправлена работа скрипта js подстановки в заказе в браузерах Yandex.браузер и мобильных. - Небольшие исправления в коде модуля и шаблонов.
1.8.5 - В компоненте altasib:geobase.your.city добавлен параметр "Выполнять проверку на заполненность сессии и cookies модуля" для предотвращения многократного показа окна пользователю, подтвердившему город. - Доработан скрипт js модуля, подставляющий местоположение на странице заказа. - Скорректированы js скрипты компонентов на предмет детекции локализации. - В опциях модуля сделан показ свойств типа местоположение без привязки к профилю.
1.8.4 - Добавлена опция "В течение какого времени помнить о совершенном перенаправлении" в настройки модуля. - Скорректирована работа перенаправлений. - Исправлена некорректная работа скрипта js с дефолтными значениями свойств заказа типа "Местоположение".
1.8.3 - Добавлен функционал редиректа на страницу с таким же относительным путем, но другим доменом (опция модуля "Осуществлять перенаправление с сохранением относительного пути"). - Добавлена опция "Показывать только города, крупные поселки и районные центры из населенных пунктов в поле поиска" для компонента выбора города. - Скорректирован вывод шаблона компонента altasib:geobase.uf.detail. - Небольшие улучшения кода.
1.8.2 - Доработка js скрипта для компонента bitrix:sale.order.ajax: исправлена работа для магазинов с одним типом плательщика, доработан обработчик ajax-событий. - Улучшена детекция ip-адреса хоста клиента. - Доработка функционала модуля, проверяющего наличие файлов на удаленном сервере. - Небольшие исправления и улучшения.
1.8.1 - Добавлена константа NO_GEOBASE для принудительного запрета на выполнение событий модуля (необходимо для выполнения скриптов по cron). - Изменения в js скрипте для страницы оформления заказа: если поле местоположения непустое и недефолтное, подстановка отменяется. - Добавлено выполнение обработчика на ajax события в js скрипте, работающем на странице оформления заказа. - Небольшие исправления и улучшения.
1.8.0 - Исправлены шаблоны компонента altasib:geobase.select.city для показа автоопределенных городов, имеющихся в списке. - Из названий городов исключено сокращение типа населенного пункта в компоненте выбора города. - Добавлена поддержка протокола https, а также исправлена работа в Safari в js скрипте модуля. - Доработаны функции поиска по местоположениям Битрикс CAltasibGeoBase::GetBXLocations() для других локализаций сайта. - Добавлена подстановка местоположения на уровне региона, если соответствующее населенному пункту местоположение не найдено. - Исправлены ошибки при сохранении региона в качестве местоположения.
1.7.0 - Добавлен функционал перезагрузки текущей страницы по выбору или подтверждению города, если разрешен редирект: опция "Осуществлять переход по ссылке, указанной в пользовательском поле города, при выборе этого города". - Добавлена многосайтовость в опции "Код SID сайта в системе geoip.elib.ru" модуля. - Разделены опции использования онлайн-сервисов ipgeobase.ru и geoip.elib.ru (geoip.top). - Исправлены js файлы шаблонов компонентов для работы страницы в iframe. - Частично минифицированы js файлы шаблонов, исправлена инициализация обработчиков. - Скорректированы стили css. - Исправлены файлы установщика модуля.
1.6.0 - Добавлена опция "Код сайта в системе geoip.elib.ru" для поддержки изменений в запросе к онлайн-сервису GeoIP. - Исправлена инициализация обработчиков событий в шаблонах компонентов модуля (устранен конфликт с композитной технологией). - Исправлены стили в шаблонах компонентов для корректного отображения ширины и высоты элементов.
1.5.0 - Добавлено событие OnAfterAutoDetectCity по автоматическому определению города после записи в сессию (куки). - Добавлена опция "Определять автоматически город на хитах" - запись в сессию и куки даже тогда, когда не используются компоненты модуля. - Добавлена опция "Осуществлять перенаправление по ссылке, указанной в пользовательском поле города, при заходе на сайт посетителем, подтвердившим этот город" - выполняется редирект на указанный в избранном городе адрес, переход запоминается на сутки. - Добавлена поддержка работы без объекта BX в файлах Javascript модуля. - Небольшие исправления и улучшения.
1.4.0 - Добавлена поддержка регионов России в качестве местоположений. - Добавлена опция выбора режима вывода местоположений. - Оптимизация шаблонов компонентов выбора и подтверждения местоположения. - Добавлена поддержка регионов в качестве избранных местоположений. - Небольшие исправления и улучшения.
1.3.1 - Добавлена задержка выполнения скрипта на странице оформления заказа. - Исправлено сохранение уровней доступа к модулю. - Добавлено принудительное подключение скриптов главного модуля Битрикс.
1.3.0 - Добавлен выбор свойств местоположений для типов плательщиков магазина. - Исправлен js скрипт, работающий на странице оформления заказа, добавлена поддержка старых списочных шаблонов выбора местоположения. - Исправлен функционал модуля по сохранению пользователем города, определенного автоматически. - Сжаты картинки модуля. - Исправлен шаблон компонента altasib:geobase.select.city. - Незначительные изменения и улучшения.
1.2.1 - Добавлен функционал пользовательских полей для избранных городов с предустановленными полями: "Телефон", "Ссылка", "Доп. информация". - Добавлен компонент вывода дополнительных полей города. - Добавлен функционал перехода по ссылке, указанной в пользовательском поле города, при выборе этого города (включается в опциях). - Коррекция js кода модуля для страницы оформления заказа. - Незначительные изменения и улучшения.
1.1.8 - Добавление опции модуля для включения автоматически определенного города в список избранных городов. - Добавление опции модуля для включения/отключения показа городов мира в строке поиска.
1.1.7 - Исправление шаблонов компонента "Выбор города".
1.1.6 - Добавление проверки на объявление класса распаковщика zip. - Небольшие исправления.
1.1.5 - Коррекция javascript кода модуля.
1.1.4 - Замена устаревших функций в javascript коде, работающем на странице оформления заказа.
1.1.3 - Доработка javascript кода, работающего на странице оформления заказа, улучшение поддержки местоположений. - Доработка файла опций.
1.1.2 - Исправление ошибок переопределения функций. - Небольшие доработки и улучшения кода.
1.1.1 - Обновление базы данных КЛАДР. - Небольшие доработки кода.
1.1.0 - Поддержка технологии "Композитный сайт". - Небольшие исправления и улучшения.
1.0.3 - Добавлена поддержка обработчиков событий (php и js) по изменению (выбору) города. - Изменен файл опций модуля, дополнена информация для разработчика. - Используется один шаблон в компонентах для мобильной и настольной версии. - Исправлен компонент "Получение местоположения". - Незначительные улучшения и исправления.
1.0.2 - Добавлено кеширование избранных городов. - Добавлены проверки на существование таблиц. - Удалены метатеги из мобильных шаблонов, фиксировавшие масштабирование. - Незначительные улучшения и изменения.
1.0.1 - Добавлена поддержка определения местоположения по городам и странам мира. - Исправлены шаблоны компонентов для работы с международной базой. - Добавлен поиск по городам и странам мира. - Добавлен интерфейс обновления международной базы с сайта maxmind.com - Исправлена работа избранных городов. - Добавлена поддержка английской локализации. - Исправлены мелкие ошибки.
Назад в раздел