2015-12-26 14 views
1

Я разрабатываю веб-ERP и мне нужна помощь.CKEditor - лимит символов на других редакторах на одной странице

В качестве текстового редактора я выбираю CKEditor, отлично работает и делаю все, что мне нужно. Ну ... не совсем все ...

Я добавил имя плагина «wordcount», которое подсчитывает слова или символы и устанавливает предел.

Проблема заключается в том, что я более CKeditors на одной странице, и мне нужно установить различные ограничения для каждого. Как вы видите, плагин устанавливает тот же предел для обоих редакторов:

enter image description here

Параметры передаются через config.js:

config.wordcount = { 

// Whether or not you want to show the Paragraphs Count 
showParagraphs: false, 

// Whether or not you want to show the Word Count 
showWordCount: false, 

// Whether or not you want to show the Char Count 
showCharCount: true, 

// Whether or not you want to count Spaces as Chars 
countSpacesAsChars: true, 

// Whether or not to include Html chars in the Char Count 
countHTML: false, 

// Maximum allowed Word Count, -1 is default for unlimited 
maxWordCount: 400, 

// Maximum allowed Char Count, -1 is default for unlimited 
maxCharCount: 400}; 

Вы знаете какой-нибудь способ сделать это? Также с другим плагином или «вручную».

Заранее благодарен!

ответ

0
 <script> 
     CKEDITOR.replace('comments', 
     {toolbar:[ 
      { name: 'document', groups: [ 'mode', 'document', 'doctools' ], items: [ 'Source' ] }, 
      { name: 'clipboard', items: [ 'Undo', 'Redo', '-', 'Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord' ] }, 
      { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ], items: [ 'Bold', 'Italic', 'Strike', '-', 'TextColor' ] }, 
      { name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align' ], items: [ 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blocks' ] }, 
      { name: 'links', items: [ 'Link', 'Unlink' ] }, 
      { name: 'insert', items: [ 'Image', 'Table', 'SpecialChar' ] }, 
      { name: 'editing', groups: [ 'find', 'selection', 'spellchecker' ], items: [ 'Scayt' ] } 
     ], 
     height:400, 
     resize_enabled:true, 
     wordcount: { 
      showParagraphs: false, 
      showWordCount: true, 
      showCharCount: true, 
      countSpacesAsChars: false, 
      countHTML: false, 
      maxWordCount: -1, 
      maxCharCount: 4000} 
     }); 
     </script> 
1

Вы можете указать определенные конфигурации, когда вызов CKEDITOR.replace() на странице просмотра, конфигурации, заданные перекроют реагирующие конфигурации CKEDITOR config.js

var wordCountConf1 = { 
    showParagraphs: false, 
    showWordCount: true, 
    showCharCount: true, 
    countSpacesAsChars: false, 
    countHTML: false, 
    maxWordCount: -1, 
    maxCharCount: 2000} 
} 

var wordCountConf2 = { 
    showParagraphs: false, 
    showWordCount: true, 
    showCharCount: true, 
    countSpacesAsChars: false, 
    countHTML: false, 
    maxWordCount: -1, 
    maxCharCount: 5000} 
} 

CKEDITOR.replace('editor1', {wordcount: wordCountConf1}); 
CKEDITOR.replace('editor2', {wordcount: wordCountConf2}); 
4

я понял, что это следующим образом: необходимо добавить данные AttrS в textArea теги с maxWord и maxChar, инициализировать CKeditor

window.InitializeCkeditor = { 
    init: function() { 
    var element, elements, i, results; 
    elements = CKEDITOR.document.find('.js-ckeditor'); // your textArea 
    i = 0; 
    results = []; 
    while (element = elements.getItem(i++)) { 
     CKEDITOR.replace(element, { 
     toolbar: 'mini', // your toolbar 
     height: 200 
     }); 
     results.push(CKEDITOR.on('instanceCreated', function(event) { 
     var editor, element; 
     editor = event.editor; 
     element = editor.element; 
     return editor.on('configLoaded', function() { 
      return editor.config.wordcount = { 
      showWordCount: true, 
      maxWordCount: element.data('word-max') 
      }; 
     }); 
     })); 
    } 
    return results; 
    } 
}; 
+1

Он отлично выглядит и работает! Спасибо чувак! – ilgam

+0

Работает для меня. благодаря – rusllonrails