Город по IP, определение местоположения для доставки
Город по IP, определение местоположения для доставки
"Точность и удобство доставки! Модуль 'Город по IP' для Битрикс маркетплейс определяет местоположение покупателей автоматически, облегчая процесс доставки и повышая удовлетворенность клиентов. Доставляйте заказы быстрее и эффективнее!"
модуль поддерживает все возможности геолокаций Битрикса, может работать, если включено несколько обработчиков геолокации или только один любой;
модуль содержит дополнительные методы для разработчика для IP и для Местоположения из Интернет-магазина;
модуль находит город по IP и устанавливает местоположение из Интернет-магазина на странице оформления заказа, согласно настройкам модуля (город по умолчанию по IP или заданный пользователем);
Для поиска местоположения из Интернет-магазина должен быть установлен модуль Интернет-магазин (sale) и в нём заполнены Местоположения. В местоположениях должны быть заполнены названия городов на русском языке. В форме заказа должно быть свойство типа «Местоположение».
Использование:
Модуль устанавливается и работает на любых редакциях 1С-Битрикс Управление сайтом и Битрикс24 в коробке. Функционал определения города по IP есть везде.
Однако функционал поиска местоположения для подстановки в заказ может работать только, если есть модуль "Интернет-магазин" (sale): - Малый бизнес - Бизнес - Энтерпрайз - Битрикс24 в коробке (любые редакции)
Финальная версия серии обновлений модуля с 3.0.0 до 6.0.0, рекомендуется к внедрению.
В 6.0.0 исправлено описание опций. Исправлен текст о возможностях модуля.
После 3.0.0 до 6.0.0 значительно переделан модуль, добавлена совместимость с API геолокаций 1С-Битрикс. Но оставлен старый функционал и совместимость после обновлений.
Если страшно обновлять с 3.0.0 до 6.0.0, то сделайте себе копию папки /bitrix/modules/askaron.geo/
6.0.1 (29.10.2024)
незначительные исправления
5.6.0 (28.10.2024)
Улучшены инструменты на вкладке Проверка на странице настроек модуля
5.7.0 (28.10.2024)
Метод \Askaron\Geo\Location::getLocation(); больше не ищет по встроенной базе Sypex Geo, теперь метод ищет геолокацию по обработчикам геолокаций.
Проверяется ситуация, если найдены города с одинаковыми названиями. Метод \Askaron\Geo\Location::getLocation(); теперь использует метод интернет-магазина \Bitrix\Sale\Location\GeoIp::getLocationId($ip, "ru");, чтобы лучше и точнее находить Город с учётом Региона и Страны.
Как и раньше, требуется, чтобы названия местоположений были заполнены на русском языке.
5.0.0 (25.10.2024)
Большое изменение API модуля. Добавлена совместимость с API Битрикса. Минимальная версия Главного модуля 1С-Битрикс теперь 17.0.9.
Добавлена поддержка функционала Геолокации Битрикса. Теперь модуль содержит один из Обработчиков геолокации, дополнительно к предустановленным.
Модуль может теперь использоваться в типовом функционале Битрикса для поиска города (например в стандартном поиске местоположения в новой форме заказа), если включить обработчик на странице списка обработчиков геолокации.
После обновления на странице «Настройки - Настройки продукта - Геолокация» должен появиться новый обработчик. Или он будет в списке на кнопке «Добавить».
Совместимость API со версиями модуля сохранена. Обновлять можно на сайтах, где раньше модуль стоял.
Если страшно обновлять, то сделайте бекап папки /bitrix/modules/askaron.geo/
Метод \Askaron\Geo\Info::getIp() теперь внутри вызывает стандартный \Bitrix\Main\Service\GeoIp\Manager::getRealIp(). Они практически одинаковые.
Метод \Askaron\Geo\Info::getIp(), как и раньше, возвращает другой $ip, если вызывали \Askaron\Geo\Info::setIp( $ip )
Метод \Askaron\Geo\Info::getSxGeoCityFull( $ip = '' ) теперь содержит необязательный параметр $ip. Если IP не задан или пустой, то как и раньше адрес берется из \Askaron\Geo\Info::getIp().
Метод \Askaron\Geo\Info::getSxGeoCityFull() теперь совсем нежелательно использовать в своём коде.
Как и раньше работает метод $arLocation = \Askaron\Geo\Location::getLocation();
Но ещё появился типовой метод Битрикса с нашим и другими обработчиками. Возвращает объект геолокации, или null, когда не найдено, или выключены все обработчики.
$result = \Bitrix\Main\Service\GeoIp\Manager::getDataResult( \Askaron\Geo\Info::getIp(), "ru");
Метод \Askaron\Geo\Info::getSxGeoCityFull() работает быстрее, чем \Bitrix\Main\Service\GeoIp\Manager::getDataResult(). Но это практически незаметно.
Метод \Bitrix\Main\Service\GeoIp\Manager::getDataResult() работает с любыми обработчиками геолокации, поэтому используйте теперь его.
Метод $arLocation = \Askaron\Geo\Location::getLocation(); теперь внутри себя вызывает \Bitrix\Main\Service\GeoIp\Manager::getDataResult и обращается ко всем установленным обработчикам.
Если все обработчики геолокации выключены, или ничего не найдено, то вызывает \Askaron\Geo\Info::getSxGeoCityFull второй раз, для совместимости на сайтах, где раньше стоял модуль.
\Askaron\Geo\Location::getLocation(); запоминает результат у пользователя поэтому лишняя нагрузка не создается.
5.5.0 (26.10.2024)
При установке модуля обработчик геолокации автоматически устанавливается включённым.
При обновлении обработчик геолокации включается.
Незначительные изменения API
Новое описание модуля на странице настройки модуля. Выводится, включен обработчик геолокации или нет
4.0.0 (22.10.2024)
Обновлена база городов в ядре модуля. Изменён тип базы городов с Windows-1251 на UTF8
ВАЖНОЕ замечание для старых сайтов в кодировке 1251:
Теперь Битрикс поставляется только в кодировке UTF8 начиная с версии 24.0.0 и все сайты теперь в UTF8.
В новой версии модуля askaron.geo база городов SypexGeo теперь тоже в кодировке UTF8 вместо Windows-1251.
Мы не делаем проверку работоспособности модуля на Windows-1251, не гарантируем правильную работу на Windows-1251.
Если у вас старый сайт в Windows-1251, то вы можете попробовать обновить модуль. Только сделайте копию папки /bitrix/modules/askaron.geo/ перед обновлением,
если что-то будет не так, вы переустановите модуль.
Если был дополнительный файл /bitrix/php_interface/include/askaron.geo/SxGeoCity.dat, то он переименован SxGeoCity_old1.dat
Теперь если вы будете обновлять самостоятельно /bitrix/php_interface/include/askaron.geo/SxGeoCity.dat, то его надо скачивать в формате UTF8
4.0.1 (22.10.2024)
Незначительные исправления на странице настроек модуля
4.0.2 (22.10.2024)
Разрешена установка модуля на редакции, где нет модуля Интернет-магазин (sale).
Методы определения города по IP работают на любых редакциях. Для собственных задач определения города по IP, которые не связаны с модулем sale, модуль можно применять.
Если нет модуля sale, то нет местоположений и нет формы заказа. Соответственно не будет доступен функционал модуля по установке местоположения в форму заказа.
1.1.0 (31.12.2015)
Исправлена ошибка с определением списка служб доставки для новых версий Битрикса. Незначительные исправления в API.
1.1.1 (11.01.2016)
Незначительные исправления
1.2.0 (26.06.2016)
Обновлена база городов. Незначительные изменения в API.
1.2.1 (26.06.2016)
Обновление базы городов
1.2.2 (01.07.2016)
Незначительные исправления
2.0.0 (10.07.2016)
Поддержка нового компонента оформления заказа sale.order.ajax. (Модуль sale версии от 16.0.15)
2.1.0 (10.07.2016)
Изменение в API. У метода \Askaron\Geo\Location::getLocation("s1") появился необязательный параметр ID сайта. Изменение на странице настроек, на вкладке проверки работы модуля.
2.1.1 (10.07.2016)
Изменение языковых фраз
2.1.2 (17.06.2019)
Обновление базы городов
3.0.0 (13.01.2023)
Cовместимость с PHP 8. Адаптирована работа решения под новые требования платформы 1С-Битрикс версии 20.100.0 — удалить значение «mbstring.func_overload». Модуль работает со старой и новой версией ядра 1С-Битрикс. Обновлена база городов в модуле. Теперь у пользователя появилась возможность использовать свою базу Sypex Geo City (в кодировке 1251), разместив её /bitrix/php_interface/include/askaron.geo/SxGeoCity.dat
Город по IP, определение местоположения для доставки