piszę własny cms wykorzystujący CKEditor. Chiałbym zrobić plugin, dzięki któremu użytkownik mógłby dodawać dwa divy:
CKEDITOR.dialog.add("galeria",function(e){ return { title:'Wstaw galerię', resizable : CKEDITOR.DIALOG_RESIZE_BOTH, minWidth:300, minHeight:100, onShow:function(){ }, onLoad:function(){ myEditor = this.getParentEditor(); dialog = this; this.setupContent(); }, onOk:function(){ }, contents:[ { id:"info", name:'info', label:'Tab', elements:[ { id : 'format', type : 'select', label : 'Wybierz galerią lub silder', accessKey : 'T', items : [ [ 't1','wartosc'], [ 't6 ','wartosc2'] ], onChange: function(){ // magiczna funkcja zmieniająca tekst w label w elemencie o id 'tekst' return false; } }, { id : 'tekst', type : 'text', label : 'Podaj nazwę galeri' }, ] } ], buttons:[{ type:'button', id:'okBtn', label: 'Wstaw', onClick: function(){ addCode(); } }, CKEDITOR.dialog.cancelButton], }; function addCode(){ var t = dialog.getValueOf('info', 'tekst'); if(t.length == 0){ alert('Prosze wybrac format.') return false; } //var myEditor = CKEDITOR.instances.tresc; myEditor.insertHtml(html); CKEDITOR.dialog.getCurrent().hide();//zamknij return false; }; });
Jak zmieniać labele w elementach ? (magiczna funkcja w zdarzeniu onselect)
Rozwiązanie:
var F=CKEDITOR.dialog.getCurrent(); F.getContentElement('info','tekst').setLabel("mój tekst");