苹果CMSV10常用标签、视频文章字段及模板调用方法
2024-08-04 共人阅读苹果CMS V10模板系统提供了丰富的标签和变量,可以用于调用网站基本信息、分类、视频、文章、专题、播放地址、下载地址、分页数据以及会员行为等内容。通过合理使用这些模板标签,可以快速完成影视网站首页、分类页、搜索页、详情页、播放页以及会员中心等页面的数据调用。
本文整理苹果CMS V10常用模板标签,包括全局标签、条件判断、友情链接、留言、评论、分类、专题、视频、文章、分页、处理函数、JavaScript交互标签以及常用的嵌套调用技巧,方便制作和修改苹果CMS V10模板时查询使用。
一、苹果CMS V10全局标签
全局标签可以在模板中调用网站的基本配置和当前页面信息,常用于网站头部、底部、SEO信息以及公共模板文件。
| 标签 | 说明 |
|---|---|
{$maccms.site_name} | 网站名称 |
{$maccms.site_url} | 网站 URL |
{$maccms.site_keywords} | 网站关键词 |
{$maccms.site_description} | 网站描述 |
{$maccms.site_icp} | 网站备案号 |
{$maccms.site_qq} | 站长 QQ |
{$maccms.site_email} | 站长 Email |
{$maccms.site_tj} | 统计代码 |
{$maccms.site_status} | 网站状态,1 为开启,0 为关闭 |
{$maccms.site_close_tip} | 网站关闭提示信息 |
{$maccms.path} | 网站目录 |
{$maccms.path_tpl} | 当前模板目录 |
{$maccms.search_hot} | 热门搜索词 |
{$maccms.mid} | 当前模块 ID,1 视频、2 文章、3 专题 |
{$maccms.aid} | 当前系统页面 ID |
二、常用页面 ID
{$maccms.aid} 可以用于判断当前访问的系统页面,不同页面对应不同的 AID。
| AID | 页面 |
|---|---|
| 1 | 首页 |
| 2 | 网站地图 |
| 3 | RSS |
| 4 | 留言本 |
| 5 | 评论 |
| 6 | 用户中心 |
| 7 | 自定义页面 |
| 10 | 视频首页 |
| 11 | 视频分类页 |
| 12 | 视频分类筛选页 |
| 13 | 视频搜索页 |
| 14 | 视频详情页 |
| 15 | 视频播放页 |
| 16 | 视频下载页 |
| 20 | 文章首页 |
| 21 | 文章分类页 |
| 22 | 文章分类筛选页 |
| 23 | 文章搜索页 |
| 24 | 文章详情页 |
| 30 | 专题首页 |
| 31 | 专题详情页 |
三、引入公共模板文件
苹果CMS V10支持通过 include 标签引入公共模板文件,例如网站头部、底部等公共部分可以单独制作,然后在其他模板中重复调用。
{include file="public/head"}这样可以减少重复代码,也方便后期统一修改网站公共区域。
四、条件判断 if 标签
苹果CMS V10模板中的 if 标签可以使用 PHP 条件表达式进行判断。对于简单的判断,也可以使用 if、elseif 和 else 组合。
{if condition="($name == 1) OR ($name > 100)"}value1
{elseif condition="$name eq 2"/}value2
{else /}value3
{/if}五、empty 和 notempty 标签
empty 标签用于判断变量是否为空。
{empty name="name"}
name为空值
{/empty}如果需要判断变量已经存在且不为空,可以使用 notempty。
{notempty name="name"}
name不为空
{/notempty}六、友情链接标签
友情链接可以通过 maccms:link 标签进行调用。
常用参数包括:
type:友情链接类型,font表示文字链接,pic表示图片链接。num:获取友情链接的数量。
{maccms:link num="2" type="pic"}
{$key} 序号
{$vo.link_name} 名称
{$vo.link_url} 地址
{$vo.link_pic} 图片
{/maccms:link}七、留言本标签
留言本可以使用 maccms:gbook 标签调用。
常用参数:
num:数据条数,默认值为 10。paging:是否开启分页,例如yes或no。order:排序方向,例如desc、asc。by:排序依据,例如id、time。
{maccms:gbook num="10" paging="no" order="desc" by="time"}
{$key} 序号
{$vo.gbook_id} 编号ID
{$vo.gbook_name} 留言昵称
{$vo.gbook_content} 留言内容
{$vo.gbook_reply} 回复内容
{$vo.gbook_ip} 留言者IP
{$vo.gbook_time} 留言时间
{$vo.gbook_replytime} 回复时间
{/maccms:gbook}八、评论标签
评论数据可以使用 maccms:comment 标签调用。
{maccms:comment num="10" paging="no" order="desc" by="time"}
{$key} 排序位
{$vo.comment_id} 编号ID
{$vo.comment_name} 评论昵称
{$vo.comment_content} 评论内容
{$vo.comment_ip} 评论者IP
{$vo.comment_time} 评论时间
{$vo.childs} 回复评论项
{/maccms:comment}九、分类标签
maccms:type 可以用于调用视频和文章分类数据。
常用参数包括:
order:排列顺序,desc倒序、asc正序。by:排序依据。start:从第几条开始。num:获取数据条数。ids:指定分类,例如all、parent、child或指定分类 ID。flag:指定模块,例如vod表示视频,art表示文章。
{maccms:type num="10" order="asc" by="sort" ids="all"}
{$key} 序号
{$vo.type_id} 分类ID
{$vo.type_name} 分类名称
{:mac_url_type($vo)} 分类链接
{/maccms:type}在分类列表循环中,当前分类数据通常使用 $vo。如果是在分类详情页面,则使用 $obj 获取当前分类对象。
十、分类页独有标签
在分类页面中,可以通过 $obj 获取当前分类信息。
| 标签 | 说明 |
|---|---|
{$obj.parent} | 当前二级分类对应的一级分类对象 |
{$obj.parent.type_id} | 一级分类 ID |
{$obj.type_id} | 分类 ID |
{$obj.type_name} | 分类名称 |
{$obj.type_enname} | 分类别名 |
{$obj.type_sort} | 排序号 |
{$obj.type_mid} | 所属模块 |
{$obj.type_pid} | 上级分类 ID |
{$obj.type_status} | 状态,1 开启、0 关闭 |
{$obj.type_tpl} | 分类页模板 |
{$obj.type_tpl_list} | 筛选页模板 |
{$obj.type_tpl_detail} | 详情页模板 |
{$obj.type_tpl_play} | 播放页模板 |
{$obj.type_tpl_down} | 下载页模板 |
{$obj.type_key} | 关键词 |
{$obj.type_des} | 描述信息 |
{$obj.type_title} | 标题 |
{$obj.type_extend} | 扩展配置 JSON |
{:mac_url_type($obj)} | 分类链接 |
十一、专题列表标签
专题列表可以使用 maccms:topic 标签进行调用。
常用参数包括排序、数量、指定 ID、添加时间、点击时间、更新时间以及点击量筛选等。
{maccms:topic num="10" paging="no" order="asc" by="sort" ids="all"}
{$key} 序号
{$vo.topic_id} 专题ID
{$vo.topic_name} 专题名称
{:mac_url_topic_detail($vo)} 专题详情链接
{/maccms:topic}时间筛选可以使用 -1 day、-1 week、-1 month、-1 hour 等形式。例如:
{maccms:topic num="10" timeadd="-1 week" order="desc" by="time"}点击量条件可以使用 gt、lt 和 between 等条件,例如:
hitsmonth="gt 1000" hitsweek="lt 1000" hitsday="between 1000,2000"
十二、专题页独有标签
| 标签 | 说明 |
|---|---|
{$obj.topic_id} | 专题 ID |
{$obj.topic_name} | 专题名称 |
{$obj.topic_en} | 专题别名 |
{$obj.topic_sub} | 专题副标题 |
{$obj.topic_status} | 专题状态 |
{$obj.topic_sort} | 排序号 |
{$obj.topic_letter} | 首字母 |
{$obj.topic_color} | 高亮颜色 |
{$obj.topic_tpl} | 模板文件 |
{$obj.topic_type} | 扩展分类 |
{$obj.topic_pic} | 专题图片 |
{$obj.topic_pic_thumb} | 缩略图 |
{$obj.topic_pic_slide} | 幻灯图 |
{$obj.topic_key} | SEO 关键词 |
{$obj.topic_des} | SEO 描述 |
{$obj.topic_title} | SEO 标题 |
{$obj.topic_blurb} | 简介 |
{$obj.topic_remarks} | 备注 |
{$obj.topic_level} | 推荐值 |
{$obj.topic_up} | 顶数 |
{$obj.topic_down} | 踩数 |
{$obj.topic_score} | 平均分 |
{$obj.topic_score_all} | 总评分 |
{$obj.topic_score_num} | 评分次数 |
{$obj.topic_hits} | 总点击量 |
{$obj.topic_hits_day} | 日点击量 |
{$obj.topic_hits_week} | 周点击量 |
{$obj.topic_hits_month} | 月点击量 |
{$obj.topic_time} | 更新时间 |
{$obj.topic_time_add} | 添加时间 |
{$obj.topic_content} | 详细介绍 |
{$obj.topic_extend} | 扩展配置 JSON |
{:mac_url_topic_detail($obj)} | 专题详情页链接 |
{:mac_url_topic_index()} | 专题首页链接 |
十三、剧情分类、地区、语言、年代、版本和资源标签
苹果CMS V10可以分别通过不同的标签调用剧情分类、地区、语言、年代、版本和资源状态。
1. 剧情分类标签
{maccms:class num="10" order="desc"}
{$key} 序号
{$vo.class_name} 分类名称
{$vo.class_link} 链接
{/maccms:class}2. 地区标签
{maccms:area num="5" order="desc"}
{$key} 排序位
{$vo.area_name} 地区名称
{$vo.area_link} 链接地址
{/maccms:area}3. 语言标签
{maccms:lang num="5" order="desc"}
{$key} 排序位
{$vo.lang_name} 语言名称
{$vo.lang_link} 链接地址
{/maccms:lang}4. 年代标签
{maccms:year num="5" order="desc"}
{$key} 排序位
{$vo.year_name} 年代名称
{$vo.year_link} 链接地址
{/maccms:year}5. 版本标签
{maccms:version num="5" order="desc"}
{$key} 排序位
{$vo.version_name} 版本名称,例如高清版、剧场版
{$vo.version_link} 链接地址
{/maccms:version}6. 资源标签
{maccms:state num="5" order="desc"}
{$key} 排序位
{$vo.state_name} 状态名称,例如正片、预告片
{$vo.state_link} 链接地址
{/maccms:state}十四、视频列表标签
maccms:vod 是苹果CMS V10中最常用的视频数据调用标签之一,可以按照分类、标签、地区、语言、年代、推荐等级、更新时间以及点击量等条件筛选视频。
常用参数包括:
order:排序方向。by:排序字段。start:起始位置。num:获取数量。ids:指定视频 ID。type:指定分类。class:扩展分类。tag:Tag 标签。level:推荐等级。area:地区。lang:语言。year:年代。state:资源类别。version:资源版本。weekday:更新周期。rel:关联数据。timeadd:添加时间条件。timehits:点击时间条件。time:更新时间条件。hitsmonth:月点击量条件。hitsweek:周点击量条件。hitsday:日点击量条件。hits:总点击量条件。paging:是否开启分页。pageurl:分页地址。
{maccms:vod num="10" paging="no" type="all" order="asc" by="sort"}
{$key} 序号
{$vo.vod_id} 视频ID
{$vo.vod_name} 视频名称
{:mac_url_vod_detail($vo)} 视频详情链接
{/maccms:vod}在视频列表循环中,当前数据通常使用 $vo;而在视频详情页,则通常使用 $obj。
十五、视频内容页独有标签
视频详情页通过 $obj 获取当前视频对象。以下是常用的视频字段。
| 标签 | 说明 |
|---|---|
{$obj.vod_id} | 视频 ID |
{$obj.type_id} | 分类 ID |
{$obj.type_id_1} | 一级分类 ID |
{$obj.type} | 视频分类对象 |
{$obj.type_1} | 一级分类对象 |
{$obj.group_id} | 用户组 ID |
{$obj.vod_name} | 视频名称 |
{$obj.vod_sub} | 副标题 |
{$obj.vod_en} | 别名 |
{$obj.vod_status} | 状态,0 未审、1 已审 |
{$obj.vod_letter} | 首字母 |
{$obj.vod_color} | 颜色 |
{$obj.vod_tag} | Tags |
{$obj.vod_class} | 扩展分类 |
{$obj.vod_pic} | 主图 |
{$obj.vod_pic_thumb} | 缩略图 |
{$obj.vod_pic_slide} | 幻灯图 |
{$obj.vod_actor} | 主演 |
{$obj.vod_director} | 导演 |
{$obj.vod_writer} | 编剧 |
{$obj.vod_blurb} | 简介 |
{$obj.vod_remarks} | 备注 |
{$obj.vod_pubdate} | 上映日期 |
{$obj.vod_total} | 总集数 |
{$obj.vod_serial} | 连载数 |
{$obj.vod_tv} | 上映电视台 |
{$obj.vod_weekday} | 节目周期 |
{$obj.vod_area} | 地区 |
{$obj.vod_lang} | 语言 |
{$obj.vod_year} | 年代 |
{$obj.vod_version} | 版本,例如 DVD、HD、720P |
{$obj.vod_state} | 资源类别,例如正片、预告片、花絮 |
{$obj.vod_author} | 编辑人员 |
{$obj.vod_jumpurl} | 跳转 URL |
{$obj.vod_tpl} | 独立模板 |
{$obj.vod_tpl_play} | 独立播放页模板 |
{$obj.vod_tpl_down} | 独立下载页模板 |
{$obj.vod_isend} | 是否完结 |
{$obj.vod_lock} | 锁定状态 |
{$obj.vod_level} | 推荐级别 |
{$obj.vod_points_play} | 点播付费 |
{$obj.vod_points_down} | 下载付费 |
{$obj.vod_hits} | 总点击量 |
{$obj.vod_hits_day} | 日点击量 |
{$obj.vod_hits_week} | 周点击量 |
{$obj.vod_hits_month} | 月点击量 |
{$obj.vod_duration} | 视频时长 |
{$obj.vod_up} | 顶数 |
{$obj.vod_down} | 踩数 |
{$obj.vod_score} | 平均分 |
{$obj.vod_score_all} | 总评分 |
{$obj.vod_score_num} | 评分次数 |
{$obj.vod_time} | 更新时间 |
{$obj.vod_time_add} | 添加时间 |
{$obj.vod_time_hits} | 点击时间 |
{$obj.vod_time_make} | 生成时间 |
{$obj.vod_trysee} | 试看时长,单位分钟 |
{$obj.vod_reurl} | 来源地址 |
{$obj.vod_rel_vod} | 关联视频 ID |
{$obj.vod_rel_art} | 关联文章 ID |
{$obj.vod_content} | 详细介绍 |
{$obj.vod_play_from} | 播放组 |
{$obj.vod_play_server} | 播放服务器组 |
{$obj.vod_play_note} | 播放备注 |
{$obj.vod_play_url} | 播放地址 |
{$obj.vod_down_from} | 下载组 |
{$obj.vod_down_server} | 下载服务器组 |
{$obj.vod_down_note} | 下载备注 |
{$obj.vod_down_url} | 下载地址 |
{:mac_url_vod_detail($obj)} | 视频详情页链接 |
{:mac_url_vod_play($obj,['sid'=>1,'nid'=>1])} | 视频播放页链接 |
{:mac_url_vod_down($obj,['sid'=>1,'nid'=>1])} | 视频下载页链接 |
十六、视频详情页和播放页调用播放地址
可以通过 obj.vod_play_list 循环当前视频的播放组和剧集信息。
{maccms:foreach name="obj.vod_play_list" id="vo"}
<div class="ui-box marg" id="playlist_{$key}">
<div class="down-title">
<h2>{$vo.from}-在线播放</h2>
<span>[{$vo.player_info.tip}]</span>
</div>
<div class="video_list fn-clear">
{maccms:foreach name="vo.urls" id="vo2"}
<a href="{:mac_url_vod_play($obj,['sid'=>$vo.sid,'nid'=>$vo2.nid])}">{$vo2.title}</a>
{/maccms:foreach}
</div>
</div>
{/maccms:foreach}十七、列出视频下载地址
下载地址可以使用 obj.vod_down_list 进行循环调用,整体结构与播放地址调用方式类似。
{maccms:foreach name="obj.vod_down_list" id="vo"}
<div class="ui-box marg" id="downlist_{$key}">
<div class="down-title">
<h2>{$vo.from}-下载</h2>
<span>[{$vo.player_info.tip}]</span>
</div>
<div class="video_list fn-clear">
{maccms:foreach name="vo.urls" id="vo2"}
<a href="{:mac_url_vod_down($obj,['sid'=>$vo.sid,'nid'=>$vo2.nid])}">{$vo2.title}</a>
{/maccms:foreach}
</div>
</div>
{/maccms:foreach}十八、播放器详细信息
在播放组循环过程中,可以通过 $vo.player_info 获取播放器相关信息。
| 标签 | 说明 |
|---|---|
{$vo.player_info.from} | 播放器编码 |
{$vo.player_info.show} | 播放器名称 |
{$vo.player_info.des} | 播放器备注 |
{$vo.player_info.tip} | 播放器提示 |
{$vo.player_info.sort} | 播放器排序 |
{$vo.player_info.parse} | 解析接口 |
十九、视频播放页独有标签
在视频播放页中,可以通过 $param 获取当前播放组和当前集数参数。
| 标签 | 说明 |
|---|---|
{$param.sid} | 当前播放组序号 |
{$param.nid} | 当前集数序号 |
{$obj.player_info.link_next} | 下一页地址 |
{$obj.player_info.link_pre} | 上一页地址 |
{$obj['vod_play_list'][$param['sid']]} | 获取当前播放组数据 |
{$obj['vod_play_list'][$param['sid']]['player_info']} | 获取当前播放器信息 |
{$obj['vod_play_list'][$param['sid']]['server_info']} | 获取当前服务器组信息 |
{$obj['vod_play_list'][$param['sid']]['url_count']} | 当前播放组总集数 |
{$obj['vod_play_list'][$param['sid']]['urls']} | 当前播放组集数信息 |
{$obj['vod_play_list'][$param['sid']]['urls'][$param['nid']]} | 当前集数信息 |
{$obj['vod_play_list'][$param['sid']]['urls'][$param['nid']]['name']} | 当前集数名称 |
{$obj['vod_play_list'][$param['sid']]['urls'][$param['nid']]['url']} | 当前集数 URL |
{$player_data} | 播放数据 |
{$player_js} | 加载播放器 |
下载页获取播放组及集数信息时,可以将 vod_play_list 替换为 vod_down_list,其他参数按照实际页面结构使用。
二十、获取与当前视频关联的视频和文章
苹果CMS V10支持通过 vod_rel_vod 和 vod_rel_art 调用当前视频关联的视频及文章。
<h2>与<strong>“{$obj.vod_name}”</strong>关联的视频</h2>
<ul class="img-list dis">
{maccms:vod num="6" rel="' .$obj['vod_rel_vod']. '" order="desc" by="time"}
<li>
<a href="{:mac_url_vod_detail($vo)}" title="{$vo.vod_name}">
<img src="{:mac_url_img($vo.vod_pic)}" alt="{$vo.vod_name}">
<h2>{$vo.vod_name}</h2>
<p></p>
<i>{$vo.vod_version}</i>
<em></em>
</a>
</li>
{/maccms:vod}
</ul>
<h2>与<strong>“{$obj.vod_name}”</strong>关联的文章</h2>
<ul class="img-list dis">
{maccms:art num="6" rel="' .$obj['vod_rel_art']. '" order="desc" by="time"}
<li>
<a href="{:mac_url_art_detail($vo)}" title="{$vo.art_name}">
<img src="{:mac_url_img($vo.art_pic)}" alt="{$vo.art_name}">
<h2>{$vo.art_name}</h2>
<p></p>
<i>{$vo.vod_from}</i>
<em></em>
</a>
</li>
{/maccms:art}
</ul>二十一、文章列表标签
maccms:art 用于调用文章列表数据,其常用参数与视频列表标签比较接近。
order:排序方向。by:排序依据。start:起始位置。num:获取数量。ids:指定文章 ID。type:指定文章分类。class:扩展分类。tag:Tag 标签。level:推荐等级。rel:关联数据。timeadd:添加时间。timehits:点击时间。time:更新时间。hitsmonth:月点击量。hitsweek:周点击量。hitsday:日点击量。hits:总点击量。paging:是否分页。pageurl:分页地址。
{maccms:art num="10" paging="no" type="all" order="asc" by="sort"}
{$key} 序号
{$vo.art_id} 文章ID
{$vo.art_name} 文章标题
{:mac_url_art_detail($vo)} 文章详情链接
{/maccms:art}二十二、文章内容页独有标签
| 标签 | 说明 |
|---|---|
{$obj.art_id} | 文章 ID |
{$obj.type_id} | 分类 ID |
{$obj.type_id_1} | 一级分类 ID |
{$obj.type} | 文章分类对象 |
{$obj.type_1} | 一级分类对象 |
{$obj.group_id} | 用户组 ID |
{$obj.art_name} | 文章标题 |
{$obj.art_sub} | 副标题 |
{$obj.art_en} | 别名 |
{$obj.art_status} | 状态 |
{$obj.art_letter} | 首字母 |
{$obj.art_color} | 颜色 |
{$obj.art_from} | 文章来源 |
{$obj.art_author} | 作者 |
{$obj.art_tag} | Tags |
{$obj.art_class} | 扩展分类 |
{$obj.art_pic} | 主图 |
{$obj.art_pic_thumb} | 缩略图 |
{$obj.art_pic_slide} | 幻灯图 |
{$obj.art_blurb} | 简介 |
{$obj.art_remarks} | 备注 |
{$obj.art_jumpurl} | 跳转 URL |
{$obj.art_tpl} | 独立模板 |
{$obj.art_level} | 推荐等级 |
{$obj.art_lock} | 锁定状态 |
{$obj.art_up} | 顶数 |
{$obj.art_down} | 踩数 |
{$obj.art_hits} | 总点击量 |
{$obj.art_hits_day} | 日点击量 |
{$obj.art_hits_week} | 周点击量 |
{$obj.art_hits_month} | 月点击量 |
{$obj.art_time} | 更新时间 |
{$obj.art_time_add} | 添加时间 |
{$obj.art_time_hits} | 点击时间 |
{$obj.art_time_make} | 生成时间 |
{$obj.art_score} | 平均分 |
{$obj.art_score_all} | 总评分 |
{$obj.art_score_num} | 评分次数 |
{$obj.art_rel_art} | 关联文章 |
{$obj.art_rel_vod} | 关联视频 |
{$obj.art_title} | 页面标题 |
{$obj.art_note} | 页面备注 |
{$obj.art_content} | 文章详细内容 |
{:mac_url_art_detail($obj)} | 文章详情页链接 |
二十三、获取与当前文章关联的视频和文章
文章详情页可以通过 art_rel_vod 和 art_rel_art 调用相关联的视频和文章。
<h2>与<strong>“{$obj.art_name}”</strong>关联的视频</h2>
<ul class="img-list dis">
{maccms:vod num="6" ids="' .$obj['art_rel_vod']. '" order="desc" by="time"}
<li>
<a href="{:mac_url_vod_detail($vo)}" title="{$vo.vod_name}">
<img src="{:mac_url_img($vo.vod_pic)}" alt="{$vo.vod_name}">
<h2>{$vo.vod_name}</h2>
<p></p>
<i>{$vo.vod_version}</i>
<em></em>
</a>
</li>
{/maccms:vod}
</ul>
<h2>与<strong>“{$obj.art_name}”</strong>关联的文章</h2>
<ul class="img-list dis">
{maccms:art num="6" ids="' .$obj['art_rel_art']. '" order="desc" by="time"}
<li>
<a href="{:mac_url_art_detail($vo)}" title="{$vo.art_name}">
<img src="{:mac_url_img($vo.art_pic)}" alt="{$vo.art_name}">
<h2>{$vo.art_name}</h2>
<p></p>
<i>{$vo.vod_from}</i>
<em></em>
</a>
</li>
{/maccms:art}
</ul>二十四、分页标签详解
分页标签可以用于分类页、筛选页、搜索页、文章内容页、留言本、评论、专题首页等需要分页的数据页面。
使用分页功能的前提是对应的数据标签开启 paging="yes",同时建议明确指定 pageurl,以匹配当前页面的分页路由。
{maccms:vod num="10" paging="yes" pageurl="vod/type"}{/maccms:vod}常见分页地址包括:
| 页面 | pageurl |
|---|---|
| 视频分类页 | vod/type |
| 视频筛选页 | vod/show |
| 视频搜索页 | vod/search |
| 首页 | index/index |
| 文章分类页 | art/type |
| 文章筛选页 | art/show |
| 文章搜索页 | art/search |
系统提供 $__PAGING__ 分页变量,可以用于制作自定义分页样式。
<div class="mac_pages">
<div class="page_tip">
共{$__PAGING__.record_total}条数据,当前{$__PAGING__.page_current}/{$__PAGING__.page_total}页
</div>
<div class="page_info">
<a class="page_link" href="{$__PAGING__.page_url|mac_url_page=1}" title="首页">首页</a>
<a class="page_link" href="{$__PAGING__.page_url|mac_url_page=$__PAGING__.page_prev}" title="上一页">上一页</a>
{maccms:foreach name="$__PAGING__.page_num" id="num"}
{if condition="$__PAGING__['page_current'] eq $num"}
<a class="page_link page_current" href="javascript:;" title="第{$num}页">{$num}</a>
{else}
<a class="page_link" href="{$__PAGING__.page_url|mac_url_page=$num}" title="第{$num}页">{$num}</a>
{/if}
{/maccms:foreach}
<a class="page_link" href="{$__PAGING__.page_url|mac_url_page=$__PAGING__.page_next}" title="下一页">下一页</a>
<a class="page_link" href="{$__PAGING__.page_url|mac_url_page=$__PAGING__.page_total}" title="尾页">尾页</a>
<input class="page_input" type="text" placeholder="页码" id="page" autocomplete="off" style="width:40px">
<button class="page_btn mac_page_go" type="button"
data-url="{$__PAGING__.page_url}"
data-total="{$__PAGING__.page_total}"
data-sp="{$__PAGING__.page_sp}">GO</button>
</div>
</div>二十五、视频搜索页参数和标签
视频搜索页可以通过 $param 获取当前搜索条件。常用搜索参数包括:
| 参数 | 说明 |
|---|---|
wd | 名称或主演关键词 |
ids | 数据 ID,支持多个 ID |
letter | 首字母 |
enname | 别名 |
actor | 主演 |
director | 导演 |
area | 地区 |
lang | 语言 |
year | 上映年代 |
version | 版本 |
state | 资源类型 |
level | 推荐等级 |
tid | 分类 ID |
order | 排序方向 |
by | 排序字段 |
搜索页面常用独有标签:
{$param.page} 当前页码
{$param.wd} 关键字
{$param.area} 地区
{$param.lang} 语言
{$param.year} 年代
{$param.actor} 演员
{$param.director} 导演
{$param.class} 扩展分类二十六、常用处理函数
苹果CMS V10模板支持使用多个处理函数,并通过 | 分隔,可以对同一个变量进行连续处理。
| 调用方式 | 说明 |
|---|---|
{:mac_data_count(0,'all','vod')} | 获取视频总数量 |
{:mac_data_count(0,'today','vod')} | 获取今日更新视频总数量 |
{:mac_data_count(0,'all','art')} | 获取文章总数量 |
{:mac_data_count(0,'today','art')} | 获取今日更新文章总数量 |
{:mac_data_count(1,'all')} | 获取指定分类下的数据总量 |
{:mac_data_count(1,'today')} | 获取指定分类今日更新数量 |
{:mac_url('map/index')} | 获取站内链接 |
{$vo.vod_pic|mac_url_img} | 转换图片地址 |
{$vo.vod_content|mac_substring=100} | 截取指定长度的字符串 |
{$vo.vod_content|mac_filter_html} | 过滤 HTML 标签 |
{$vo.actor|mac_url_create='actor','vod','search'} | 将演员等字段生成搜索链接 |
{$vo.vod_time|mac_day} | 格式化日期 |
{$vo.vod_time|mac_friend_date} | 转换为友好时间,例如几秒前、几小时前 |
{$vo.vod_year|mac_default='未知'} | 为空时返回默认值 |
{$user.user_login_ip|mac_long2ip} | 格式化 IP 地址 |
多个处理函数可以连续使用,例如:
{$vo.vod_content|mac_filter_html|mac_substring=100}二十七、常用会员和 JavaScript 处理标签
苹果CMS V10前台很多交互功能通过元素的 class 自动绑定 JavaScript 事件,因此模板只需要按照规定的数据属性生成对应 HTML 元素即可。
1. 会员收藏视频
<a href="javascript:;" class="mac_ulog" data-type="2" data-mid="{$maccms.mid}" data-id="{$obj.vod_id}">我要收藏</a>2. 会员收藏文章
<a href="javascript:;" class="mac_ulog" data-type="2" data-mid="{$maccms.mid}" data-id="{$obj.art_id}">我要收藏</a>3. 会员收藏专题
<a href="javascript:;" class="mac_ulog" data-type="2" data-mid="{$maccms.mid}" data-id="{$obj.topic_id}">我要收藏</a>4. 记录会员浏览、播放和下载行为
<span style="display:none" class="mac_ulog_set" alt="设置视频浏览记录" data-type="1" data-mid="{$maccms.mid}" data-id="{$obj.vod_id}" data-sid="{$param.sid}" data-nid="{$param.nid}"></span>
<span style="display:none" class="mac_ulog_set" alt="设置视频播放记录" data-type="4" data-mid="{$maccms.mid}" data-id="{$obj.vod_id}" data-sid="{$param.sid}" data-nid="{$param.nid}"></span>
<span style="display:none" class="mac_ulog_set" alt="设置视频下载记录" data-type="5" data-mid="{$maccms.mid}" data-id="{$obj.vod_id}" data-sid="{$param.sid}" data-nid="{$param.nid}"></span>5. 顶和踩
<a class="digg_link" data-id="{$obj.vod_id}{$obj.art_id}{$obj.topic_id}" data-mid="{$maccms.mid}" data-type="up" href="javascript:;">
顶<em class="digg_num">{$obj.vod_up}{$obj.art_up}{$obj.topic_up}</em>
</a>
<a class="digg_link" data-id="{$obj.vod_id}{$obj.art_id}{$obj.topic_id}" data-mid="{$maccms.mid}" data-type="down" href="javascript:;">
踩<em class="digg_num">{$obj.vod_down}{$obj.art_down}{$obj.topic_down}</em>
</a>6. 点击量显示
总点击量:<span class="mac_hits hits" data-mid="{$maccms.mid}" data-id="{$obj.vod_id}{$obj.art_id}{$obj.topic_id}" data-type="hits"></span>
日点击量:<span class="mac_hits hits_day" data-mid="{$maccms.mid}" data-id="{$obj.vod_id}{$obj.art_id}{$obj.topic_id}" data-type="hits_day"></span>
周点击量:<span class="mac_hits hits_week" data-mid="{$maccms.mid}" data-id="{$obj.vod_id}{$obj.art_id}{$obj.topic_id}" data-type="hits_week"></span>
月点击量:<span class="mac_hits hits_month" data-mid="{$maccms.mid}" data-id="{$obj.vod_id}{$obj.art_id}{$obj.topic_id}" data-type="hits_month"></span>7. 前台浏览历史记录调用
<a href="javascript:;" class="mac_history">历史记录</a>
8. 写入视频、文章、专题浏览历史
<span style="display:none" class="mac_history_set" alt="设置视频历史记录" data-name="[{$obj.type.type_name}]{$obj.vod_name}" data-pic="{$obj.vod_pic|mac_url_img}"></span>
<span style="display:none" class="mac_history_set" alt="设置文章历史记录" data-name="[{$obj.type.type_name}]{$obj.art_name}" data-pic="{$obj.art_pic|mac_url_img}"></span>
<span style="display:none" class="mac_history_set" alt="设置专题历史记录" data-name="{$obj.topic_name}" data-pic="{$obj.topic_pic|mac_url_img}"></span>二十八、AJAX 数据接口
苹果CMS V10预留了 AJAX 数据接口,可以用于瀑布流等前端加载方式。
| 参数 | 说明 |
|---|---|
mid | 模块 ID,1 视频、2 文章、3 专题 |
limit | 每页数据条数,例如 10、20、30 |
page | 页码,通常需要控制请求范围 |
示例接口:
index.php/ajax/data.html?mid=1&page=1&limit=10
实际使用时应结合网站自身的 AJAX 请求方式和前端代码进行调用,同时注意对请求参数进行合理限制。
二十九、常用标签技巧:循环中获取分类数据量
在分类循环中,可以直接通过分类 ID 配合 mac_data_count 获取对应分类的视频或文章数量。
{maccms:type ids="1,2,3,4" order="asc" by="sort" id="vo1" key="key1"}
分成:{$vo1.type_name};总数量:{$vo1.type_id|mac_data_count=all};今日数量:{$vo1.type_id|mac_data_count=today}。
{/maccms:type}三十、常用标签技巧:嵌套循环分类与视频
如果需要在外层分类循环中继续调用该分类下的视频,需要注意外层和内层循环分别设置 id 和 key。如果都使用默认的 vo,嵌套循环时容易造成变量覆盖。
{maccms:type ids="1,2,3,4" order="asc" by="sort" id="vo1" key="key1"}
{maccms:vod num="10" type="' .$vo1['type_id']. '" order="desc" by="time" id="vo2" key="key2"}
{$vo1.type_name}:{$vo2.vod_name};
{/maccms:vod}
{/maccms:type}这里外层分类使用 vo1,内层视频使用 vo2,可以避免两个循环同时使用 $vo 导致数据被覆盖。
三十一、苹果CMS V10模板标签使用注意事项
苹果CMS V10模板标签需要结合具体页面环境使用。同一个字段在列表页和详情页中的调用方式可能不同,最常见的区别就是列表循环使用 $vo,详情页使用 $obj。
制作模板时,如果不确定当前对象包含哪些字段,可以在测试环境中使用 print_r 等方式查看实际数据结构,再根据当前页面返回的数据选择对应变量。
对于播放、下载、分页以及会员行为等功能,还需要确保网站对应的 JavaScript 文件正常加载,否则即使模板标签写法正确,前台交互功能也可能无法正常工作。
三十二、总结
苹果CMS V10模板标签涵盖范围较广,从网站全局配置、分类和专题,到视频、文章、播放下载、分页、会员收藏、历史记录以及 AJAX 数据接口,都可以通过对应标签完成数据调用。
在实际制作苹果CMS V10模板时,建议重点掌握 $maccms、$obj、$vo、$param 和 $__PAGING__ 这几个核心变量,并熟悉 maccms:vod、maccms:art、maccms:type、maccms:topic 等常用数据标签。
掌握这些基础标签后,就可以根据不同页面的数据结构组合调用,从而快速制作和修改苹果CMS V10影视模板。
