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 javascript : Sélectionner tout - Visualiser dans une fenêtre à part
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 javascript : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part CKEDITOR.instances.IdEditeur
Deplus ceci
me retourne null même si j'ai mon focus sur l'editeur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part MonEditor=CKEDITOR.currentInstance;
Je ne sais plus quoi essayer.
Quelqu'un connait la solution ?
Merci d'avance pour vos idées.
Partager