Илья

Илья

Был в сети 28 сентября 2022, 14:50
Заказы не принимаю
В localizator реализовано через setOption.
Если идти тем же путем, то можно взять за основу способ Василия Наумкина
Переключение контекстов мультиязычного сайта, но
работать только с контекстом web и вместо переключения контекста переопределить значения для текущего контекста (web).

//выбираем только контекст web
$q = $modx->newQuery('modContextSetting', array('context_key' => 'web'))

//разбираем запрос в массив
$requestToArray = explode('/',$request);

//если в запросе en директория
if($requestToArray[0] == 'en'){
$modx->setOption('site_url', 'http://site.ru/en/');
$modx->setOption('cultureKey','en');
$modx->setOption('http_host','site.ru');
$modx->setOption('base_url','/en/');
$base_url = 'en';
}
//если директория ru
if($requestToArray[0] == 'ru'){
$modx->setOption('site_url', 'http://site.ru/ru/');
$modx->setOption('cultureKey','ru');
$modx->setOption('http_host','site.ru');
$modx->setOption('base_url','/ru/');
$base_url = 'ru';
}

Остается, конечно, вопрос про кеш…