Sınıf adına göre oluşturulmuş editörler için farklı yapılandırmaların olması mümkün değildir. Böyle bir durumda, sadece küresel CKEDITOR.config
kabul edilir.
Yine de bu sorun için kolay bir çözüm var.
<textarea class="ckeditor" data-custom-config="myCustomConfig.js">
Moo
</textarea>
Son olarak şu kodu kullanın: Şimdi
<script>
CKEDITOR.replaceClass = null; // Disable replacing by class
</script>
her <textarea>
için böyle değiştirmek istiyor (config.customConfig gibi) data-custom-config
özellik tanımlamak: Birincisi, dokümanın üst Bu komut dosyasını editörleri sınıf adına göre değiştirmek için (sınıfınızın ckeditor
olduğunu varsayarak).
var textareas = Array.prototype.slice.call(document.getElementsByClassName('ckeditor')),
textarea, cfg, customCfg;
while ((textarea = textareas.pop())) {
textarea = new CKEDITOR.dom.element(textarea);
cfg = {};
if ((customCfg = textarea.getAttribute('data-custom-config')))
cfg[ 'customConfig' ] = customCfg;
CKEDITOR.replace(textarea.getId(), cfg)
}
Ve şimdi üst kiraz gelir: Bu kod data-custom-config
özelliğinde tanımlanan yapılandırma ile tahrik CKEditor örneği ile sınıfının ckeditor
tüm textareas yerini alacak. myCustomConfig.js
da özel araç çubuğu yapılandırma koyun: daha kolay eleman seçimi için jQuery dahil etmek bu kodu değiştirebilir Tabii
CKEDITOR.editorConfig = function(config) {
config.toolbar = [
{ name: 'basicstyles', items: [ 'Bold', 'Italic' ] }
];
};
, edebi yerine config.customConfig
ve benzeri bazı nesnesini kullanın. Bu, sorunun nasıl çözülebileceğinin bir göstergesi.