yii2-geo-location
geo-location, (*1)
Установка
Для начала нужно установить и настроить https://github.com/himiklab/yii2-ipgeobase-component, (*2)
composer require pantera-digital/yii2-geo-location "@dev"
Настройка
Добавил в консольный конфиг путь до миграций, (*3)
'controllerMap' => [
'migrate' => [
'class' => 'yii\console\controllers\MigrateController',
'migrationPath' => [
'@vendor/pantera-digital/yii2-geo-location/migrations',
],
],
],
Добавить в конфиг, (*4)
'components' => [
'geolocation' => [
'class' => pantera\geolocation\components\Geolocation::className(),
],
'ipgeobase' => [
'class' => 'himiklab\ipgeobase\IpGeoBase',
'useLocalDB' => true,
],
],
'modules' => [
'geolocation' => [
'class' => pantera\geolocation\Module::className(),
],
],
Добавить дефолтные города можно в таблицу geobase_city_popular, (*5)
Использование
Вставка виджета, (*6)
<?= \pantera\geolocation\widgets\geolocation\Geolocation::widget() ?>
Определение города, (*7)
Yii::$app->geolocation->identify()
Установить выбранный город по его id, (*8)
Yii::$app->geolocation->set($id)
Получить выбранный город, (*9)
Yii::$app->geolocation->get()