Fork me on GitHub






Installation du plugin "Youtube" dans l'éditeur TinyMCE
Semi pro
Inscrit: 01/08/2005 19:06
Messages: 1851
Bonjour à tous,

Alain01 nous à proposé une astuce pour intégrer un bouton Youtube dans l'éditeur tinyMCE https://www.frxoops.org/modules/news/a ... _rootid=8370&#comment8371

Cette extension et très utile, mais le problème et qu'il utilise la balise "object" qui et l'ancien code d'intégration de youtube.

Maintenant Youtube utilise les "iframe" j'ai donc modifié le js pour que le bouton nous intègre un format en iframe, mais j'ai était plus loin en rendant toutes les vidéos intégrer soit responsive.

Pour ce faire suivez la procédure de alain01 si dessus et nous allons modifier le fichier dialog.js qui ce trouve dans

/votre_site/class/xoopseditor/tinymce/tiny_mce/plugins/youtube/js/

remplacer de la ligne 80 à 103 ceci :
//Replace http://youtu.be/xxxxxxxx for&nbs ... .youtube.com/v/xxxxxxxxxx
  
if(f.youtubeID.value.match(new RegExp("http://www.youtube.com/","g"))){
   
//Replace url
   
var youtubeuri f.youtubeID.value.replace(f.youtubeID.value,"http://www.youtube.com/v/"+YouTubeDialog.videovalue(f.youtubeID.value));
   
//Construct URL
   
var constructUri youtubeuri+options;
  }else if(
f.youtubeID.value.match(new RegExp("http://youtu.be/","g"))){
   
//Replace url
   
var youtubeuri f.youtubeID.value.replace('http://youtu.be/',"http://www.youtube.com/v/");
   
//Construct URL
   
var constructUri youtubeuri+options;
  }
  
//width="'+document.forms[0].youtubeWidth.value+'" height="'+document.forms[0].youtubeHeight.value+'"
  // Insert the contents from the input into the document
  
var objectCode '<div class="youtube" style="'+domSize+'">';
  
objectCode +='<object type="application/x-shockwave-flash" '+videoSize+' data="'+constructUri+'">';
  
objectCode += '<param name="movie" value="'+constructUri+'" />';
  
objectCode += '<param name="wmode" value="transparent" />';
  
objectCode += '</object>';
  
objectCode += '</div>';
  
tinyMCEPopup.editor.execCommand('mceInsertContent'falseobjectCode);
  
tinyMCEPopup.close();
 }
};


Par ceci :

//Replace http://youtu.be/xxxxxxxx for&nbs ... .youtube.com/v/xxxxxxxxxx
  
if(f.youtubeID.value.match(new RegExp("http://www.youtube.com/","g"))){
   
//Replace url
   
var youtubeuri f.youtubeID.value.replace(f.youtubeID.value,"http://www.youtube.com/embed/"+YouTubeDialog.videovalue(f.youtubeID.value));
   
//Construct URL
   
var constructUri youtubeuri+options;
  }else if(
f.youtubeID.value.match(new RegExp("http://youtu.be/","g"))){
   
//Replace url
   
var youtubeuri f.youtubeID.value.replace('http://youtu.be/',"http://www.youtube.com/embed/");
   
//Construct URL
   
var constructUri youtubeuri+options;
  }
  
//width="'+document.forms[0].youtubeWidth.value+'" height="'+document.forms[0].youtubeHeight.value+'"
  // Insert the contents from the input into the document
  
var objectCode '<div class="videocontainer">';
  
objectCode +='<iframe  '+videoSize+'';
  
objectCode += 'src="'+constructUri+'"';
  
objectCode += 'allowfullsreen />';
  
objectCode += '</iframe>';
  
objectCode += '</div>';
  
tinyMCEPopup.editor.execCommand('mceInsertContent'falseobjectCode);
  
tinyMCEPopup.close();
 }
};


Ensuite pour que ces vidéos soient responsive c’est-à-dire qu'elle s'adapte à tout type d'écran du pc au mobile nous allons rajouter quelque ligne dans votre fichier style.css de votre thème:

.videocontainer {
  
width100%;
  
height0;
  
padding-bottom56.25%;
  
overflowhidden;
  
positionrelative;
}
.
videocontainer iframe
{
  
width:100%!important;
  
height100%!important;
  
positionabsolute;
  
top0;left0;
}
.
videocontainer embed
{
  
width:100%!important;
  
height100%!important;
  
positionabsolute;
  
top0;left0;
}
.
videocontainer object
{
  
width:100%!important;
  
height100%!important;
  
positionabsolute;
  
top0;left0;
}


Vous voilà avec des balises iframes et des vidéos responsives

Posté le : 24/05/2013 13:14
Partager Twitter Partagez cette article sur GG+
Re: Installation du plugin "Youtube" dans l'éditeur TinyMCE
Admin Frxoops
Inscrit: 16/05/2003 18:10
De Rhone-Alpes
Messages: 4051
Super, merci pour ce bon tuto ^^.

J'ai toutefois une question,

comment ton média reconnait qu'il faut utiliser le style css ".videocontainer " et pas les suivants ???


Posté le : 24/05/2013 16:37

Open in new window
Partager Twitter Partagez cette article sur GG+
Re: Installation du plugin "Youtube" dans l'éditeur TinyMCE
Semi pro
Inscrit: 01/08/2005 19:06
Messages: 1851
tous simplement car quand j'ajoute la vidéo je lui demande d'ajouté une div videocontainer

var objectCode '<div class="videocontainer">';


et que en dessous on lui demande de transformer l'url par une iframe

donc dans le style css il demande .videocontaine iframe

sa serai un object il prendrai le css .videocontainer object

Mais cela reste pour l'instant a faire manuellement pour object,embed car lorsque on ajoute une vidéo avec le bouton et avec cette methode si dessus il ajoute automatiquement l'iframe le format utiliser par defaut sur youtube

Posté le : 24/05/2013 17:43
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

68 Personne(s) en ligne (56 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 68 | Plus ...