Добрый день! Нашел php скрипт, который осуществляет перевод страницы "на лету":
<?php
$mainurl["ru"] = $modx->makeURL(1);
$mainurl["en"] = $modx->makeURL(182);
$baseurl=$modx->config["base_url"];
$templateId["ru"] = 6;
$templateId["en"] = 9;
$template=$modx->documentObject['template'];
function BaseReplace ($baseurl, $url) {
global $modx;
$url = str_replace(
$modx->config['friendly_url_suffix'],
"", $url);
if ($baseurl == "/") return substr ($url, 1);
else return str_replace ($baseurl, "", $url);
}
switch ($template) {
case $templateId["ru"]:
$output='<a href="';
$url = str_replace ("/ru/", "/en/",
$modx->makeURL($modx->documentIdentifier));
if (array_key_exists(BaseReplace ($baseurl,$url),
$modx->documentListing))
$output.=$url;
else
$output.=$mainurl["en"];
$output.='" title="English" >English</a>';
break;
case $templateId["en"]:
$output='<a href="';
$url = str_replace ("/en/", "/ru/",
$modx->makeURL($modx->documentIdentifier));
if (array_key_exists(BaseReplace ($baseurl,$url),
$modx->documentListing))
$output.=$url;
else
$output.=$mainurl["ru"];
$output.='" title="Русский" >Русский</a>';
break;
}
return $output;
?>
Скрипт, как все гениальное, очень прост. Он подменяет псевдоним родителя языковой версии в URL и выводит ссылку переключения на другую языковую версию. Теперь стоит задача добавить еще один язык. Логика понятна, но что-то не получается. Можно ли изменить этот скрипт для еще одного языка? Или все фигня и надо переписывать сначала?