Récupérer la session de mon editeur
Bonjour,
J'essaye de personnaliser mon éditeur Ckeditor. J'ai bien avancé jusqu'à ce que je tombe sur un petit probléme d'instance.
J'ai ajouter un bouton personnalisé à mon Editeur. Ce bouton est fait pour charger dans l'éditeur du code HTML.
J'ai put ajouter le bouton à l'editeur sans grandes difficultées et lui assigner une boite de dialogue mais je bloque sur la partie qui doit
insérer le HTML.
Voilà le code de mon Plugin :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| //plugin.js
CKEDITOR.plugins.add('insert',
{
requires: ['dialog'],
init:function(a) {
var b="insert";
var c=a.addCommand(b,new CKEDITOR.dialogCommand(b));
c.modes={wysiwyg:1,source:1};
c.canUndo=true;
a.ui.addButton("insert",
{
label:'Recharger le Modéle',
command:b,
icon:this.path+"insert.png"
});
CKEDITOR.dialog.add(b,this.path+"dialogs/insertDialog.js")
}
}); |
et voila le code ma boite de dialog :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| //insertDialog.js
CKEDITOR.dialog.add("insert",function(e){
return {
title:'Chargement du Modéle HTML',
resizable : CKEDITOR.DIALOG_RESIZE_BOTH,
minWidth:200,
minHeight:100,
onShow:function(){
},
onLoad:function(){
dialog = this;
this.setupContent();
},
onOk:function(){
},
contents:[
{ id:"info",
name:'info',
label:'Tab',
elements:[
{
type:'html',
html:'<span style="">'+'Mon texte'+'</span>'
}
]
}
],
buttons:[{
type:'button',
id:'okBtn',
label: 'Oui',
onClick: function(){
addCode();
}
}, CKEDITOR.dialog.cancelButton],
};
function addCode(){
MonEditor=CKEDITOR.currentInstance;//???
MonEditor.insertHtml('<p>Mon HTML</p>');
};
}); |
Mon problème est que dans addCode() je n'arrive pas à récupérer l'instance de mon editeur.
je ne peux pas faire ainsi :
Code:
CKEDITOR.instances.IdEditeur
Car j'ajouter une clef unique aux nom et id de mes éditeurs en fonction de l'heure et j'en ai plusieurs sur une même page.
Deplus ceci
Code:
MonEditor=CKEDITOR.currentInstance;
me retourne null même si j'ai mon focus sur l'editeur.
Je ne sais plus quoi essayer.
Quelqu'un connait la solution ?
Merci d'avance pour vos idées.