Добавление кнопки проверки опечаток от Яндекса 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 });
Recommended Comments
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.