v-lukoyanofff
@v-lukoyanofff
full stack dev + Yii 2

Yii2 (yii2-localeurls): Как отключить редирект на язык и при этом запомнить его?

Моя ситуация похожа на https://stackoverflow.com/questions/30568692/how-t... но когда я добавляю мой контроллер в ignoreLanguageUrlPatterns происходит следующее:

Когда я открываю страницу по новому языку, например по адресу ru/s-m-account/profile, страница заружается и язык успешно меняется на русский. Затем я перехожу по такому адресу s-m-account/index и страница снова меняет язык на аглийский. ". Это хорошо, что не происходит редирект на RU и RU не появляется в строке браузера, но плохо, что при моих настройках urlManager язык не сохраняется.

Я перепробовал много вариантов с опциями, но успеха пока нет. Моя текущая настройка:

'urlManager' => [
            'class' => 'codemix\localeurls\UrlManager',
            'languages' => ['ru', 'en'],
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'enableStrictParsing' => true,
            'ignoreLanguageUrlPatterns' => [
                // route pattern => url pattern
                '#^s-m-account/#' => '#^s-m-account/#',
            ],
            'normalizer' => [
                'class' => 'yii\web\UrlNormalizer',
                'action' => \yii\web\UrlNormalizer::ACTION_REDIRECT_TEMPORARY, 
            ],
            'rules' => $urlRules,
],


Возможно, совместно с ignoreLanguageUrlPatterns нужно настроить еще как-то?
  • Вопрос задан
  • 645 просмотров
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Ссылки нужно формировать через Url хелпер тогда он в зависимости от языка подставляет в ссылку ru или en.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы