Перейти к содержанию

yekag

Пользователи
  • Постов

    13
  • Зарегистрирован

  • Посещение

  • Победитель дней

    1

Активность репутации

  1. Лайк
    yekag получил реакцию от Рамиль Кутушев за запись, Кнопка проверки орфографии через Yandex в редакторе IPS4   
    Добавление кнопки проверки опечаток от Яндекса speller.yandex.net/ в редактор.
    1. Создание кнопки 
    Заходим в Админку => Внешний вид => Настройки редактора.
    Добавляем свою кнопку "Исправить опечатки", добавляем  иконку, тип кнопки "Блочный", в HTML пишем 1 тег без ковычек: "<br>", его мы позже заменим.
    Мышкой переносим новую кнопку в удобное место в редакторе.
    2. Редактирование кода кнопки
    Ищем в /applications/core/interface/ckeditor/ckeditor/plugins/ папку с начинающуюся с "custom-",  у меня это "custom-9158a465165b5dbad4c783fd6d17199b".
    Открываем фаил plugin.js и видим там
    (function() { CKEDITOR.plugins.add( 'custom-9158a465165b5dbad4c783fd6d17199b', { icons: 'custom-9158a465165b5dbad4c783fd6d17199b', init: function( editor ) { editor.addCommand( 'custom-9158a465165b5dbad4c783fd6d17199b', ips.utils.defaultEditorPlugins.inline( 'custom-9158a465165b5dbad4c783fd6d17199b', "<br>" ) ); editor.ui.addButton && editor.ui.addButton( 'custom-9158a465165b5dbad4c783fd6d17199b', { label: ips.getString('editorbutton_custom-9158a465165b5dbad4c783fd6d17199b'), command: 'custom-9158a465165b5dbad4c783fd6d17199b', toolbar: '' }); } }); })(); Заменяем 5 строчку:
     
    editor.addCommand( 'custom-9158a465165b5dbad4c783fd6d17199b', ips.utils.defaultEditorPlugins.inline( 'custom-9158a465165b5dbad4c783fd6d17199b', "<br>" ) ); на новую:
     
    editor.addCommand( 'custom-9158a465165b5dbad4c783fd6d17199b',{ exec : function( editor ) { function declOfNum(number, titles) { cases = [2, 0, 1, 1, 1, 2]; return titles[ (number%100>4 && number%100<20)? 2 : cases[(number%10<5)?number%10:5] ]; } text = editor.getData(); if(text != '') { $.ajax({ type: "GET", url: "http://speller.yandex.net/services/spellservice.json/checkText", dataType: "jsonp", data: "text="+encodeURIComponent(text)+"&lang=ru", success: function(resp){ if(resp.length > 0) { for (var i = resp.length - 1; i >= 0; i--) { if(resp[i].s!='') { text = text.replace(resp[i].word,resp[i].s); } }; editor.setData(text); alert('Исправленно ' + resp.length +' '+declOfNum(resp.length,['слово','слова','слов'])); } else { alert('Ошибок не найдено'); } }}); } }, canUndo : false });  
×
×
  • Создать...