Главная » Функционал » Нестандартные решения » Распознание по ссылке на примере плеера для видео

Распознание по ссылке на примере плеера для видео

02.02.2012 в 23:14
Автор: mdbaner     

Представляю вам интересное решение, как используя дополнительное поле №1($OTHER1$)с возможностью использования разных плееров к примеру для просмотра онлайн роликов с полным функционалом так как для каждого источника видео файла используется собственный проигрыватель.

Теория:
Создав сайт для просмотра фильмов в онлайн режиме каждый может столкнутся с проблемой того что использовать в дополнительном поле код плеера не представляется возможным, так как количество символов допустимых до 140 всего, а код имеет более 300.

Варианты использования:
a) Есть возможность использовать форму добавления полного текста используя HTML теги в правах, с полным выкладыванием кода плеера, но разместив более 100 материалов вы понимаете, что это трудоемко и для новичков трудно подается редактированию.
б) Если использовать только ссылку, то проблема заключается в отображение плеера и формата, как правило многие веб мастера выводят видео через iframe, при котором многие видео материалы не раскрываются на весь экран, и если ссылка прямая, то в место отображения видео файла, происходит скачивание.

Исходя из потребностей можно широко использовать условные операторы uCoz, а именно:
Сравним при помощи условных операторов ссылку вложенную в дополнительное поле №1, и если происходит совпадение ,то ссылка будет вложена в нужный плеер и отображаться нужным для вас размером стандарта и оформлением.
Таким образом используя "дополнительное поле 1" мы можем использовать любую ссылку и любого формата для вывода в полной новости и комментария.

Практическое применение условных операторов:
Рассмотрим использование для плеера проигрывания файлов видео материала с разных источников.
Из информации об уникальных условных операторах, которая есть в каждом сайте uCoz, а именно в редактирование страниц, которые позволяют реализовать условия при помощи которых мы можем добиться вывод или запрет определенного кода, текста, картинки, скрипта следующим образом:
Code
<?if($код$)?> Текст данный отображается если условия $код$ выполняются<?else?> в противном случае Пусто <?endif?>

В нашем случае мы используем первое дополнительное поле
Code
<?if($OTHER1$)?>Плеер проигрывателя<?else?> пусто <?endif?>


Теперь как мы определяем тип ссылки, что бы подставлять плеер индивидуально:
Используем условие substr с считыванием первых символов домена, к примеру:
Code
<?substr('http://www.youtube.com/embed/rNbwDmG0W68',0,22)?> Из данного условия мы получим 'http://www.youtube.com'

Внимание ,0,22 это не просто цифры, а установки настроек:
0-это место начала отсчета символов.
22-это количество символов для отсчета от 0.

Далее вооружившись этим, мы используем для фильтраций ссылок: если ссылка вложенная в $OTHER1$ равна ссылке указанной в условие то показывается плеер, мы получим некий фильтр:
Code
<?if(substr($OTHER1$,0,22)='http://www.youtube.com')?>
  <!--Ссылка совпала Плеер проигрывателя youtube.com отображается-->
<?else?>
  <!--ссылка не совпала не чего не показывается, или следующее условие-->
<?endif?>


На деле полностью рабочий код будет выглядеть таким образом:
Если ссылка совпадает, то показывается полный плеер, если нет, то фильтруется для показа во iframe
Code
<?if($OTHER1$)?>
<?if(substr($OTHER1$,0,21)='http://youtube.com/v/')?>
<object width="600" height="420"><param name="movie" value="$OTHER1$&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="$OTHER1$&rel=0" type="application/x-shockwave-flash" width="600" height="420" allowscriptaccess="always" allowfullscreen="true"></embed></object>
<?else?>
<iframe src="$OTHER1$" width="600" frameborder="0" height="420"></iframe>  
<?endif?>

Как известно ссылки бывают разные в домене, с использованием www, и без, по этому для объединения их для одного плеера мы будем использовать в условия "or" "или" можно "||"
Code
<?if($OTHER1$)?>
<?if(substr($OTHER1$,0,21)='http://youtube.com/v/' or substr($OTHER1$,0,25)='http://www.youtube.com/v/' || substr($OTHER1$,0,34)='http://www.youtube-nocookie.com/v/' or substr($OTHER1$,0,30)='http://youtube-nocookie.com/v/' or substr($OTHER1$,0,34)='http://www.youtube-nocookie.com/v/' || substr($OTHER1$,0,30)='http://youtube-nocookie.com/v/')?>
показываем плеер
<?else?>
не показываем не чего
<?endif?>


Теперь наша задача создать условия для разных типов плееров, теоретический это выглядит так:
Code
<?if($OTHER1$)?>
<?if(substr($OTHER1$,0,21)='http://youtube.com/v/')?>
показываем плеер если совпадение ссылки c youtube
<?else?>
<?if(substr($OTHER1$,0,21)='http://kinostok.tv/v/')?>
показываем плеер если совпадение ссылки c kinostok
<?else?>
<?if(substr($OTHER1$,0,15)='http://myvi.ru/')?>
показываем плеер если совпадение ссылки c myvi
<?else?>
<?if(substr($OTHER1$,0,24)='http://www.videozer.com/')?>
показываем плеер если совпадение ссылки c videozer
<?else?>
<?if(substr($OTHER1$,0,25)='http://embed.novamov.com/')?>
показываем плеер если совпадение ссылки c novamov
<?else?>
<?if(substr($OTHER1$,0,19)='http://videobb.com/'')?>
показываем плеер если совпадение ссылки c videobb
<?else?>
<?if(substr($OTHER1$,0,18)='http://www.1tv.ru/')?>
показываем плеер если совпадение ссылки c 1tv
<?else?>
<iframe src="$OTHER1$" width="600" frameborder="0" height="420"></iframe>  
<?endif?><?endif?><?endif?><?endif?><?endif?><?endif?><?endif?>
<?endif?>


а в практике и c рабочим кодом так:
Code
<?if($OTHER1$)?>
<div rel="nofollow" align="center"><noindex>
<?if(substr($OTHER1$,0,21)='http://youtube.com/v/' || substr($OTHER1$,0,25)='http://www.youtube.com/v/' || substr($OTHER1$,0,34)='http://www.youtube-nocookie.com/v/' || substr($OTHER1$,0,30)='http://youtube-nocookie.com/v/' || substr($OTHER1$,0,34)='http://www.youtube-nocookie.com/v/' || substr($OTHER1$,0,30)='http://youtube-nocookie.com/v/')?>
<object width="600" height="420"><param name="movie" value="$OTHER1$&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="$OTHER1$&rel=0" type="application/x-shockwave-flash" width="600" height="420" allowscriptaccess="always" allowfullscreen="true"></embed></object>
<?else?>
<?if(substr($OTHER1$,0,21)='http://kinostok.tv/v/' || substr($OTHER1$,0,25)='http://www.kinostok.tv/v/')?>
<embed src="$OTHER1$" wmode="transparent" FlashVars="skin=skins/minimal" width="600" height="420" allowscriptaccess="always" allowfullscreen="true" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" /></embed>
<?else?>
<?if(substr($OTHER1$,0,15)='http://myvi.ru/' || substr($OTHER1$,0,19)='http://www.myvi.ru/')?>
<object height="420" width="600"><param value="$OTHER1$" name="movie"/><param value="always" name="allowScriptAccess"/><param value="transparent" name="wmode"/><param value="true" name="allowFullScreen"/><embed height="420" width="600" type="application/x-shockwave-flash" wmode="transparent" allowfullscreen="true" src="$OTHER1$"/></object>
<?else?>
<?if(substr($OTHER1$,0,24)='http://www.videozer.com/' || substr($OTHER1$,0,20)='http://videozer.com/')?>
<object height="420" width="600" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="player"><param value="$OTHER1$" name="movie"/><param value="true" name="allowFullScreen"/><param value="always" name="allowscriptaccess"/><embed height="420" width="600" allowfullscreen="true" allowscriptaccess="always" type="application/x-shockwave-flash" src="$OTHER1$"/></object>
<?else?>
<?if(substr($OTHER1$,0,25)='http://embed.novamov.com/')?>
<iframe style='overflow: hidden; border: 0; width: 600px; height: 480px' src='$OTHER1$' scrolling='no'></iframe>
<?else?>
<?if(substr($OTHER1$,0,19)='http://videobb.com/' || substr($OTHER1$,0,23)='http://www.videobb.com/')?>
<object height="420" width="600" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="player"><param value="$OTHER1$" name="movie"/><param value="true" name="allowFullScreen"/><param value="always" name="allowscriptaccess"/><embed height="420" width="600" allowfullscreen="true" allowscriptaccess="always" type="application/x-shockwave-flash" src="$OTHER1$"/></object>
<?else?>
<?if(substr($OTHER1$,0,18)='http://www.1tv.ru/' || substr($OTHER1$,0,14)='http://1tv.ru/')?>
<object><embed width="600" height="420" align="middle" flashvars="stats=http://www.1tv.ru/addclick/" allowscriptaccess="always" swliveconnect="true" wmode="window" allowfullscreen="true" quality="high" bgcolor="white" name="videoportal" id="videoportal" src="$OTHER1$" type="application/x-shockwave-flash"/></object>
<?else?>
<iframe src="$OTHER1$" width="600" frameborder="0" height="420"></iframe>  
<?endif?><?endif?><?endif?><?endif?><?endif?><?endif?><?endif?>
</noindex></div><?endif?>


Данный код условий работоспособен для следующих источников видео материалов с использованием уникального плеера.
Quote
1 youtube.com - существует 3 варианта ссылок, в плеер, на новость, и в iframe
2 kinostok.tv - работает в iframe но без функций
3 myvi.ru - работает в iframe но без функций
4 videozer.com - работает в iframe но без функций
5 novamov.com - работает в iframe только
6 videobb.com - работает в iframe но без функций
7 1tv.ru - работает в iframe но без функций
8 vk.com - работает в iframe только


С таким же подходом можно реализовать и остальные 4 дополнительных поля, что бы иметь возможность вставлять более одного проигрывателя киноленты.
Так же если наши поля все занятые, то можно использовать другое свободное поле.
Вы можете найти все необходимое операторы для этого на страницах в Панели Управления » Управление дизайном » Редактирование шаблонов.

Плеер, Дополнительные Поля


Рейтинг: 10  (помогла ли Вам эта инструкция: да / нет)          Просмотров: 9228          Комментариев:

Похожие инструкции