2010-07-27 31 views
1

Je développe actuellement un navigateur d'images en PHP et jQuery. J'ai réussi à créer un plugin bouton personnalisé qui ouvre mon navigateur d'image dans une nouvelle fenêtre (pas une boîte de dialogue):CKEditor - Navigateur d'images personnalisées

CKEDITOR.plugins.add('imgbrowser', 
{ 
    init: function(editor) 
    { 
     var pluginName = 'imgbrowser'; 
     editor.ui.addButton('Imgbrowser', 
      { 
       label: 'Image browser', 
       command: pluginName, 
       click: function (editor) { window.open('/publish/browser/index.php','Image Browser','width=900,height=600'); } 
      }); 
    } 
}); 

Y at-il quelqu'un ici qui sait comment activer la fonction de rappel et comment cela sera utilisé pour que je puisse ajouter les images sélectionnées dans l'éditeur?

Répondre

1

Ok. Voici la réponse:

Dans la fenêtre parent, j'ai cette fonction:

function InsertHTML(file_path) 
     { 
      // Get the editor instance that we want to interact with. 
      var oEditor = CKEDITOR.instances.page_content; 
      var value = file_path; 

      // Check the active editing mode. 
      if (oEditor.mode == 'wysiwyg') 
      { 
       // Insert the desired HTML. 
       oEditor.insertHtml('<img src="' + value + '" />'); 
      } 
      else 
       alert('You must be on WYSIWYG mode!'); 
     } 

page_content est l'id de mon textarea.

Dans la fenêtre pop-up j'avoir cette fonction:

function sendToParent(file_path) { 
    window.opener.InsertHTML(file_path); 
} 


echo "<input type='button' value='Insert image' onclick='sendToParent(\"".$img_element."\")' />"