Aqui estou novamente pra falar de cakephp, como atualmente estou desenvolvendo um projeto em cake sempre estão surgindo novas necessidades em relação a componentes e etc, e dessa vez eu precisava criar um módulo para videos no cms. Certo! Como ele funciona: o usuario ira cadastrar titulo, url e uma breve descrição do video, até ai tudo bem, mas e para exibir o player desse video no meu site ?
A resposta é simples, preciso de um embed desse vídeo na minha pagina, e é exatamente isso que eu irei mostrar como fazer utilizando o "VideoHelper"!
Primeiro faça um clone do repositorio onde está hospedado o helper nesse link: https://github.com/emersonsoares/VideosHelper-for-cakephp para dentro da pasta app/View/Helper, caso você não use o git não tem problema é só baixar como zip o helper aqui.
Segundo, declare o uso do helper no seu AppControler:
//app/Controler/AppControler.php
public $helpers = array('Html', 'Video');
Terceiro, vá na sua view e use o helper! Assim óh:
// app/View/MyController/myaction.ctp
echo $this->Video->embed('http://minhaurldovideo', array(
'width' => 450,
'height' => 300
));
Ou se quiser uma coisa mais avançada:
// Alguns desses parâmetros não servem para certos videos, ou seja, eles serão ignorados.
echo $this->Video->embed('http://minhaurldovideo', array(
'width' => 450,
'height' => 300,
'allowfullscreen'=>1,
'loop'=>1,
'color'=>'00adef',
'show_title'=>1,
'show_byline'=>1,
'show_portrait'=>0,
'autoplay'=>1,
'frameborder'=>0
)) ;
Quando for cadastrar esse vídeo lá no CMS, o usuário não precisará escolher qual é o site do video e muito menos precisar ir la e gerar o embed pelo próprio site, ele só precisa copiar a url do vídeo e cadastrar, o resto o helper que faz.
Lembrando que é compatível com videos do YouTube e do Vimeo por enquanto, já está programado uma atualização para aceitar videos do RedTube também :P, se alguém tiver mais alguma sugestão de serviços de videos é só deixar nos comentários ou você mesmo pode fazer e mandar um pull request pra gente la no github.