Определение города по IP-адресу посетителя
Опубликовано: 24.09.2014
Обновлено: 08.03.2017
Версия: 1.11.2
Установлено: 500 - 999 раз
Модуль для 1С-Битрикс 'Определение города по IP-адресу посетителя'
Модуль автоматически определит город посетителя вашего сайта, свяжет его с кодом в КЛАДР и предоставит другие удобные инструменты управления информацией о местоположении.
Твитнуть
Модуль «Определение города по 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С-Битрикс: Управление сайтом».
Разместите компонент в шапке сайта (Осторожно! Редактирование шаблона сайта лучше доверить профессионалам!) и он вам автоматически будет выводить определенный модулем город, как на скриншоте:
Компонент определения может работать в двух режимах - "Скрытое определение" и "Запрос". При скрытом определении, компонент просто отображает определенный город с возможностью пользователем его смены. В режиме "Запрос" пользователю предлагается ввести свой город самостоятельно. При этом, если пользователь откажется ввести город (закроет всплывающее окно выбора) - компонент установит определенный им город.
В компоненте выбора города предусмотрен выпадающий список найденных городов по первым введенным буквам (для облегчения ввода). По России модуль строит список так, чтобы первыми в списке были населенные пункты, находящиеся в регионе определенного модулем города. Это облегчает ввод населенных пунктов, которые невозможно определить по IP-адресу (определяются только крупные населенные пункты).
Если у вам на сайте требуется выбор из нескольких, заранее известных городов, вы можете составить список этих городов в настройках и отключить строку поиска других населенных пунктов. Таким образом, посетителю будет отображаться для выбора список с этими городами.
Модуль "Определение местоположения по IP-адресу" работает на любой редакции 1С-Битрикс: Управление сайтом.
Модуль «Определение города по 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С-Битрикс: Управление сайтом».
Разместите компонент в шапке сайта (Осторожно! Редактирование шаблона сайта лучше доверить профессионалам!) и он вам автоматически будет выводить определенный модулем город, как на скриншоте:
Компонент определения может работать в двух режимах - "Скрытое определение" и "Запрос". При скрытом определении, компонент просто отображает определенный город с возможностью пользователем его смены. В режиме "Запрос" пользователю предлагается ввести свой город самостоятельно. При этом, если пользователь откажется ввести город (закроет всплывающее окно выбора) - компонент установит определенный им город.
В компоненте выбора города предусмотрен выпадающий список найденных городов по первым введенным буквам (для облегчения ввода). По России модуль строит список так, чтобы первыми в списке были населенные пункты, находящиеся в регионе определенного модулем города. Это облегчает ввод населенных пунктов, которые невозможно определить по IP-адресу (определяются только крупные населенные пункты).
Если у вам на сайте требуется выбор из нескольких, заранее известных городов, вы можете составить список этих городов в настройках и отключить строку поиска других населенных пунктов. Таким образом, посетителю будет отображаться для выбора список с этими городами.
Модуль "Определение местоположения по IP-адресу" работает на любой редакции 1С-Битрикс: Управление сайтом.
На этапе установки модуля будет предложено " ". Оставьте галочки включенными, если вы хотите пользоваться указанной базой.
Если галочки установлены, модуль автоматически скачает базу местоположений с сайта.
После загрузки и установки базы данных ipgeobase модуль установит автоматически базу с городами из КЛАДР (по России).
Скриншоты настройки модуля:
Чтобы сайт мог работать с сервисом "Географические координаты в России по IP адресу", необходимо зарегистрироваться на сайте по ссылке https://geoip.top/cgi-bin/kernel.pl?Reg=1 и получить код сайта, который необходимо ввести в настройках модуля "Определение города по IP-адресу посетителя" во вкладке "Данные" в поле "Код сайта в системе geoip.elib.ru":
Добавьте описание для нужных городов (например, телефон) и оно будет отображаться автоматически на сайте, если посетитель выберет указанный город.
Выбор города при оформлении заказа:
Пример обработчика на событие onAfterSetCity
|
---|
BX.addCustomEvent("onAfterSetCity", function(city, city_id, full_name){ |
Если у вас возникли вопросы по работе модуля, вы можете задать их нам в техподдержку: Техподдержка модулей для 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 - Исправлена работа избранных городов. - Добавлена поддержка английской локализации. - Исправлены мелкие ошибки. |