Сначала вы должны получить страну пользователя по IP, для этого вы можете использовать yii2-geoip .
Затем вы должны получитьВалюта страны, для получения списка валют страны, чтобы увидеть список валют .
Установить сеанс для валюты магазина и изменить всю валюту сайта.
Пример:
<?php
$geoip = new \lysenkobv\GeoIP\GeoIP();
$ip = $geoip->ip(Yii::$app->request->getUserIP());
$currencies = json_decode(file_get_contents('data.json'), true);
foreach ($currencies as $currency) {
if (strtoupper($currency['country']) == strtoupper($ip->isoCode)) {
// set session and other jobs
}
}
Пример для config/main.php
(для yii2-app-advanced
) и config/web.php
(для yii2-app-basic
):
<?php
return [
//
'on beforeAction' => function ($action) {
if (!Yii::$app->session->has('global-currency')) {
// your code for get found user $currency, maybe from db or ip
Yii::$app->session->set('global-currency', $currency);
}
}
];