890
11.71
12.71
за сайт
- Проверено Modstore
- Бесплатные будущие обновления
- Работа на тестовом и публичном домене
- 12 месяцев тех. поддержки
UserLocation
Компонент UserLocation позволяет определить локацию пользователя и вывести список доступных локаций

Особенности
— определение локации пользователя по ip
— готовая база городов и регионов России, возможность импорта/ экспорта своих локаций
— в отличие от CitySelect оперирует локациями созданными в базе данных. Позволяет добавить/ изменить нужную локацию под себя.
Установка
— Подключите наш репозиторий
— Установите UserLocation
— Импортируйте файл локаций
Сниппет UserLocation.initialize
Подключает необходимые скрипты и стили. Вызвать в любом удобном месте.
Сниппет UserLocation.location
Получает список локаций
Модификаторы феном
— getUserLocation — получает текущую локацию пользователя
— detectUserLocation — получает текущую локацию пользователя по его ip
Пример вызова, текущая локация пользователя
Пример вызова, поповер с выбором локации
Пример вызова, инпут с выбором локации
Вывод соседних локаций
Управление локациями в админке
Таблица управления локациями представлена в виде виджета

Доступен импорт/ экспорт локаций в формате csv

Геолокация пользователя
Из коробки доступны следующие классы определения локации пользователя по ip
— ulDetectLocationByIpGeoBase — включен по умолчанию
— ulDetectLocationBySypexGeo
— ulDetectLocationByDaData
Используемый класс геолокации можно указать в настройке ulMethodDetectLocation
Наиболее точный класс ulDetectLocationByDaData, однако он требует регистрации и указания токена сервиса ДаДата
Примечание
По умолчанию активны крупные города России, вы можете активировать/ деактивировать нужные вам города
Файл локации городов и регионов Росии находится в папке
Компонент UserLocation позволяет определить локацию пользователя и вывести список доступных локаций

Особенности
— определение локации пользователя по ip
— готовая база городов и регионов России, возможность импорта/ экспорта своих локаций
— в отличие от CitySelect оперирует локациями созданными в базе данных. Позволяет добавить/ изменить нужную локацию под себя.
Установка
— Подключите наш репозиторий
— Установите UserLocation
— Импортируйте файл локаций
Сниппет UserLocation.initialize
Подключает необходимые скрипты и стили. Вызвать в любом удобном месте.
Сниппет UserLocation.location
Получает список локаций
Модификаторы феном
— getUserLocation — получает текущую локацию пользователя
— detectUserLocation — получает текущую локацию пользователя по его ip
Пример вызова, текущая локация пользователя
{set $location = ''|getUserLocation}
{$location|print}
(
[id] => 3300000400000
[name] => Ковров
[type] => city
[postal] => 601900
[gninmb] => 3332
[okato] => 17425000000
[oktmo] => 17725000
[fias] => 0b4978e2-e64c-4db1-b84d-93cf34bdb04b
[active] => 1
[parent] => 3300000000000
[resource] => 0
[description] =>
[properties] =>
[confirmed] => 0
)Пример вызова, поповер с выбором локации
{set $location = ''|getUserLocation}
<div class="userlocation userlocation-location-confirm {$location.confirmed?'':'unconfirmed'}">
<a href="javascript:" data-fancybox="" data-src="#userlocation-location-popup">{$location.name}</a>
<div class="userlocation-location-confirm-popover">
<div>Это Ваш город?</div>
<div>
<a href="" class="userlocation-location-item" data-userlocation-id="{$location.id}">Да</a>
<a href="javascript:" data-fancybox="" data-src="#userlocation-location-popup">Выбор города</a>
</div>
<button class="userlocation-location-confirm-close"></button>
</div>
</div>
<div id="userlocation-location-popup" style="display: none">
<h4>Выберите свой населённый пункт</h4>
{'UserLocation.location'|snippet:[
'typeSearch' => 'local',
'tpl' => 'UserLocation.locations'
]}
</div>Пример вызова, инпут с выбором локации
<input type="text" class="userlocation-location-search-input "
data-userlocation-mode="remote"
data-userlocation-template="<div class='userlocation-suggestion userlocation-location-item' data-userlocation-row='@row@' data-userlocation-id='@id@'>@name@</div>"
data-userlocation-value-field="name"
data-data-type="city"
placeholder="Поиск...">Вывод соседних локаций
{set $location = ''|detectUserLocation}
{if $location}
{set $tmp = '!UserLocation.location'|snippet:[
'limit' => 1,
'where' => ['parent:IN' => [$location.parent,$location.id],'OR:id:IN' => [$location.parent,$location.id]]
]}
{/if}Управление локациями в админке
Таблица управления локациями представлена в виде виджета

Доступен импорт/ экспорт локаций в формате csv

Геолокация пользователя
Из коробки доступны следующие классы определения локации пользователя по ip
— ulDetectLocationByIpGeoBase — включен по умолчанию
— ulDetectLocationBySypexGeo
— ulDetectLocationByDaData
Используемый класс геолокации можно указать в настройке ulMethodDetectLocation
Наиболее точный класс ulDetectLocationByDaData, однако он требует регистрации и указания токена сервиса ДаДата
Примечание
По умолчанию активны крупные города России, вы можете активировать/ деактивировать нужные вам города
Файл локации городов и регионов Росии находится в папке
core/components/userlocation/elements/locations/locations.csv 1.0.5-beta (18.11.2019)
- Change "ulMethodDetectLocation"
1.0.4-beta (04.11.2019)
- Change "ulWidget"
1.0.3-beta (20.10.2019)
- Change "UserLocation.locations" chunk
1.0.2-beta (18.10.2019)
- Change "ulMethodDetectLocation"
- Add "ulDetectLocationByIpGeoBase", "ulDetectLocationByDaData"
1.0.1-beta (18.10.2019)
- Add "locations" resolver
1.0.0-beta (10.10.2019)
- Initial




Последние обсуждения в сообществе MODX.pro