Define the user location by ip or set it manually
composer require uranum/yii2-define-location:"dev-master"
Подключить модуль в common/config.php (он должен быть доступен для консольных команд!)
'modules' => [
'location' => [
'class' => 'uranum\location\Module',
'userModelClass' => 'frontend\modules\user\models\User', // здесь указать класс модели User,
'vkSecretToken' => 'your_secret_vk_token', // получить в настройках своего приложения в vk.com https://vk.com/editapp?id=[your_id]§ion=options
],
]
Для автоматического определения местоположения настройте компонент Yii2 IpGeoBase.ru wrapper (инструкции по ссылке, установка компонента не требуется, только указание компонента в конфигурации).
Указать в конфигурации, в секции bootstrap следующие строки:
bootstrap' => [
....,
'location',
'uranum\location\InitApp'
],
Применить миграцию:
php yii migrate --migrationPath=@uranum/location/migrations
Вывести виджет в нужном месте:
echo \uranum\location\widget\Location::widget([
// здесь можно настроить публичные свойства виджета, задав свои значения (загляните в исходный код)
]);