We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 53405
    • 1 Posts
    Добрый день! Нашел 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 и выводит ссылку переключения на другую языковую версию. Теперь стоит задача добавить еще один язык. Логика понятна, но что-то не получается. Можно ли изменить этот скрипт для еще одного языка? Или все фигня и надо переписывать сначала?