Edward |
|
---|---|
Столкнулся с проблемой описанной в заголовке. У меня в шаблоне page.edit.tpl используется тема на bootstrap и имеется несколько textarea такого вида <textarea class="editor form-control" rows="3"></textarea> Решил проблему поправив файлик plugins/ckeditor/presets/ckeditor.default.set.js /* * Default CKEditor preset and connector */ var ckeditorClasses = [ ['editor','Full'], // textarea class, editor toolbar size ['medieditor','Medium'], ['minieditor','Basic'] ]; function hasClass(el, selector) { var className = " " + selector + " "; , if ((" " + el.className + " ").replace(/[\n\t]/g, " ").indexOf(className) > -1) { return true; } return false; } function ckeditorReplace() { var textareas = document.getElementsByTagName('textarea'); for (var i = 0; i < textareas.length; i++) { if (hasClass(textareas[i], ckeditorClasses[0][0]) || hasClass(textareas[i], ckeditorClasses[1][0]) || hasClass(textareas[i], ckeditorClasses[2][0])) { var textareasStyle = getComputedStyle(textareas[i], null) || textareas[i].currentStyle; if (hasClass(textareas[i], ckeditorClasses[0][0])) { var toolbars = ckeditorClasses[0][1] } if (hasClass(textareas[i], ckeditorClasses[1][0])) { var toolbars = ckeditorClasses[1][1] } if (hasClass(textareas[i], ckeditorClasses[2][0])) { var toolbars = ckeditorClasses[2][1] } CKEDITOR.replace(textareas[i], {height:textareasStyle.height, width:'100%', toolbar: toolbars}); } } } if (typeof jQuery == 'undefined') { if (window.addEventListener) { window.addEventListener('load', ckeditorReplace, false); } else if (window.attachEvent) { window.attachEvent('onload', ckeditorReplace); } else { window.onload = ckeditorReplace; } } else { $(document).ready(ckeditorReplace); ajaxSuccessHandlers.push(ckeditorReplace); } Кривоватое решение, но что-то подобное должно быть сразу из коробки, потому как классов у элемента может быть более одного. Email: ed.gabishev@gmail.com
Telegram: https://t.me/Ed_Gaba |
|
This post was edited by Macik (2015-10-31 16:40, 8 years ago) |