Этот модуль входит в нашу Подписку.
Оформите подписку — и пользуйтесь всеми модулями без ограничений.
Расширенные геолокации
Модуль дополняет стандартную геолокацию CS-Cart, помогает точнее определять город покупателя и использовать его данные в витрине и оформлении заказа. Он полезен, когда нужно показывать актуальный город, давать выбор вручную и подстраивать checkout под выбранное местоположение.
Для чего нужен
Модуль нужен, чтобы определять город покупателя по IP через 2ip или SypexGeo, позволять выбрать город вручную, а также подставлять данные местоположения в оформление заказа. Он помогает связать геолокацию, блоки на витрине и данные checkout в одном сценарии работы.
Основные возможности
- автоматическое определение города по IP;
- выбор между сервисами 2ip и SypexGeo;
- ручной выбор города на витрине и всплывающее подтверждение;
- готовые блоки выбора города и дополнительной информации о городе;
- подстановка города, региона и страны в checkout;
- поддержка модулей cities и rus_cities;
- ограничение числа запросов к сервису геолокации и защита от ботов.
Как работает
Модуль запрашивает геолокацию по IP, сохраняет выбранный город в сессии и переносит данные в поля покупателя на checkout. Если активен модуль городов, найденный город сопоставляется с записью в базе. Если сопоставление невозможно, используются данные API напрямую.
Администратор может выбрать сервис геолокации, задать API-ключ, ограничить число запросов и скрыть всплывающее окно, если оно не нужно.
Остались вопросы по работе модуля?
- Store Builder
- Store Builder Ultimate
- Multi-Vendor
- Multi-Vendor Plus
- Multi-Vendor Ultimate
- Владельцам
- Покупателям
- English
- Русский
- 4.21.X
- 4.20.X
- 4.19.X
- 4.18.X
Инструкция к модулю Расширенные геолокации
Что делает модуль
Модуль определяет город покупателя по IP через 2ip или SypexGeo, позволяет выбрать город вручную и подставляет данные местоположения в оформление заказа. Если активен модуль городов, он использует его данные и может связать найденный город с записью в базе.
Где находится модуль
Настройки модуля находятся в Администрирование → Модули → Управление модулями → Расширенные геолокации.
Блоки модуля добавляются через Дизайн → Менеджер блоков: MS: Местоположение покупателя и MS: Информация о городе.
Городами управляют в стандартном разделе CS-Cart Города. Модуль добавляет дополнительные поля прямо в этот список. Отдельный раздел «MS: Расширенные геолокации. Города» искать не нужно.
Как настроить город
- Откройте стандартный раздел Города в панели администратора и найдите нужный город.
- Нажмите на стрелку в строке города, как показано на изображении ниже. Откроются дополнительные поля модуля.
- При необходимости заполните Дополнительный текст и Ссылку.
- Выберите, где показывать дополнительный текст: в уведомлении после выбора города, в отдельном блоке или в обоих местах. Для отдельного блока добавьте на витрину MS: Информация о городе.
- Включите Отображать город в списке выбора, если город должен быть доступен в списке выбора на витрине.
- Нажмите Сохранить вверху страницы.
Настройки
Сервис геолокации: выберите 2ip.io или SypexGeo.
Ключ API: для 2ip.io укажите токен из личного кабинета на 2ip.io. Токен нужен и для бесплатного лимита. Ключи 2ip.me не подходят. Для SypexGeo нужен ключ SypexGeo. Без ключа автоматическое определение недоступно, но город можно выбрать вручную.
Количество запросов: лимит попыток определения за 24 часа в текущей сессии, включая неудачные. Значение 0 отключает автоматическое определение. Успешный результат сохраняется в сессии и не запрашивается при каждом открытии страницы.
Скрыть всплывающее окно — отключает показ popup после определения города.
Как использовать
1. Откройте настройки модуля и выберите сервис геолокации.
2. Укажите токен выбранного сервиса и сохраните настройки.
3. При необходимости задайте лимит запросов и включите скрытие popup.
4. Добавьте блок выбора города на витрину, если нужен ручной выбор города.
5. Добавьте блок с информацией о городе, если нужно показывать дополнительный текст или ссылку.
6. В стандартном разделе Города проверьте список городов и заполните дополнительные поля, раскрыв строку нужного города стрелкой.
Как проверить работу
1. Откройте витрину в новом приватном окне и проверьте автоматическое определение города. Геолокация определяется по IP, поэтому VPN и прокси могут влиять на результат.
2. Выберите город вручную и убедитесь, что он сохраняется в сессии.
3. Проверьте, что в checkout подставляются город, регион и страна.
4. Если включено всплывающее окно, убедитесь, что оно показывается после определения города.
5. Если используются модули городов, проверьте, что выбранный город отображается в их списке и в блоках модуля.
Если город не определился
Проверьте выбранный сервис, токен и лимиты в личном кабинете провайдера. После ошибки модуль делает паузу 5 минут, после HTTP 429 (ограничение запросов) - 15 минут. Пауза не отменяет дневной лимит попыток. Ручной выбор города остаётся доступен.
Ошибки записываются в стандартный журнал CS-Cart, если включена запись HTTP/HTTPS-запросов; иначе в журнал ошибок PHP сервера. Ищите метку ms_geolocation. Токен, IP и тело ответа в эти сообщения не попадают. После изменения сервиса или токена сохраните настройки: счётчик попыток сбросится при следующем открытии витрины. Уже выбранный вручную город сохраняется.
История изменений
v1.4.2 от 2026-09-25
[!] Исправлен блок локальной базы в настройках модуля: состояние базы, дата данных, кнопка обновления и суточные счётчики теперь выводятся и на CS-Cart 4.17, где раньше блок показывал сообщение о недоступности базы.
v1.4.1 от 2026-09-18
[*] Оформление кода и служебных файлов приведено к стандарту модуля: шапки файлов, порядок подключений, документация функций, именованные константы вместо буквенных значений. Работа модуля не изменилась.
v1.4.0 от 2026-09-18
[+] Добавлены три режима определения города: только локальная база без обращений к API, смешанный режим (локальная база, при отсутствии города — через API) и только API. Новая установка работает без API, при обновлении сохраняются прежний режим, сервис и ключ.
[+] В комплект включена локальная база Sypex Geo City с данными от 2026-06-30: города определяются без интернета и без расходования ключей.
[+] В настройках появилась кнопка обновления локальной базы: загрузка по HTTPS с проверкой размера, архива и чтения данных, атомарная замена и сохранение предыдущего файла. Фоновых и автоматических обновлений нет.
[+] Добавлен общий серверный кэш: найденный город хранится 24 часа, отсутствие города — 6 часов, ошибка сервиса — 10 минут. Одновременные запросы одного посетителя объединяются, новые сессии не обнуляют суточный лимит обращений.
[+] Сервис геолокации защищён от серии ошибок: при отказе авторизации, оплаты, доступа или превышении лимита обращения к API приостанавливаются на час, повторные ошибки увеличивают паузу.
[+] В стандартные настройки журнала CS-Cart добавлены три флажка модуля: ошибки, обновления локальной базы и обращения к API. По умолчанию включены ошибки и обновления базы. Ключ, адрес с ключом, тело ответа, IP и данные покупателя в журнал не записываются.
[*] Страница настроек показывает суточные счётчики и статус локальной базы; автоматический запрос остатка по ключу SypexGeo при открытии настроек убран.
[*] Расширен фильтр служебных запросов: POST и AJAX, фоновые и платёжные запросы, изображения, prefetch и известные поисковые боты больше не запускают определение города.
[*] Ручной выбор города сохраняет приоритет, в том числе при смене IP; отключённые в справочнике города не выбираются.
[*] Уточнено поведение для IPv6: локальная база и SypexGeo работают по IPv4, для IPv6 остаётся ручной выбор города; адрес посетителя берётся из подключения и не подменяется заголовками запроса.
[!] Локальный режим не обращается к API даже при сохранённом ключе; повреждённая локальная база не запускает скрытый переход на API, а отсутствие города в справочнике магазина не вызывает лишний запрос.
[!] Исправлено заполнение почтового индекса и предупреждение в журнале при совместной работе со справочником городов CS-Cart.
[*] Ускорена загрузка списка городов: повторные обращения в рамках одной страницы переиспользуют результат, выборка активных и избранных городов ускорена.
v1.3.1 от 2026-09-11
[!] Исправлена передача страны доставки при выборе города вручную и при автоматическом определении.
[!] Исправлены поиск города, ссылки выбора города и обработка некорректных запросов. Отключённые города больше не выбираются.
[!] Устранено смешение одноимённых городов и регионов разных стран. Исправлены подсчёт результатов и работа со справочниками без дополнительных полей.
[!] Дополнительный текст города сохраняется только для выбранного языка; кэш списка городов учитывает язык витрины.
[!] Восстановлено создание и изменение городов через API на CS-Cart 4.19+. Ограничен доступ к чужому местоположению и изменению справочника.
[!] Ключ SypexGeo и ответ с геоданными больше не записываются в стандартный HTTP-журнал при определении города и проверке остатка запросов.
[*] Актуализированы служебные файлы и локализации. История версий приведена к единому порядку и оформлению; ранние изменения объединены в архивный блок.
v1.3.0 от 2026-09-11
[!] Исправлено определение города через 2ip.io с токеном сервиса, обновлены подсказки в настройках.
[*] Улучшена обработка ошибок и ограничений сервиса: неудачные попытки учитываются в лимите, повторные запросы выполняются с паузой, ошибки записываются без токена и персональных данных.
[!] Исправлены сохранение результата определения города и показ окна подтверждения. Ручной выбор города сохраняет приоритет.
[*] Окно подтверждения города использует оформление активной темы; заголовок переносится без обрезания, кнопки доступны с клавиатуры.
[*] Обновлены русская и английская инструкции: добавлены настройка 2ip.io, диагностика ошибок и управление городами через стандартный раздел CS-Cart со скриншотом.
v1.2.2 от 2026-08-26
[*] Обновлены описание и инструкция модуля, добавлены локализованные материалы и логотип.
v1.2.1 от 2026-06-30
[!] Улучшена совместимость со списками городов, где часть дополнительных полей отсутствует.
v1.2.0 от 2026-02-21
[+] Добавлен выбор сервиса геолокации между 2ip и SypexGeo.
[*] Поле API key переиспользовано для платного ключа 2ip и ключа SypexGeo.
[*] Обновлена логика определения города с учетом выбранного сервиса.
v1.1.0 (архив, 2023-2025)
[*] Условный архивный блок объединяет ранее обозначенные версии 2.x и 3.x за 2023-2025 годы. Отдельный релиз с этим номером не публиковался.
[+] Добавлены лицензирование, счётчик оставшихся запросов и API для работы с городами.
[+] Добавлено получение города из профиля покупателя или настроек местоположения по умолчанию.
[*] Добавлена совместимость с модулем городов CS-Cart 4.19+.
[-] Убрано отдельное добавление городов внутри модуля. Управление перенесено в стандартный раздел городов.
[!] Исправлены поиск города по части названия и кнопка закрытия всплывающего окна.
[*] Обновлены названия и описания блоков, логотипы. Код и текстовые материалы приведены к единому стандарту.
Обозначения:
[+] Добавлено
[-] Удалено
[*] Изменено
[!] Исправлена ошибка