Перевод title страницы с помощью Яндекс переводчика

Разработка данного модуля не моя - идея была взята с блога modx.im. Для начала необходимо получить API ключ для переводчика у Яндекса. Сделать можно тут. Далее идем в Элементы - Управление элементами - Плагины - Создать новый плагин Название указывайте любое, я выбрал yatranslate Вот собственно код данного плагина

global $e;
$e = &$modx->Event;
$e->output('<!-- yandexTranslation --->
<script>
    window.$j = jQuery.noConflict();
    key="ВАШ КЛЮЧ АПИ";
    source=$j("input[name=\'pagetitle\']");
    result=$j("input[name=\'alias\']");
    url=\'https://translate.yandex.net/api/v1.5/tr.json/translate\';
    function get_translate(source,result,key,debugTxt){
        if(source.val().length>0)
            {
                $j.ajax({
                        type:\'POST\',
                        url: url,
                        cache: false,
                        data:{
                                key:key,
                                text:source.val(),
                                lang:\'ru-en\'
                                },
                        success:function(data){
                                responseStatus=data[\'code\'];
                                if (responseStatus==200)
                                {
                                    responseText=data[\'text\'][0];
                                }
                                else
                                {
                                    responseText=\'Error! \' + responseStatus;
                                }
                                re=/[^a-zа-я]/g;
                                responseText=responseText.toLowerCase();
                                responseText =  responseText.replace(re,"-",responseText);
                                result.val(responseText);
                        },
                        error: function (xhr, ajaxOptions, thrownError) {
                                alert(\'Error ajax\');
                        }
                        });
                }
                else
                {
                        source.css(\'border\',\'1px solid red\');
                }
        };
    $j(source).bind(\'blur change click\',function(){
        get_translate(source,result,key,"change");
    });                 
</script>
<!-- // yandexTranslation --->');

Далее устанавливаем галочку на вкладке системных событий на событии "OnDocFormRender"

Все готово. Теперь при изменении названия страницы alias будет автоматически переводиться

Смотрите также

Bootstrap сетка за 15 минут
Как вывести ближайшие дни рождения пользователей - Битрикс
Перевод title страницы с помощью Яндекс переводчика

Группа Вконтакте