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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.