Перевод 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 минут
8 мокапов для дизайна флаеров
Битрикс: Поиск по свойствам торговых предложений

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