模板开发说明文档

模板开发说明文档


一. 模板文件及路径

  1. 系统默认的模板名为phpvod,与之相关模板文件(html)存放于template/phpvod目录下,样式文件(css)及图片存放于image/phpvod目录下
  2. 部分模板文件列表:
    category.htm        版块页
    class.htm            栏目页
    classpw.htm            栏目密码输入页
    faq.htm                帮助页
    footer.htm            尾部
    header.htm            头部
    index.htm            首页
    login.htm            登录页
    message.htm            短消息
    notice.htm            公告页
    page.htm            翻页
    page_rp.htm            翻页(用于评论翻页)
    panel_flash.htm        图片展示
    play.htm            视频播放页
    post.htm            发布视频页
    profile.htm            个人中心
    read.htm            视频详细页
    refreshto.htm        信息提示
    register.htm        注册页
    reply.htm            评论
    report.htm            举报
    search.htm            搜索页
    sendpwd.htm            找回密码
    showmsg                信息提示
    

二. 添加风格模板

  1. 进入后台/风格模板/添加/编辑风格
  2. 输入风格名称(自定义)模板目录名(存放于template目录)风格目录名(存放于image目录),单击提交按钮。

    可以为同一套模板制作不同颜色的风格样式,添加风格模板时只需改动风格目录名即可。 当用户添加的模板目录中缺少某个模板文件时,系统会自动调用phpvod目录下的模板文件。


三. 设置网站默认模板风格

  • 进入后台/核心功能设置/网站默认风格进行设置
  • 普通用户也可以在前台个人中心更换网站显示风格。

四. 全局变量

  • 全局变量可以在任意模板文件中使用。
  • 部分全局变量说明:
    $db_siteifopen    //网站状态(1开启,0关闭)
    $db_whyclose    //网站关闭原因
    $db_wwwname        //网站名称
    $db_wwwurl        //网站地址
    $db_bfn            //网站首页文件
    $db_ceoemail    //管理员邮箱
    $db_keywords    //Meta关键词
    $db_description    //Meta描述
    $db_icp            //ICP备案信息
    $db_icpurl        //ICP备案信息链接地址
    $db_statcode    //第三方统计代码
    $db_charset        //网站编码
    
  • 更多全局变量请参阅data/cache/config.php文件

五. 引用文件

在模板中引用风格目录中的文件可以使用$imgpath$stylepath变量。

  $imgpath    //图片目录名(默认为image)
  $stylepath    //当前使用的风格目录名

举例:

  1. 在模板文件中引用当前风格目录下的style.css样式文件
    <link rel="stylesheet" type="text/css" href="$imgpath/$stylepath/style.css" />
    
  2. 在模板文件中引用风格目录下的logo.gif图片文件
    <img src="$imgpath/$stylepath/logo.gif" />
    

六. 模板标签

if 标签
  • 标签说明:条件判断标签
  • 格式一:

    <!--{if 条件}-->
    ......
    <!--{/if}-->
    
  • 格式二:

    <!--{if 条件}-->
    ......
    <!--{else}-->
    ......
    <!--{/if}-->
    
  • 格式三:

    <!--{if 条件}-->
    ......
    <!--{elseif 条件}-->
    ......
    <!--{else}-->
    ......
    <!--{/if}-->
    
loop 标签
  • 标签说明:数组循环标签
  • 格式一:

    <!--{loop $array $value}-->
    ......
    <!--{/loop}-->
    
  • 格式二:

    <!--{loop $array $key $value}-->
    ......
    <!--{/loop}-->
    
eval 标签
  • 标签说明:php语句执行标签
  • 使用格式:
    <!--{eval php语句;}-->
    
echo 标签
  • 标签说明:输出标签
  • 使用格式:
    <!--{echo 变量名}-->
    
    举例:
    1. 输出变量$i的值<!--{echo $i}-->
    2. 输出函数get_date的运行结果<!--{echo get_date('1349881479')}-->
ad 标签
  • 标签说明:广告标签。
  • 使用格式:
    <!--{ad 广告位,具体位置}-->
    
url 标签
  • 标签说明:伪静态地址转换标签。
  • 使用格式:
    <!--{url 动态地址,是否转换为绝对地址}-->
    
page 标签
  • 标签说明:翻页代码生成标签。
  • 格式一:

    <!--{page 分页信息}-->
    
  • 格式二:

    <!--{page 分页信息,模板文件名}-->
    
template 标签
  • 标签说明:模板引用标签。
  • 格式一:

    <!--{template 模板文件名}-->
    
  • 格式二:

    <!--{template 模板文件名,扩展名}-->
    
loop:video 标签
  • 标签说明:从pv_video表(别名v)pv_videodata表(别名vd)中查询符合条件的视频。

  • 格式一:

    <!--{loop:video:$video 参数1|参数2|参数3|...|参数n}-->
        ......
    <!--{/loop:video}-->
    
  • 格式二:

    <!--{$videolist=loop:video 参数1|参数2|参数3|...|参数n}-->
    <!--{loop $videolist $video}-->
    ......
    <!--{/loop}-->
    
  • 参数说明:

    uid                会员ID
    cid                 栏目ID,-1表示所有栏目
    type            是否为收费视频
    showsub            是否包含子栏目(1为包含)
    nid                地区ID
    year            视频发行年份,如果以字母b开头则表示之前的年份,比如:b2000表示2000年之前
    best            视频推荐,0没有推荐;1首页推荐;2栏目推荐
    series            连载,0完结;1连载
    order            排序
    limit            视频显示数量
    page            当前页码
    url                分页地址
    dateformat        日期显示格式(请参阅日期显示格式部分)
    field            需查询的字段,多个字段之间用,号分开(字段前不需要加表别名);缺省该参数或设置为basic则只获取pv_video表中字段的值,设置成full则获取pv_video表与pv_videodata表中所有字段的值。
    sqlwhere        自定义SQL查询条件(字段前需加表别名)
    cachetime        缓存生存时间,0缓存永不过期,-1禁用缓存,缺省该参数时则使用通用缓存时间。该参数如以depend开头,则缓存的生存时间依赖于数据变化时间,只有当相应数据发生变化时,缓存才会失效。
    
  • 其它: 如果需要在标签中对视频列表进行分页处理,则必须同时填写limitpageurl参数,分页的相关信息会保存至$pageinfo变量中,使用page标签即可显示分页代码。如:<!--{page $pageinfo}-->

  • 缓存时间单位:

    y  年
    m  月
    d  日
    h  时
    i  分
    s  秒(缺省单位)
    
  • 缓存依赖对象:

    • cid 栏目,如:depend/cid/5表示只有当ID为5的栏目数据发生变化时(新增视频/删除视频等),缓存才会失效
    • cids 栏目或子栏目,栏目数据发生变化时,此栏目与其子栏目的缓存都会失效(类似于cid)
    • artcid 文档栏目,文档栏目数据发生变化时,缓存才会失效(类似于cid)
    • best 推荐,推荐数据发生变化时,缓存才会失效,如:depend/best
    • reply 评论,如:depend/reply/1表示只有当ID为1的视频的评论数据发生变化时(有新评论或删除评论),缓存才会失效
  • 举例:

    1. 显示10部设置成首页推荐的影片,按最后修改时间与发布时间降序排列,缓存生成后,只有当推荐视频再次发生变化时,缓存才会失效

      <!--{loop:video:$video best=1|limit=10|order=lastdate DESC,postdate DESC|cachetime=depend/best}-->
       名称:<a href="read.php?vid=$video[vid]" target="_blank">$video[subject]</a> <br />
       栏目:<a href="class.php?cid=$video[cid]">$video[class_name]</a> <br />
       地区:$video[nation_name] <br />
       图片:<img src="$video[picurl]" /> <br />
       点击数:$video[hits] <br />
       发布时间:<!--{echo get_date($video[postdate])}--> <br />
      <!--{/loop:video}-->
      
    2. 显示id为1的栏目(包括子栏目)下面的10部影片,按月点击量降序排序,缓存生存时间为1天

      <!--{loop:video:$video cid=1|showsub=1|limit=10|order=month_hits DESC|cachetime=1d}-->
       名称:<a href="read.php?vid=$video[vid]" target="_blank">$video[subject]</a> <br />
       栏目:<a href="class.php?cid=$video[cid]">$video[class_name]</a> <br />
       地区:$video[nation_name] <br />
       图片:<img src="$video[picurl]" /> <br />
       点击数:$video[hits] <br />
       发布时间:<!--{echo get_date($video[postdate])}--> <br />
      <!--{/loop:video}-->
      
loop:class 标签
  • 标签说明:栏目循环标签

  • 使用格式:

    <!--{loop:class:$class cid=classid}-->
        ......
    <!--{/loop:class}-->
    
  • 参数说明:

    cid        栏目id,如需遍历版块,请设为0
    
  • 举例:

    1. 显示系统中所有版块(顶级栏目)
      <!--{loop:class:$class cid=0}-->
         <a href="class.php?cid=$class[cid]">$class[caption]</a>
      <!--{/loop:class}-->
      
    2. 显示id为1的版块下面的所有子栏目
      <!--{loop:class:$class cid=1}-->
         <a href="class.php?cid=$class[cid]">$class[caption]</a>
      <!--{/loop:class}-->
      
loop:article 标签
  • 标签说明:文档循环标签
  • 使用格式:
    <!--{loop:article:$article  参数1|参数2|参数3|...|参数n}-->
        ......
    <!--{/loop:article}-->
    
  • 参数说明:
    classid        文档栏目ID
    sqlwhere    自定义SQL查询条件
    order        排序字段(升序)
    limit        文档显示数量
    page        当前页码
    url            分页地址
    cachetime    缓存生存时间,0缓存永不过期,-1禁用缓存,缺省该参数时则使用通用缓存时间。
    
  • 其它: 如果需要在标签中对文档列表进行分页处理,则必须同时填写limitpageurl参数,分页的相关信息会保存至$pageinfo变量中,使用page标签即可显示分页代码。如:<!--{page $pageinfo}-->

七. 其它

  1. 根据时间戳获取日期

    <!--{echo get_date('1349881479')}-->
    
  2. 截取字符串内容

    <!--{echo pv_substr('phpvod studio',10)}-->  //截取后的字符串添加省略号
    <!--{echo pv_substr('phpvod studio',10,0)}-->  //截取后的字符串没有省略号
    
  3. 显示广告

    <!--{ad 'nav'}-->
    
  4. 输出影片海报地址

    <!--{echo get_poster_url($video['picfolder'], $video['pic'], 3)}-->
    
  5. 将URL转换成伪静态地址

    <!--{url 'read.php?vid=1'}-->  //相对地址
    <!--{url 'read.php?vid=1',true}-->  //绝对地址
    
  6. 载入模板文件subtpl

    <!--{template 'subtpl'}-->   //扩展名默认为htm
    <!--{template 'subtpl','tpl'}-->   //扩展名为tpl
    
  7. 显示变量信息(用于调试)

    //显示变量($var)信息后中断脚本运行
    <!--{eval pv_debug($var);}-->
    //使用print_r函数打印变量($var)信息,并在输出内容之前添加标签'var=',输出完成后脚本继续运行。
    <!--{eval pv_debug($var,'var=','print_r',0);}-->
    
  8. 执行SQL语句

    <!--{eval $video_list=pv_sql("SELECT * FROM pv_video WHERE 1");}-->
    
  9. 显示分页代码

    <!--{page $pageinfo}-->              //显示分页信息,默认使用page.htm模板
    <!--{page $pageinfo,'page_rp'}-->    //使用page_rp.htm模板
    

results for ""

    No results matching ""