苹果CMS模板制作教程:全局标签及常用模板标签大全
2025-03-06 共人阅读苹果CMS拥有非常丰富的模板标签,标签命名大部分来自数据库字段名称以及函数调用的组合。不同页面拥有对应的专属标签,而列表循环标签在多个页面中都可以使用。
对于苹果CMS模板开发和制作来说,熟悉全局变量、页面参数、循环标签、分页标签以及常用处理函数,可以更加方便地制作视频、文章、专题等不同类型的模板页面。
一、苹果CMS全局标签
苹果CMS模板中可以通过以下全局变量调用网站的基本信息:
{$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二、苹果CMS页面AID说明
如果需要获取当前系统页面的AID,可以直接使用:
{$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首页模板文件通常位于:
html/index/index.html
首页AID为1,并且可以根据实际需求调用视频、文章、专题等模块的列表标签。
四、引入公共模板文件
制作苹果CMS模板时,可以通过include标签引入公共模板文件,例如网站头部:
{include file="public/head"}这种方式可以将网站头部、底部、公共导航等内容单独制作成模板文件,方便后期统一修改。
五、条件判断if标签
苹果CMS模板中的if标签,其condition属性基本使用PHP判断语法。简单的条件判断可以使用if、elseif和else组合完成。
{if condition="($name == 1) OR ($name > 100)"} value1
{elseif condition="$name eq 2"/}value2
{else /} value3
{/if}在模板条件较多时,也可以根据实际情况配合判断标签和Switch标签使用,让模板代码更加清晰。
六、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}八、留言本标签
留言本模板目录通常为:
html/gbook
留言数据可以通过maccms:gbook标签循环调用。
常用参数:
num:获取数据条数,默认值为10。
paging:是否开启分页。
order:排序方式,desc倒序、asc正序。
by:排序依据,例如id、time、reply_time。
rid:关联数据ID。
留言字段主要包括:
{$vo.gbook_id} 留言ID
{$vo.gbook_rid} 回复ID
{$vo.user_id} 用户ID
{$vo.gbook_status} 留言状态
{$vo.gbook_name} 留言名称
{$vo.gbook_ip} 留言IP
{$vo.gbook_time} 留言时间
{$vo.gbook_reply_time} 回复时间
{$vo.gbook_content} 留言内容
{$vo.gbook_reply} 回复内容留言本调用示例:
{maccms:gbook num="10" paging="yes" order="asc" by="sort"}
{$vo.gbook_id} 编号
{$vo.gbook_name} 昵称
{$vo.gbook_status} 状态,0未审核,1已审核
{$vo.gbook_ip} IP地址
{$vo.gbook_time} 时间
{$vo.gbook_content} 留言内容
{$vo.gbook_reply_time} 回复时间
{$vo.gbook_reply} 回复内容
{/maccms:gbook}九、报错功能
苹果CMS的报错功能实际上可以使用留言本机制向后台提交信息,只是在数据类型和调用方式上用于视频报错。
报错页面模板通常位于:
html/gbook/report.html
默认报错表单示例:
请输入报错内容:{$param.name}```{if condition="$gbook.verify eq 1"}
验证码:{/if}还可输入```在视频详情页等需要显示报错入口的位置,可以调用:
报错
十、评论标签
评论数据可以通过maccms:comment标签调用。
常用参数包括:
num:数据条数,默认10。
paging:是否开启分页。
order:排序方式。
by:排序依据,例如id、time。
评论字段示例:
{$vo.comment_id} 评论ID
{$vo.comment_name} 评论昵称
{$vo.comment_content} 评论内容
{$vo.comment_ip} 评论者IP
{$vo.comment_time} 评论时间
{$vo.childs} 回复评论项十一、自定义页面模板
苹果CMS自定义模板可以自由创建文件名,但统一放在:
html/label
访问自定义模板时,可以使用mac_url函数生成对应地址:
{:mac_url('label/文件名')}例如:
html/label/aaa$$$top.html
{:mac_url('label/aaa$$$top')}
html/label/rank.html
{:mac_url('label/rank')}十二、RSS与Sitemap模板
苹果CMS支持通过RSS模板生成不同搜索引擎需要的Sitemap格式。实际使用时,应根据对应搜索引擎当前支持的格式要求进行配置。
RSS模板目录:
html/rss
常见模板文件包括:
html/rss/baidu.html 百度Sitemap html/rss/bing.html 必应Sitemap html/rss/google.html 谷歌Sitemap html/rss/index.html 通用Sitemap html/rss/sm.html 神马Sitemap html/rss/so.html 360 Sitemap html/rss/sogou.html 搜狗Sitemap
十三、网站地图Map模板
网站地图模板通常位于:
html/map/index.html
该页面可以用于展示网站全站地图以及最新更新内容,具体调用内容可以根据模板需求自行设计。
十四、系统信息提示模板
苹果CMS默认提供系统提示模板,一般情况下可以通过系统变量获取提示信息,例如:
{$msg}
{$wait}1、关站提示
关站提示模板:
html/public/close.html
示例代码:
网站维护中......非常抱歉,网站正在维护中...亲爱的站长们:{$close_tip}2、系统跳转提示
系统跳转提示模板:
html/public/jump.html
示例代码:
系统提示......系统提示...亲爱的:{$msg}页面自动 " _href="">跳转
等待时间:3、普通系统提示
普通系统提示模板:
html/public/msg.html
示例代码:
系统提示......系统提示...亲爱的:{$msg}十五、通用分页标签
苹果CMS分页标签可以应用于分类页、筛选页、搜索页、文章内容页、留言本、评论以及专题首页等支持分页的数据页面。
使用分页功能时,数据循环标签需要设置:
paging="yes"
同时建议指定对应的pageurl参数,以便系统正确生成分页地址。
常用pageurl如下:
视频分类页:
vod/type视频筛选页:
vod/show视频搜索页:
vod/search首页:
index/index文章分类页:
art/type文章筛选页:
art/show文章搜索页:
art/search
例如:
{maccms:vod num="10" paging="yes" pageurl="vod/type" half="3"}
{/maccms:vod}其中half参数用于设置分页区域显示的数字页码数量,如果不设置,一般默认为5。
通用分页代码
{if condition="$__PAGING__.record_total gt 0"}共{$__PAGING__.record_total}条数据,当前{$__PAGING__.page_current}/{$__PAGING__.page_total}页首页 上一页
{maccms:foreach name="$__PAGING__.page_num" id="num"}
{if condition="$__PAGING__['page_current'] eq $num"} {$num}
{else} {$num}
{/if}
{/maccms:foreach} 下一页 尾页 GO{else/}没有找到匹配数据{/if}十六、视频搜索页参数
视频搜索页面可以通过param变量获取当前搜索条件。
常用搜索参数包括:
wd:名称或主演
ids:数据ID,支持多个ID使用逗号分隔
letter:首字母
enname:别名
actor:主演
director:导演
area:地区
lang:语言
year:上映年代
version:版本
state:资源类型
level:推荐等级
tid:分类ID
order:排序方式,desc倒序、asc正序
by:排序字段
搜索页独有参数:
{$param.page} 当前页码
{$param.wd} 关键词
{$param.area} 地区
{$param.lang} 语言
{$param.year} 年代
{$param.actor} 演员
{$param.director} 导演
{$param.class} 扩展分类十七、视频列表标签
视频列表可以使用maccms:vod标签循环调用。
常用参数包括order、by、start、num、ids、type、class、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"}
{/maccms:vod}在视频列表循环内部,当前数据对象通常使用$vo。例如:
{$vo.vod_name}
{$vo.vod_pic}
{$vo.vod_actor}
{$vo.vod_director}
{$vo.vod_year}
{$vo.vod_area}十八、视频详情页标签
视频详情页中的当前视频数据通常通过$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} 版本
{$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])}十九、视频播放地址调用
视频详情页可以通过vod_play_list循环获取播放组以及播放地址。
{maccms:foreach name="obj.vod_play_list" id="vo"}{$vo.from}-在线播放[{$vo.player_info.tip}]{maccms:foreach name="vo.urls" id="vo2"} $vo.sid,'nid'=>$vo2.nid])}" _href="{:mac_url_vod_play($obj,['sid'=>$vo.sid,'nid'=>$vo2.nid])}">
{$vo2.title}
{/maccms:foreach}{/maccms:foreach}播放器详细信息可以通过以下变量获取:
{$vo.player_info.from} 编码
{$vo.player_info.show} 名称
{$vo.player_info.des} 备注
{$vo.player_info.tip} 提示
{$vo.player_info.sort} 排序
{$vo.player_info.parse} 解析接口二十、视频下载地址调用
下载地址的调用方式与播放地址类似,将vod_play_list替换为vod_down_list即可。
{maccms:foreach name="obj.vod_down_list" id="vo"}{$vo.from}-下载[{$vo.player_info.tip}]{maccms:foreach name="vo.urls" id="vo2"} $vo.sid,'nid'=>$vo2.nid])}" _href="{:mac_url_vod_down($obj,['sid'=>$vo.sid,'nid'=>$vo2.nid])}">
{$vo2.title}
{/maccms:foreach}{/maccms:foreach}二十一、视频播放页专属标签
视频播放页可以通过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如果是在下载页面获取对应信息,可以将vod_play_list改为vod_down_list,其他参数保持对应关系。
播放器相关变量:
{$player_data}
{$player_js}二十二、获取关联视频和关联文章
苹果CMS支持根据当前视频的关联ID调用相关视频和文章。
关联视频示例:
与“{$obj.vod_name}”关联的视频
{maccms:vod num="6" rel="'.$obj['vod_rel_vod'].'" order="desc" by="time"}
{$vo.vod_name}
{$vo.vod_version}{/maccms:vod}
关联文章示例:
与“{$obj.vod_name}”关联的文章
{maccms:art num="6" rel="'.$obj['vod_rel_art'].'" order="desc" by="time"}
{$vo.art_name}
{$vo.vod_from}{/maccms:art}
二十三、文章列表标签
文章列表可以通过maccms:art标签循环获取文章数据。
常用参数包括:
order:排序方式,desc倒序、asc正序。
by:排序依据。
start:从第几条开始。
num:获取条数。
ids:指定文章ID。
type:指定分类,all表示所有。
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"}
{/maccms:art}在文章列表循环内部,同样使用$vo获取当前文章数据。
二十四、文章详情页标签
文章详情页通常使用$obj获取当前文章数据。
{$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调用关联内容。
与“{$obj.art_name}”关联的视频
{maccms:vod num="6" ids="'.$obj['art_rel_vod'].'" order="desc" by="time"}
{$vo.vod_name}
{$vo.vod_version}{/maccms:vod}
与“{$obj.art_name}”关联的文章
{maccms:art num="6" ids="'.$obj['art_rel_art'].'" order="desc" by="time"}
{$vo.art_name}
{$vo.vod_from}{/maccms:art}
二十六、分类标签
视频和文章分类可以使用maccms:type标签调用。
常见参数包括order、by、start、num、ids以及flag等。
{maccms:type num="10" order="asc" by="sort" ids="all"}
{$vo.type_name}
{$vo.type_id}
{$vo.type_en}
{/maccms:type}分类页中当前分类数据一般使用$obj调用。
{$obj.parent}
{$obj.parent.type_id}
{$obj.type_id}
{$obj.type_name}
{$obj.type_enname}
{$obj.type_sort}
{$obj.type_mid}
{$obj.type_pid}
{$obj.type_status}
{$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}
{:mac_url_type($obj)}二十七、剧情、地区、语言、年代、版本和资源标签
剧情分类
{maccms:class num="10" order="desc"}
{$key} 序号
{$vo.class_name} 分类名称
{$vo.class_link} 链接
{/maccms:class}地区
{maccms:area num="5" order="desc"}
{$key} 排序位
{$vo.area_name} 地区名称
{$vo.area_link} 链接地址
{/maccms:area}语言
{maccms:lang num="5" order="desc"}
{$key} 排序位
{$vo.lang_name} 语言名称
{$vo.lang_link} 链接地址
{/maccms:lang}年代
{maccms:year num="5" order="desc"}
{$key} 排序位
{$vo.year_name} 年代名称
{$vo.year_link} 链接地址
{/maccms:year}版本
{maccms:version num="5" order="desc"}
{$key} 排序位
{$vo.version_name} 版本名称
{$vo.version_link} 链接地址
{/maccms:version}资源标签
{maccms:state num="5" order="desc"}
{$key} 排序位
{$vo.state_name} 状态名称
{$vo.state_link} 链接地址
{/maccms:state}二十八、专题列表标签
专题数据可以通过maccms:topic标签循环调用。
常用参数包括order、by、start、num、ids、timeadd、timehits、time、hitsmonth、hitsweek、hitsday、hits以及paging等。
{maccms:topic num="10" paging="no" order="asc" by="sort" ids="all"}
{$vo.topic_name}
{$vo.topic_pic}
{$vo.topic_des}
{/maccms:topic}专题详情页可以通过以下字段获取当前专题数据:
{$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()}三十一、顶和踩功能
视频、文章和专题都可以使用digg_link样式绑定顶和踩操作。
顶{$obj.vod_up}{$obj.art_up}{$obj.topic_up}踩{$obj.vod_down}{$obj.art_down}{$obj.topic_down}三十二、视频、文章和专题点击量
点击量可以通过mac_hits类样式调用。
总点击量:日点击量:周点击量:月点击量:
三十四、Ajax数据接口
苹果CMS预留了Ajax数据接口,可以用于瀑布流、异步加载等功能。
主要参数:
mid:模块ID,1视频、2文章、3专题。
limit:每页数据条数,例如10、20、30。
page:当前页码,通常建议控制请求页数,避免产生大量无效请求。
示例接口:
index.php/ajax/data.html?mid=1&page=1&limit=10
三十五、常用处理函数
苹果CMS模板中可以使用多个函数进行数据处理,多个函数之间通常使用|进行连接。
{: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} 截取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}三十六、循环嵌套与变量命名
当模板中存在多层循环时,建议为不同循环设置不同的id和key。因为系统默认循环变量通常使用vo,嵌套循环时如果全部使用相同变量,容易造成外层数据被内部循环覆盖。
例如外层循环使用vo1,内部循环使用vo2:
{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}这种写法可以避免多层循环中变量相互覆盖,尤其适合制作首页多分类、多列表调用的苹果CMS模板。
三十七、循环中统计分类数据量
在分类循环中,可以直接调用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}三十八、苹果CMS模板制作常用变量总结
| 变量 | 用途 |
|---|---|
{$maccms.site_name} | 网站名称 |
{$maccms.site_url} | 网站URL |
{$maccms.site_keywords} | 网站关键词 |
{$maccms.site_description} | 网站描述 |
{$maccms.aid} | 当前页面AID |
{$maccms.mid} | 当前模块ID |
$vo | 列表循环中的当前数据 |
$obj | 详情页中的当前数据对象 |
$param | 页面请求参数 |
$__PAGING__ | 分页数据 |
三十九、苹果CMS模板标签使用注意事项
制作苹果CMS模板时,需要注意不同页面对应的数据对象和标签并不完全相同。列表循环中通常使用$vo,详情页面通常使用$obj,搜索、播放等页面还需要结合$param获取当前请求参数。
另外,分页标签必须与开启分页的数据循环配合使用。例如设置paging="yes"后,再使用$__PAGING__获取分页数据。如果没有开启分页,则无法正常获取对应的分页信息。
对于模板中的图片地址,可以根据实际情况使用mac_url_img进行转换;对于文章、视频简介等HTML内容,则可以结合mac_filter_html和mac_substring进行处理。
四十、总结
苹果CMS模板标签覆盖了网站首页、视频、文章、专题、分类、搜索、播放、下载、留言、评论、会员、分页以及Ajax数据等多个功能模块。
其中最常用的几个核心变量是{$maccms.*}全局变量、列表循环中的$vo、详情页面中的$obj、请求参数$param以及分页变量$__PAGING__。
掌握这些基础标签和常用函数后,就可以根据自己的页面结构制作苹果CMS V10影视模板、文章模板以及综合型网站模板,并通过循环标签和条件判断实现更加灵活的内容展示。
- 整体架构与底层运行逻辑彻底梳理5热度
- 二次开发完整教程3热度
- 视频模板制作常用函数62热度
- 会员积分记录页面调用代码62热度
- 苹果cms内置ajax数据接口说明94热度
- 会员权限列表模板调用教程65热度
- 专题搜索教程86热度
- 更换模板报错解决方法108热度
- 自定义标签使用教程98热度
- 视频筛选调用教程101热度
