savks 13 января 2014 0 4
Добрый день. Мне нужно был создать многоязычный сайт, для этого я использую смену параметра cultureKey вот код для примера:


<?php
$string = $_SERVER['SERVER_NAME'];
$langKey = '';
if (preg_match( '/.com/' , $string)) {
    $langKey = 'en';
} elseif (preg_match( '/.com.ua/' , $string)) {
    $langKey = 'ua';
} elseif (preg_match( '/.it/' , $string)) {
    $langKey = 'it';
} else {
    $langKey = 'ru';
}

$_SESSION['cultureKey'] = $langKey;

$modx->setOption('cultureKey', $modx->cultureKey);
?>


Проблема заключается в том что когда заходишь на сайт сначала он отображаться на стандартном языке (тому что указан в настройках), а только после перезагрузки страницы язык сайта изменяется. Помогите советом, как исправить проблему. Заранее благодарен.
4 комментария
Fi1osof1
Fi1osof 13 января 2014г в 21:07 #
Добрый день.

Забыл в топик добавить, что плагин несколько дописался. Следовало еще учесть префикс кеша для разных языков. Возможно именно в этом проблема. Смотрите там обновленный код плагина.
s
savks 14 января 2014г в 11:46 #
Благодарю за ответ.
Fi1osof1
Fi1osof 14 января 2014г в 12:03 #
Пожалуйста.
den991
den99 10 июня 2016г в 23:12 #
Приветики. У меня, кстати, вот эта штука $_SESSION['cultureKey'] = $langKey; полностью выносит авторизацию на сайте.
Если её нет — нет локализации, если она есть — нет авторизации. Однако.
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.