Вставка флеш роликов в ноду

Аватар пользователя MDD MDD 15 апреля 2010 в 12:56

Есть необходимость вставлять периодически флеш-ролики в ноду.
Порылся на предмет модулей, нашел два. Первый вставляет ролик как самостоятельную ноду - мне такой вариант не подходит. Второй требует повесить еще кучу дополнительных модулей, а перегружать систему не хочется.

Самый простой вариант это вставить ролик кодом. Флеш плеер взял из Адоб Дримса.
Кинул одноименную папку со скриптами плеера в корень. Видео залил в /files/u1/video

Код такой:

<script src="/flvplayer/Scripts/swfobject_modified.js" type="text/javascript"></script>

  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"  id="FLVPlayer">
    <param name="movie" value="/flvplayer/LVPlayer_Progressive.swf" />
    <param name="quality" value="high" />
    <param name="wmode" value="opaque" />
    <param name="scale" value="noscale" />
    <param name="salign" value="lt" />
   

<param name="FlashVars" value="&amp;MM_ComponentVersion=1&amp;skinName=/flvplayer/Clear_Skin_3&amp;streamName=../files/u1/video/ИМЯ_ФАЙЛА.flv&amp;autoPlay=false&amp;autoRewind=false" />

    <param name="swfversion" value="8,0,0,0" />
        <param name="expressinstall" value="/flvplayer/Scripts/expressInstall.swf" />
    <object type="application/x-shockwave-flash" data="/flvplayer/FLVPlayer_Progressive.swf">
   
      <param name="quality" value="high" />
      <param name="wmode" value="opaque" />
      <param name="scale" value="noscale" />
      <param name="salign" value="lt" />
     

<param name="FlashVars" value="&amp;MM_ComponentVersion=1&amp;skinName=/flvplayer/Clear_Skin_3&amp;streamName=../files/u1/video/ИМЯ_ФАЙЛА.flv&amp;autoPlay=false&amp;autoRewind=false" />

      <param name="swfversion" value="8,0,0,0" />
      <param name="expressinstall" value="/flvplayer/Scripts/expressInstall.swf" />
   
      <div>
        <h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
        <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
      </div>
   
    </object>
   
  </object>
<br><br>

<script type="text/javascript">
<!--
swfobject.registerObject("FLVPlayer");
//-->
</script>

ИМЯ_ФАЙЛА - естественно нужно заменить на свое *.flv
Папку с плеером приложил, кому надо.

*****************************************************************************************

В общем решение вполне жизнеспособное, если не считать того, что слишком много кода ненаглядно при редактирование ноды. Может кто-нибудь сможет оформить его в виде модуля или подскажет как сделать так, что бы не вставлять каждый раз один и тот же код, а указывать только имя файла?

Комментарии

Аватар пользователя oboroten oboroten 15 апреля 2010 в 13:10

эммм.. А не проще ли использовать сск филед_филед и темизацию node-мой_материал.tpl.php
Если требуется время от времени то сделайте поле не обязательным если есть потребность вставлять ссылку вручную используйте просто текстовое поле
А дальше всё как всегда если поле заполнено отображаем плеер вместе с загруженым файлом если поле пустое не отображаем ничего...

Аватар пользователя MDD MDD 15 апреля 2010 в 13:21

"oboroten" wrote:
эммм.. А не проще ли использовать сск филед_филед и темизацию node-мой_материал.tpl.php

Имхо, не проще, уже звучит даже страшно )) для такой простой задачи. Шутк )

У меня CCK не стоит, не нужен.
Вообще модулей использую по минимуму, ибо все они хорошо грузят сервер, и при превышение определенного числа сайт просто перестает работать Sad Уже проходили.

Если не ошибаюсь, вот второй модуль (из сабжа) как раз предлагает навешать кучу дополнительных, для вставки видео. Имхо, это идеологически не верно. Ладно бы была серьезная задача... а так просто, ну не нравиЦо мне такой подход ))

Аватар пользователя MDD MDD 15 апреля 2010 в 13:24

"oboroten" wrote:
Вот ещё вспомнил есть такой вариант вставки видео на сайт

Как я понял, там предлагается видео вставлять отдельной нодой - не подходит Smile
Да и в моем варианте кода меньше и правки всякой Smile

Аватар пользователя oboroten oboroten 15 апреля 2010 в 13:31

Гм... во втором варианте предлагается всего лишь подключить .js скрипт к определённому типу материала для того что бы ява отловила в контенте ссылку на .flv файл и подменила ссылку на плеер. а если нет такой ссылки то не подменять...


<?php drupal_add_js($path_to_js.'jquery.media.js')?>
<?php
drupal_add_js
('if (Drupal.jsEnabled) {
  $(document).ready(function() {
    $.fn.media.defaults.autoplay = 1;
    $.fn.media.defaults.params = { allowfullscreen: true };
    $(\'.media\').media();
  });  
}'
'inline');
?>

Как по мне это несколько более элегантное решение и при редактировании куда чище...

Аватар пользователя Pan4eZzz Pan4eZzz 15 апреля 2010 в 14:10

что-то у меня не поперло.. пока пути не настроены были сообщение о обновлении флеша появлялось, как все на свои места поставил все пусто и ничего не подгружается..

Аватар пользователя MDD MDD 15 апреля 2010 в 14:19

А Вы когда курсор наводите на "пустое" место, там где должен быть ролик - в статусной строке браузера появляется сообщение "щелкните, что бы активировать приложение"?

Вообще, если ролик тяжелый, то появляется он не сразу.

Аватар пользователя MDD MDD 20 апреля 2010 в 18:18

понял в чем косяк, я при копирование кода убрал тэги ширины и высоты ролика Beee
после 444553540000 и после FLVPlayer_Progressive.swf - width="540" height="297"

Реальный размер ролика может не соответствовать указанному, у меня все отображаются в истинном размере, в независимости от значений.

Правильный вариант такой:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="540" height="297" id="FLVPlayer">
    <param name="movie" value="/flvplayer/FLVPlayer_Progressive.swf" />
    <param name="quality" value="high" />
    <param name="wmode" value="opaque" />
    <param name="scale" value="noscale" />
    <param name="salign" value="lt" />

    <param name="FlashVars" value="&amp;MM_ComponentVersion=1&amp;skinName=/flvplayer/Clear_Skin_3&amp;streamName=../files/u1/video/ИМЯ_РОЛИКА.flv&amp;autoPlay=false&amp;autoRewind=false" />

    <param name="swfversion" value="8,0,0,0" />
        <param name="expressinstall" value="/flvplayer/Scripts/expressInstall.swf" />
    <object type="application/x-shockwave-flash" data="/flvplayer/FLVPlayer_Progressive.swf" width="540" height="297">
   
      <param name="quality" value="high" />
      <param name="wmode" value="opaque" />
      <param name="scale" value="noscale" />
      <param name="salign" value="lt" />

      <param name="FlashVars" value="&amp;MM_ComponentVersion=1&amp;skinName=/flvplayer/Clear_Skin_3&amp;streamName=../files/u1/video/ИМЯ_РОЛИКА.flv&amp;autoPlay=false&amp;autoRewind=false" />

      <param name="swfversion" value="8,0,0,0" />
      <param name="expressinstall" value="/flvplayer/Scripts/expressInstall.swf" />
   
   
        <h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
        <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
     
    </object>    
  </object>

<script type="text/javascript">
<!--
swfobject.registerObject("FLVPlayer");
//-->
</script>