Есть необходимость вставлять периодически флеш-ролики в ноду.
Порылся на предмет модулей, нашел два. Первый вставляет ролик как самостоятельную ноду - мне такой вариант не подходит. Второй требует повесить еще кучу дополнительных модулей, а перегружать систему не хочется.
Самый простой вариант это вставить ролик кодом. Флеш плеер взял из Адоб Дримса.
Кинул одноименную папку со скриптами плеера в корень. Видео залил в /files/u1/video
Код такой:
<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="&MM_ComponentVersion=1&skinName=/flvplayer/Clear_Skin_3&streamName=../files/u1/video/ИМЯ_ФАЙЛА.flv&autoPlay=false&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="&MM_ComponentVersion=1&skinName=/flvplayer/Clear_Skin_3&streamName=../files/u1/video/ИМЯ_ФАЙЛА.flv&autoPlay=false&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
Папку с плеером приложил, кому надо.
*****************************************************************************************
В общем решение вполне жизнеспособное, если не считать того, что слишком много кода ненаглядно при редактирование ноды. Может кто-нибудь сможет оформить его в виде модуля или подскажет как сделать так, что бы не вставлять каждый раз один и тот же код, а указывать только имя файла?
Комментарии
спасибо, искал. Можно ссылку на плеер?
эммм.. А не проще ли использовать сск филед_филед и темизацию node-мой_материал.tpl.php
Если требуется время от времени то сделайте поле не обязательным если есть потребность вставлять ссылку вручную используйте просто текстовое поле
А дальше всё как всегда если поле заполнено отображаем плеер вместе с загруженым файлом если поле пустое не отображаем ничего...
Почему-то не прицепилось первый раз.
http://www.drupal.ru/files/flvplayer_0.rar
Вот ещё вспомнил есть такой вариант вставки видео на сайт http://www.drupal.ru/node/25077
Имхо, не проще, уже звучит даже страшно )) для такой простой задачи. Шутк )
У меня CCK не стоит, не нужен.
Вообще модулей использую по минимуму, ибо все они хорошо грузят сервер, и при превышение определенного числа сайт просто перестает работать Уже проходили.
Если не ошибаюсь, вот второй модуль (из сабжа) как раз предлагает навешать кучу дополнительных, для вставки видео. Имхо, это идеологически не верно. Ладно бы была серьезная задача... а так просто, ну не нравиЦо мне такой подход ))
Как я понял, там предлагается видео вставлять отдельной нодой - не подходит
Да и в моем варианте кода меньше и правки всякой
Гм... во втором варианте предлагается всего лишь подключить .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');
?>
Как по мне это несколько более элегантное решение и при редактировании куда чище...
Попробую. Может Вы и правы
что-то у меня не поперло.. пока пути не настроены были сообщение о обновлении флеша появлялось, как все на свои места поставил все пусто и ничего не подгружается..
А Вы когда курсор наводите на "пустое" место, там где должен быть ролик - в статусной строке браузера появляется сообщение "щелкните, что бы активировать приложение"?
Вообще, если ролик тяжелый, то появляется он не сразу.
понял в чем косяк, я при копирование кода убрал тэги ширины и высоты ролика
после 444553540000 и после FLVPlayer_Progressive.swf -
width="540" height="297"
Реальный размер ролика может не соответствовать указанному, у меня все отображаются в истинном размере, в независимости от значений.
Правильный вариант такой:
<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="&MM_ComponentVersion=1&skinName=/flvplayer/Clear_Skin_3&streamName=../files/u1/video/ИМЯ_РОЛИКА.flv&autoPlay=false&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="&MM_ComponentVersion=1&skinName=/flvplayer/Clear_Skin_3&streamName=../files/u1/video/ИМЯ_РОЛИКА.flv&autoPlay=false&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>