Witam,
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 html='
<div id="'+t+'"class="galeria" style="background-color: #aade7c">Galeria pt: '+t+'
</div>';
//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");
Ten post edytował qz12 22.04.2013, 09:28:22