Меню

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



Использование геолокации в Битрикс D7

Для получения сведений о местоположении клиента по его IP-адресу используется сервисы геолокации. В системе Битрикс, начиная с версии 17.0.13 доступны классы для работы с сервисами геолокации. Кроме того, в администраторской части сайта есть раздел, где вы можете настраивать список обработчиков геолокации:

Настройки – Настройки продукта – Геолокация

По умолчанию в системе доступны три обработчика геолокации, первый – системный, функционирующий на самом веб-сервере, в виде расширения GeoIP, остальные два установлены в битрикс, это MaxMind и Sypex Geo.

Чтобы использовать расширение, установленное на сервере, нужно убедиться в том, что библиотека с GeoIP имеет версию начиная от 1.4.0.

Что касается сервиса MaxMind, то перед его использованием вам потребуется на сайте компании получить ID пользователя, а также лицензионный ключ, посредством которого вы сможете в дальнейшем сможете пользоваться их услугами.

В этом плане сервис Sypex Geo позволяет без регистрации выполнять до 10000 запросов, если же количество запросов будет превышать данный порог, по для него так же потребуется получения ключа лицензии.

API для геолокации

Как уже говорилось что в поздних версиях битрикса появилась поддержка работы с GeoIP. В связи с этим в системе появилось множество методов для работы с данными геолокации. Классы в пространстве имён имеют вид: \Bitrix\Main\Service\GeoIp.

Для удобства использования, мы сделаем сокращение:

Получение фактического IP адреса
Далее посмотрим простые базовые методы использования. Давайте определим фактический IP-адрес пользователя, для этого используем следующий код:

Получение информации о местоположении
Зная фактический IP адрес, далее мы можем получить информацию об этом узле:

В качестве результата в переменной $realIP будет находится объект, с данными геолокации. Зная IP адрес, мы так же можем получать отдельные поля.

Использование данных геолокации в модуле sale

Возможности использования данных геолокации были анонсированы параллельно с обновлением модуля sale. В связи с этим появилась возможность определения местоположения пользователя при оформлении заказа, используя методы модуля. Для этих целей так же есть класс: Bitrix\Sale\Location\GeoIp.

Данный класс так же реализует вышеописанный функционал, и позволяет выполнять поиск данных о местоположении в базе Битрикса. Вот несколько примеров использования методов:

Местоположения в базе данных находятся по названию, и не регистрозависимы.

Установка расширения GeoIP на сервер

Как уже говорилось выше данные о местоположении могут браться и с самого сервера, на котором расположен сайт. Для этого на сервере должно быть установлено расширение GeoIP. С большой вероятностью ваш сайт функционирует на UNIX-системе. Если у вас есть доступ к консоли сервере, то вы можете установить расширение на свой север посредством команд:

Источник

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

Платформа 1C-Битрикс содержит встроенные обработчики геолокации, позволяющие определить местоположение пользователя. Подробнее со списком и особенностями использования каждого обработчика вы можете ознакомиться в пользовательской документации 1C-Битрикс.

Читайте также:  Почему у меня тихия микрофон настройки

В статье мы рассмотрим работу функционала на примере обработчика Sypex Geo.

Обработчик находится по пути Настройки → Настройки продукта → Геолокация. Для редактирования нажмите на «Гамбургер», затем на одноименную кнопку.

Для определения местоположения обработчик обязательно должен быть активирован и иметь доступные запросы.

Без регистрации сервис Sypex Geo предоставляется 10 000 запросов в месяц.

Если на сайте большая посещаемость, то может потребоваться большее количество запросов. Для этого необходимо пройти регистрацию на сайте https://sypexgeo.net/ . Регистрация позволяет получить дополнительные бонусные запросы. При необходимости возможно приобретение дополнительных запросов.

После регистрации вам будет предоставлен ключ.

Ключ (2) необходимо указать в настройках обработчика на вкладке «Дополнительно» (1). Не забудьте сохранить изменения (3).

Без регистрации на сервисе всегда можно проверить, доступны ли еще запросы.

Для этого перейдите Настройки → Инструменты → Командная PHP-строка (1) .

В поле вставьте код (2) :

Нажмите кнопку выполнить (3) .

На странице появится всплывающее окно. Нажмите кнопку «ОК» (4) .

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

Использование функционала определения местоположения

Рассмотрим, в каких случаях используется определение местоположения.

1. Выбор региона

При открытии сайта пользователь может увидеть окно подтверждения региона.

Разберем подробнее, при каких условиях это происходит.

Если на сайте используется региональность на поддоменах:

Пользователь перешел по прямой ссылке не своего региона (1) ;

Регион пользователя доступен в списке регионов (2) ;

На сайте доступны запросы обработчика геолокации.

Если на сайте используется региональность на одном домене:

Регион по умолчанию отличается от текущего местоположения пользователя (1) ;

Регион пользователя доступен в списке регионов (2) ;

На сайте доступны запросы обработчика геолокации.

2. Оформление заказа.

Без использования региональности:

Когда клиент впервые оформляет заказ, то система по IP-адресу определяет его местоположение (страну, город) и поставляет значения в соответствующие поля формы.

С использованием региональности:

Когда клиент впервые оформляет заказ, используется местоположения, указанное для региона.

3. Расчет доставки в карточке товара.

Определение местоположения при расчете доставки происходит по следующему алгоритму .

Источник

Как ограничить список локаций клиента в CRM Битрикс24

Время прочтения: 6 минут

Подписаться на блог

Одна из частых проблем, возникающих у наших клиентов на коробочной версии, — трудности с выбором локации клиента в карточке CRM-системы. Штатно в Битрикс24 адрес можно указать вручную через гугл карты.

Наш клиент — инжиниринговая компания, которая поставляет оборудование, мебель и материалы производственным бизнесам, — имеет филиалы и пункты выдачи только в некоторых городах России. Из-за чего менеджеры тратили много времени на поиск нужного города доставки. Чтобы ограничить список регионов, округов и городов до необходимых, мы доработали в Битрикс24 поле «Местоположение». С его помощью сотрудники выбирают только те города, где есть пункты выдачи. В этой статье мы расскажем, как и с помощью каких инструментов мы это сделали.

Читайте также:  Где в bluestacks находится личные настройки

Как работает?

В карточке «Компании» мы реализовали составное поле, то есть поле с несколькими уровнями вложенности. Нашему заказчику хватило трёх уровней: регион, округ и город. Каждая часть этого поля — это список. Когда менеджер заполняет первую часть поля, он просто выбирает из списка регион, например, Северо-Западный. После прогружается вторая часть — список округов Северо-Западного региона. Третья часть — города — формируется по результатам первых двух. В результате, поле «Местоположение» состоит из трех частей: регион, округ и доступный в этом регионе город.

Если нужно работать с несколькими компаниями, то удобнее их выводить через списки. Для этого случая мы настроили поле «Местоположение» так, чтобы оно выводилось в отдельным столбце. Менеджер может отсортировать компании по городу или по региону.

Когда по компании появляется сделка, местоположение автоматически подтягивается в карточку сделки. Для этого действия мы написали бизнес-процесс. Он переносит поле «Местоположение» единой строкой. Это уже не составное поле, а единое — отредактировать его можно только через карточку компании.

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

Как это реализовано технически?

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

Источник

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

Модуль приобретается через Marketplace

При оплате за сервис eDost более 2000 руб. модуль предоставляется БЕСПЛАТНО!

Местоположение доставки

‘магазин: ул. Кутузовская, д. 20, телефон: +7-123-456-78-90’,
);
if (isset($address_tariff[$delivery_id])) <
$address_hide = true;
$address_shop = $address_tariff[$delivery_id];
>
*/
$edost_locations_param = array(
‘ID’ => $arResult[‘USER_VALS’][‘DELIVERY_LOCATION’],
‘DELIVERY_ID’ => $delivery_id,
‘PROP’ => $arResult[‘edost’][‘order_prop’],
‘PROP2’ => $arResult[‘edost’][‘order_prop2’],

>Адрес доставки

Паспортные данные получателя

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

Название Мнемонический код Тип Дополнительно
Местоположение LOCATION Местоположение
[LOCATION]
1. Стоит галочка «Использовать как местоположение»
2. В выпадающем списке «Альтернативное поле ввода местоположения» установить самое первое «Выбрать» ( именно «Выбрать», а не одно из существующих полей ).
3. Если требуется определение местоположений по IP, тогда «Значение по умолчанию» должно быть НЕ задано
Адрес доставки ADDRESS Строка
[STRING]
1. Отчистить «Значение по умолчанию» (должна быть пустая ячейка)
2. Нет галочки «Обязательное»
3. Нет галочки «Много строк»
3. Есть галочка «Является адресом»
НЕ обязательные поля (создавать только по желанию/необходимости)
Индекс ZIP Строка
[STRING]
1. Отчистить «Значение по умолчанию» (должна быть пустая ячейка)
2. Стоит галочка «Использовать как почтовый индекс»

Поле для ввода индекса запрашиваются только при выборе тарифов почты, EMS и boxberry (для всех остальных тарифов в заказе сохраняется индекс, отпределенный примерно). Если у вас нет доставки через эти компании, тогда поле для индекса можно не создавать.

Индекс определен приблизительно (используется только для предварительного расчета доставки) ZIP_AUTO Да/Нет
[Y/N]
1. Нет галочки «Значение по умолчанию»

Если поле не создано, тогда у приблизительно определенных индексов в конце будет подписываться ‘.’ (точка).

Населенный пункт CITY Строка
[STRING]
1. Отчистить «Значение по умолчанию» (должна быть пустая ячейка)
2. Нет галочки «Обязательное»

Данное поле используется для хранения названий населенных пунктов, отсутствующих в базе местоположений магазина.
Если поле не создано, тогда название населенного пункта будет добавляться в конец поля ADDRESS (разделитель ‘;’).

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

Станция метро METRO Строка
[STRING]
1. Отчистить «Значение по умолчанию» (должна быть пустая ячейка)
2. Нет галочки «Обязательное»

Если поле не создано, тогда название станции метро будет добавляться в начало поля ADDRESS.

Паспорт PASSPORT Строка
[STRING]
1. Отчистить «Значение по умолчанию» (должна быть пустая ячейка)
2. Нет галочки «Обязательное»

Поля для ввода паспортных данных запрашиваются только при выборе транспортных компаний (ЖелДор, ПЭК и т.д.). Если необходимо вывести эти поля для других тарифов, тогда можно использовать служебные команды.

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

С помощью служебных команд можно настроить модуль на нестандартную обработку тарифов.

Команды необходимо добавлять в описание тарифов доставки для которых требуется нестандартная обработка.

При выводе описания доставки на странице оформления заказа служебные команды автоматически удаляются, поэтому покупатели увидят только стандартный текст.

Например, для тарифа «Самовывоз» требуется отключить запрос адреса и заменить его своим значением — для этого в админке магазина в настройках модуля доставки у тарифа/профиля в поле «Описание» необходимо добавить текст [address=здесь указывается адрес самовывоза]

Источник

Adblock
detector