890
8.90
12.71
за сайт
- Проверено Modstore
- Бесплатные будущие обновления
- Работа на тестовом и публичном домене
- 12 месяцев тех. поддержки
Внимание, этот компонент требует версию PHP
5.6
или выше!
Если ваш сайт использует PHP ниже требуемого, установка этого
дополнения может его сломать.
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