We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 21977
    • 35 Posts
    Нашёл довольно молодую штучку.
    http://modxcms.com/extras/package/781
    Упрощает управление мультыязычным сайтом на modx. Для его работы сначала нужно подготовить сайт как просят здесь: http://churn.butter.com.hk/posts/2010/08/internationalization-in-modx-revolution.html
    Если вкратце, там написано это...
    Сначала создаём контексты для всех необходимых языков. Например, для русской версии можно оставить web, а для английской сделать en. У каждого контекста задаём параметры site_url (соответственно, "http://ru.site.com" и "http://en.site.com") и cultureKey ("ru" и "en"). Пишем вот такой плагин:
    //make sure our plugin does not run on the mgr context (the manager)
        if($modx->context->get('key') != "mgr"){
            //grab the current domain from the http_host option
            switch ($modx->getOption('http_host')) {
                case 'en.site.com':
                    //switch the context
                    $modx->switchContext('en');
                    //set the cultureKey
                    $modx->setOption('cultureKey', 'en');
                    break;
                default:
                    // Set the default language/context here
                    $modx->switchContext('ru');
                    $modx->setOption('cultureKey', 'ru');
                    break;
            }
        }
    

    И включаем этот плагин по onHandleRequest.

    Вот и всё. Ставим babel. Получаем это:


    Очень удобно.

    Осилившим просьба отписаться о результатах. У меня это первый опыт пользования новым modx и пока как-то не выходит.

    Да, для контекстов не забываем заполнять другие важные поля:
    site_start - ID главной страницы для этого контекста.
    base_url - меняем на "/" (без кавычек), если использованы субдомены.
    http_host - что-то типа "ru.modxcms.com"
    site_url - что-то типа "http://dev.modxcms.com/", по сути это (scheme+http_host+base_url).