History: PluginYouTube
Source of version: 41
Copy to clipboard
! Plugin YouTube ''Introduced in ((Tiki2))'' This ((wiki plugin)) is an adaptation of the ((PluginFlash)) used to embed a youtube video on a wiki page. To display a play list of videos, you should use instead: ((Module last_youtube_playlist_videos)). {maketoc} !! Parameters {pluginmanager plugin="youtube"} Note : You can add using the url parameters a lot more of parameters like autoplay, show control, etc. [https://developers.google.com/youtube/player_parameters|Complete list at Youtube] !! Show a video ''This code:'' {CODE(colors="tiki")} {youtube movie="G1TuB5P4Ypw" width="425" height="350" quality="high" allowFullScreen="y"} {CODE} ''Would produce:'' {youtube movie="G1TuB5P4Ypw" width="425" height="350" quality="high" allowFullScreen="y"} You can also use the plugin FLASH ((PluginFlash)) to be able to use more parameters. !! Responsive YouTube video - Custom CSS and Wrapper For Tiki sites after v.12, respectively post Tiki12 Bootstrap based responsive websites, you want to show your videos responsive with the same effect that the class img-responsive has for images. Sadly ''width=100%'' and ''height=auto'' does not work for videos, as they are embedded with an iframe. Technically the PlugiYoutube is an alias for an embedding iframe and thus the trick works aswell for plain HTML as for the WikiSyntax / WikiPlugin as shown below. __Here is the trick:__ !!! a. Custom CSS You need to add a little bit of CSS code to your website, either to your theme (in the themes directory on the server) or to the ''Look and Feel'' custom css area in the Tki admin control center (tiki-admin.php?page=look): {CODE()} .video-wrapper { position: relative; padding-bottom: 56.25%; padding-top: 10px; overflow: hidden; } .video-wrapper iframe { position: absolute; width: 100%; height: 100%; top: 0; left: 0; } {CODE} !!! b. Wrapper You need to __wrap__ either your PluginYoutube or your original embedding iframe into a simple __div element__ with the responding class (see above) video-wrapper. Mind to not use width and height neither in the original embedding code iframe nor in the PluginYouTube: __Apparently the PluginYoutube and the HTML iframe element do handle the ratio differently (4:3 / 16:9), but still both are responsive.__ {DIV(class=row)} {DIV(class=col-md-6)} ''This code ...'' {CODE()} {DIV(class=video-wrapper)} {youtube movie="Dm0YnuQeROI" quality="high" allowFullScreen="y"} {DIV} {CODE} %%%%%% ''... will show this video'' {DIV(type=p class=text-info)}of Codecorse from YouTube{DIV} {DIV(class=video-wrapper)} {youtube movie="Dm0YnuQeROI" quality="high" allowFullScreen="y"} {DIV} {DIV}{DIV(class=col-md-6)} ''This code ...'' {CODE()} {HTML()} <div class="video-wrapper"> <iframe src="https://www.youtube.com/embed/PL_R3zEjqEc" frameborder="0" allowfullscreen="y"></iframe> </div> {HTML} {CODE} ''... will show this video'' {DIV(type=p class=text-info)}of CodeCascade from YouTube{DIV} {HTML()} <div class="video-wrapper"> <iframe src="https://www.youtube.com/embed/PL_R3zEjqEc" frameborder="0" allowfullscreen="y"></iframe> </div> {HTML} {DIV}{DIV} {DIV(type=p class=text-info)} Thx to Codecourse (video1) and CodeCascade (video2) from YouTube to explain the little hack. Maybe we will add this CSS hack as a parameter or preference or default css to Tiki at some time. {sign user="Torsten" datetime="2017-10-23T21:07:36+00:00"} {DIV} !! Responsive YouTube video - Bootstrap helper classes and iframe element A maybe more straightforward solution when using an iframe, but not compatible with the PluginYoutube would be the use of the Bootstrap helper classes ''embed-responsive'', ''embed-responsive-XbyY'' and ''embed-responsive-item''. Here you __wrap__ the item aswell in a __div element__, but you use the existing (integrated in Tiki) Bootstrape classes. The advantage is that you completely omit custom css, but the drawback is the (status Tiki17) missing possibility to use this option with the PluginYoutube, as currently the iframe itself needs to have the class ''embed-responsive-item''. This is the original example from [https://getbootstrap.com/docs/3.3/components/#responsive-embed|getbootstrap.com]: {CODE()} <!-- 16:9 aspect ratio --> <div class="embed-responsive embed-responsive-16by9"> <iframe class="embed-responsive-item" src="..."></iframe> </div> <!-- 4:3 aspect ratio --> <div class="embed-responsive embed-responsive-4by3"> <iframe class="embed-responsive-item" src="..."></iframe> </div> {CODE} __Mind:__ Rules are directly applied to ''iframe'', ''embed'', ''video'', and ''object'' elements. You can optionally use an explicit descendant class .embed-responsive-item when you want to match the styling for other attributes. (src: getbootstrap.com) {DIV(class=row)} {DIV(class=col-md-6)} !!! a. 16 : 9 ratio PluginYoutube ''This code ..." {CODE()} {DIV(class="embed-responsive embed-responsive-16by9")} {youtube movie="2c7pVXTGZSI" quality="high" allowFullScreen="y"} {DIV} {CODE} ''... will show this video'' {DIV(class="embed-responsive embed-responsive-16by9")} {youtube movie="2c7pVXTGZSI" quality="high" allowFullScreen="y"} {DIV} {DIV}{DIV(class=col-md-6)} !!! c. 4 : 3 ratio PluginYoutube ''This code ..." {CODE()} {DIV(class="embed-responsive embed-responsive-4by3"} {youtube movie="2c7pVXTGZSI" quality="high" allowFullScreen="y"} {DIV} {CODE} ''... will show this video'' {DIV(class="embed-responsive embed-responsive-4by3"} {youtube movie="2c7pVXTGZSI" quality="high" allowFullScreen="y"} {DIV} {DIV}{DIV} {DIV(class=row)} {DIV(class=col-md-6)} !!! b. 16 : 9 ratio iframe ''This code ..." {CODE()} {HTML()} <div class="embed-responsive embed-responsive-16by9"> <iframe src="https://www.youtube.com/embed/2c7pVXTGZSI" allowfullscreen="y"></iframe> </div> {HTML} {CODE} ''... will show this video'' {HTML()} <div class="embed-responsive embed-responsive-16by9"> <iframe src="https://www.youtube.com/embed/2c7pVXTGZSI" allowfullscreen="y"></iframe> </div> {HTML} {DIV}{DIV(class=col-md-6)} !!! d. 4 : 3 ratio iframe ''This code ..." {CODE()} {HTML()} <div class="embed-responsive embed-responsive-4by3"> <iframe src="https://www.youtube.com/embed/2c7pVXTGZSI" allowfullscreen="y"></iframe> </div> {HTML} {CODE} ''... will show this video'' {HTML()} <div class="embed-responsive embed-responsive-4by3"> <iframe src="https://www.youtube.com/embed/2c7pVXTGZSI" allowfullscreen="y"></iframe> </div> {HTML} {DIV}{DIV} {DIV(type=p class=text-info)} Thx to luciash d'being (aka luci) to point out the option to use the Bootstrap helper classes! {sign user="Torsten" datetime="2017-10-23T23:03:32+00:00"} {DIV} !! Show a playlist For example, to embed a YouTube ===playlist===, can use the ((Module last_youtube_playlist_videos)). Or you can get the embed URL from YouTube, remove the "PL" at the front of the video ID, then in Tiki editor, click the "flash" icon, select Flash Type: Movie URL, then enter the URL as [http://www.youtube.com/p/25DD9663EE128030]: {CODE(colors="tiki")}{flash type="url" movie="http://www.youtube.com/p/25DD9663EE128030"} {CODE} {REMARKSBOX(type=tip title=Tip)}Make sure you use the URL which looks like -+/v/wWmE6Zvo37E+- and not like -+watch?v=UmAfQ-GgtCQ+- {REMARKSBOX} !!Related pages * ((PluginBlipTV)) * ((PluginMediaPlayer)) * ((PluginVimeo)) * ((PluginWatershed))