功能介绍
目前已经完成了播放器的自定义添加功能,功能类似phpcms2008,以模型的形式使用,简化为字段的开发.
大家集思广益,将自己需要的功能详细说明下,"你心目中的视频模型" .
免费开源发放代码,希望大家踊跃提建议.
2011年2月16日9:46:04更新:
这周末应该就ok了.
静态化播放页已经完成!
动态播放页尚未完工!
插入播放器暂未完工!
分集肯定有的;播放器广告暂无;播放时长由于格式众多暂无法实现;
2011年2月19日11:36:42更新:
目前在新增/修改内容时无法自动生成静态播放器页,正在解决;批量生成一切正常已经完工;
需要整合CC视频的,请将相关技术文档站内PM我;
目前已经实现的是:
1.播放页动静态自由设置,url可简单自定义,播放页动态时可继承内容页的权限设置;
2.支持多播放格式,每个视频可自由选择播放器,可添加任意视频地址,只有你能搞到播放器代码均可播放;
发布时间初步定在周一中午.家里网线到期了,准备搬家,所以不准备续费,无网的生活,杯具
下载回去后解压,覆盖 phpcms/ 和 statics/ 目录即可.
utf-8版本由 http://bbs.phpcms.cn/redirect.php?goto=findpost&ptid=246745&pid=1280732&fromuid=47039 会员tbmcbbs 提供,在此表示感谢.
使用说明[请仔细阅读!]:
播放器部分:
1.
\phpcms\modules\admin\player.php
\phpcms\model\player_model.class.php
\phpcms\modules\admin\templates\player_list.tpl.php
\phpcms\modules\admin\templates\player_add.tpl.php
2.执行一个sql语句-- v9_player.sql ,以增加播放器代码;注意sql语句里的表前缀需要替换为你的v9数据库前缀,使用文本编辑工具如editplus打开替换 v9_ 为你的数据库前缀;
视频字段部分:
1.\phpcms\modules\content\fields\video\ 整个目录共7个文件
2.字段安装方法为: \phpcms\modules\content\fields\fields.inc.php 在该文件合适的地方增加一行:
'video'=>'视频字段',
必须是 video,不能是其他名字;具体位置就不赘述了.不知道的去面壁思过.
3.建议新建一个视频模型.
4.另外要注意的是,建议视频模型的url规则最好是目录形式,防止生成的播放页被覆盖了.比如以下url规则:
{$catdir}/{$id}/index.html|{$catdir}/{$id}/index_{$page}.html
每个视频文章独占一个id目录,这样就不会冲突,也比较利于管理.当然我之前发布过拼音化标题作为目录也是相当不错的方法.
5.多个视频字段可单独自行设置动静态页面,互不影响.播放页的静态路径是根据内容页来的,比如内容页是 http://127.0.0.1/v9/TV/40/index.html ,那就截取后面的index.html,追加一段,结果就类似 http://127.0.0.1/v9/TV/40/flv@1.html ,这样内容页和播放页就在一个目录下了.方便了管理.
视频模板部分:
\phpcms\templates\default\content\show_video.html
\phpcms\templates\default\content\player.html
视频播放页面动态显示部分:
\phpcms\modules\content\player.php
以上一共14个文件,编码均为GBK,覆盖前一定记得备份程序和数据库,对未备份导致的错误自行解决,本人不承担任何责任!解压后自行覆盖,或者对照目录自行手工复制添加,需要utf-8编码的可以使用转码工具自行转码.然后更新缓存!
提供一套flv播放器-jw flv player,带两套皮肤.目录为 statics/player/flv/
使用中的情况说明:
1.新增视频字段时,字段提示 如下填写,目的是为了增加一部分功能.
<a href="javascript:void();" title="清空集数,系统自动从第1集重新排列,适用于集数错乱时">校正集数</a>
<a href="javascript:void();" title="增加一行以便手工填写">增加一行</a>
<script>
function vclearjs(){
$("input[name='gvod_alt\\[\\]']").attr("value", '');
}
function addone(returnid){
var str = $('#'+returnid).html();
var ids = parseInt(Math.random() * 10000 + 10*i);
str += "<li id='image"+ids+"'><input type='text' name='"+returnid+"_url[]' value='' style='width:310px;' ondblclick='image_priview(this.value);' class='input-text'> <input type='text' name='"+returnid+"_alt[]' value='' style='width:160px;' class='input-text' onfocus=\"if(this.value == this.defaultValue) this.value = ''\" onblur=\"if(this.value.replace(' ','') == '') this.value = this.defaultValue;\"> <a href=\"javascript:remove_div('image"+ids+"')\">移除</a> </li>";
$('#'+returnid).html(str);
}
</script>
注明:其中所有的 gvod 字符需要替换成你的字段名称,切记!否则无法使用 校正集数 和 增加一行 的功能.
2.后台 -- 扩展 -- 菜单管理 -- 添加菜单,目的为增加播放器管理界面链接,方法如图: 播放器管理菜单增加.jpg
3.如果要在列表页或其他地方调用更新集数,使用方法为:
{pc:content action="lists" catid="$catid" num="25" order="id DESC" page="$page" moreinfo="1"}
<ul class="list lh24 f14">
{loop $data $r}
<li><span class="rt"> {date('Y-m-d H:i:s',$r[inputtime])}</span>·<a href="index.php?m=content&c=type&catid={$catid}&typeid={$r[typeid]}">{$TYPE[$r[typeid]][name]}</a> <a href="{$r[url]}" target="_blank"{title_style($r[style])}>{$r[title]}</a> (flv更新至第{count(string2array($r['flv']))}集;gvod更新至第{count(string2array($r['gvod']))}集;qvod更新至第{count(string2array($r['qvod']))}集) </li>
{if $n%5==0}<li class="bk20 hr"></li>{/if}
{/loop}
</ul>
<div id="pages" class="text-c">{$pages}</div>
{/pc}
注:增加了 moreinfo="1" 和 类似 {count(string2array($r['qvod']))} 的用法. {count(string2array($r['qvod']))}里的qvod为视频字段名称,需要根据你的情况自己写.其他的按照系统原有情况不变;
更新说明:
1.最新追加了视频列表的显示隐藏,读写cookie实现可保留设置.
以上方法与说明均经过实测,暂未发现有任何问题,您在使用中的问题请跟帖说明.
视频字段的优点如下:
1.未改动系统底层,以字段的方式插入系统,完美实现了生成静态播放页;
2.简单的静态播放页自定义url路径;
3.对于空间不足的站长可以选用不生成静态播放页,减少空间占用;
4.测试通过qvod和flv两个播放器;
5.cookie记录播放模式显示隐藏,提高用户体验;
6.播放页可使用内容页的任何变量和设置,区别仅仅在于播放页视频字段插入格式为: <?php echo $this->video('flv',$rs['flv']?$rs['flv']:$flv,1);?> 其中的字符 flv 为字段名称,根据自己的情况修改;内容页直接插入 {$flv} 即可,请参考 视频模板部分 .
7.历时一周,本准备周末发布,无奈搬迁在即,网费到期,延迟发布;
8.未说明的情况请跟帖说明,也欢迎大家发布使用心得.暂不接受私聊咨询问题,有特殊功能需求的可联系本人二次开发.