苹果CMS教程

苹果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网站地图
3RSS
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 条件表达式进行判断。对于简单的判断,也可以使用 ifelseifelse 组合。

{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:是否开启分页,例如 yesno

  • order:排序方向,例如 descasc

  • by:排序依据,例如 idtime

{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:指定分类,例如 allparentchild 或指定分类 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"}

点击量条件可以使用 gtltbetween 等条件,例如:

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_vodvod_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_vodart_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}

三十、常用标签技巧:嵌套循环分类与视频

如果需要在外层分类循环中继续调用该分类下的视频,需要注意外层和内层循环分别设置 idkey。如果都使用默认的 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:vodmaccms:artmaccms:typemaccms:topic 等常用数据标签。

掌握这些基础标签后,就可以根据不同页面的数据结构组合调用,从而快速制作和修改苹果CMS V10影视模板。