Attention, le plugin MediaEmbed qui permet de rajouter du code vidéo, récupéré de Youtube ou Vimeo, par l'intermidiaire de la barre à outil de ckeditor est un peu buggé.

Ci dessous le code complet, en rouge le paramètre manquant.

/*
* @example An iframe-based dialog with custom button handling logics.
*/
( function() {
    CKEDITOR.plugins.add( 'MediaEmbed',
    {
        requires: [ 'iframedialog' ],
        init: function( editor )
        {
           var me = this;
           CKEDITOR.dialog.add( 'MediaEmbedDialog', function (editor)
           {
    
              return {
                 title : 'Embed Media Dialog',
                 minWidth : 550,
                 minHeight : 200,
                 contents :
                       [
                          {
                             id : 'iframe',
                             label : 'Embed Media',
                             expand : true,
                             elements :
                                   [
                                      {
                     type : 'html',
                     id : 'pageMediaEmbed',
                     label : 'Embed Media',
                     style : 'width : 100%;',
                  
                     html : '<iframe src="'+me.path+'dialogs/mediaembed.html" frameborder="0" name="iframeMediaEmbed" 
                               id="iframeMediaEmbed" allowtransparency="1" style="width:100%;margin:0;padding:0;">
                             </iframe>'
                   }
                                   ]
                          }
                       ],
                  onOk : function()
                 {
    for (var i=0; i<window.frames.length; i++) {
       if(window.frames[i].name == 'iframeMediaEmbed') {
          var content = window.frames[i].document.getElementById("embed").value;
       }
    }
    final_html = 'MediaEmbedInsertData|---' + escape('<div class="media_embed">'+content+'</div>') + '---|MediaEmbedInsertData';
                    editor.insertHtml(final_html);
                    updated_editor_data = editor.getData();
                    clean_editor_data = updated_editor_data.replace(final_html,'<div class="media_embed">'+content+'</div>');
                    editor.setData(clean_editor_data);
                 }
              };
           } );

            editor.addCommand( 'MediaEmbed', new CKEDITOR.dialogCommand( 'MediaEmbedDialog' ) );

            editor.ui.addButton( 'MediaEmbed',
            {
                label: 'Embed Media',
                command: 'MediaEmbed',
                icon: this.path + 'images/icon.gif'
            } );
        }
    } );
} )();

 

0 réponses

Laisser un commentaire

Participez-vous à la discussion?
N'hésitez pas à contribuer!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.