苹果CMS V10模板开发常用标签完整使用教程
发布时间:2024-08-04共18人阅读
一、模板标签基础概述
苹果CMS V10模板开发核心依托系统内置标签、变量与工具函数,可实现全站数据自定义调用,适配首页、分类页、搜索页、内容详情页、播放下载页、用户中心等所有页面的模板制作与修改。合理运用各类标签,可快速完成影视、文章、专题、评论、链接等模块的数据展示,是模板二次开发的核心基础。
二、全局通用变量标签
全局标签支持全站所有页面调用,主要用于读取网站基础配置、目录地址、页面基础信息等固定参数。
{$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常规页面站点信息展示、模板路径调用,均可直接使用以上全局变量,无需重复配置。
三、公共模板文件引入标签
针对网站头部、底部、侧边栏等重复模块,可拆分独立公共模板文件,通过引入标签统一调用,简化模板维护流程,修改公共文件即可同步更新全站对应模块。
{include file="public/head"}示例:将网站头部代码存放至 public/head.html,在各个页面通过上述代码快速引入,适配全站统一布局。
四、条件判断标签
条件标签用于根据变量状态展示差异化内容,支持复杂PHP表达式判断与简单空值判断,适配各类页面差异化展示需求。
1. 多条件判断
{if condition="($name == 1) OR ($name > 100)"}
value1
{elseif condition="$name eq 2"/}
value2
{else /}
value3
{/if}2. 空值判断
判断变量为空场景:
{empty name="name"}
name为空值
{/empty}判断变量非空场景:
{notempty name="name"}
name不为空
{/notempty}五、基础模块数据调用标签
1. 友情链接标签
支持区分文字链接、图片链接,可自定义调用数量,适配网站底部友联展示。
type参数:font=文字链接,pic=图片链接
num参数:自定义调用链接数量
{maccms:link num="2" type="pic"}
{$key} 序号
{$vo.link_name} 名称
{$vo.link_url} 地址
{$vo.link_pic} 图片
{/maccms:link}2. 留言本标签
调用网站前台留言数据,支持分页、排序、数量自定义,可展示留言昵称、内容、时间、回复等信息。
{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}3. 评论标签
适配全站内容评论调用,参数用法与留言本标签一致,支持展示评论及层级回复内容。
{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}六、分类与专题调用标签
1. 内容分类标签
maccms:type 为通用分类调用标签,支持视频、文章分类筛选,可自定义排序、数量、分类范围。
{maccms:type num="10" order="asc" by="sort" ids="all"}
内部字段与分类页相同,将 {$obj. 改为 {$vo. 即可
{/maccms:type}分类详情页专属调用字段,可获取分类基础信息与模板配置:
{$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} SEO关键字
{$obj.type_des} SEO描述
{$obj.type_title} SEO标题
{:mac_url_type($obj)} 分类链接2. 专题列表标签
支持多维度筛选专题数据,可按排序、点击量、更新时间、推荐值等条件调用专题内容。
{maccms:topic num="10" paging="no" order="asc" by="sort" ids="all"}
内部字段与专题页相同,将 {$obj. 改为 {$vo. 即可
{/maccms:topic}专题详情页专属字段,覆盖专题基础信息、数据统计、链接地址等参数:
{$obj.topic_id} 专题ID
{$obj.topic_name} 名称
{$obj.topic_en} 别名
{$obj.topic_sub} 副标题
{$obj.topic_status} 状态
{$obj.topic_sort} 排序号
{$obj.topic_pic} 图片
{$obj.topic_key} SEO关键字
{$obj.topic_des} SEO描述
{$obj.topic_title} SEO标题
{$obj.topic_hits} 总点击
{$obj.topic_time} 更新时间
{$obj.topic_time_add} 添加时间
{$obj.topic_content} 详细介绍
{:mac_url_topic_detail($obj)} 专题详情页链接
{:mac_url_topic_index()} 专题首页链接七、视频筛选维度标签
系统内置多维度筛选标签,可快速调用剧情分类、地区、语言、年代、版本、资源状态等筛选数据,适配首页筛选导航、分类筛选页面。
//剧情分类
{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}八、视频核心调用标签
1. 视频列表标签
maccms:vod 是影视模板核心标签,支持按分类、标签、地区、年份、点击量、更新时间等多条件筛选数据,支持分页功能。
{maccms:vod num="10" paging="no" type="all" order="asc" by="sort"}
内部字段与视频内容页相同,将 {$obj. 改为 {$vo. 即可
{/maccms:vod}2. 视频详情页专属标签
详情页通过 $obj 变量获取单条视频完整数据,涵盖基础信息、播放下载、统计数据、扩展参数等全部字段。
{$obj.vod_id} 视频ID
{$obj.type_id} 分类ID
{$obj.vod_name} 视频名称
{$obj.vod_sub} 副标题
{$obj.vod_en} 别名
{$obj.vod_status} 状态
{$obj.vod_letter} 首字母
{$obj.vod_tag} Tags标签
{$obj.vod_pic} 封面图片
{$obj.vod_actor} 主演
{$obj.vod_director} 导演
{$obj.vod_area} 地区
{$obj.vod_lang} 语言
{$obj.vod_year} 年代
{$obj.vod_version} 版本
{$obj.vod_state} 资源状态
{$obj.vod_hits} 总点击量
{$obj.vod_time} 更新时间
{$obj.vod_time_add} 添加时间
{$obj.vod_content} 详细简介
{$obj.vod_play_url} 播放地址
{$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])} 下载页链接3. 播放/下载地址遍历标签
循环调用视频多线路播放、下载资源,适配多播放器、多集数展示场景。
//播放地址遍历
{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}
//下载地址遍历
{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}九、文章模块调用标签
1. 文章列表标签
maccms:art 用于文章数据调用,参数逻辑与视频列表标签一致,支持筛选、排序、分页。
{maccms:art num="10" paging="no" type="all" order="asc" by="sort"}
内部字段与文章内容页相同,将 {$obj. 改为 {$vo. 即可
{/maccms:art}2. 文章详情页专属标签
{$obj.art_id} 文章ID
{$obj.type_id} 分类ID
{$obj.art_name} 文章标题
{$obj.art_sub} 副标题
{$obj.art_author} 作者
{$obj.art_from} 来源
{$obj.art_pic} 封面图
{$obj.art_tag} TAG标签
{$obj.art_hits} 总点击量
{$obj.art_time} 更新时间
{$obj.art_content} 文章内容
{:mac_url_art_detail($obj)} 文章详情链接十、内容关联调用标签
用于详情页调用关联视频、关联文章,实现站内内容联动,提升页面丰富度。
//视频关联内容
<h2>关联视频推荐</h2>
{maccms:vod num="6" rel="' .$obj['vod_rel_vod']. '" order="desc" by="time"}
<a href="{:mac_url_vod_detail($vo)}" title="{$vo.vod_name}">{$vo.vod_name}</a>
{/maccms:vod}
//文章关联内容
<h2>关联文章推荐</h2>
{maccms:art num="6" rel="' .$obj['art_rel_art']. '" order="desc" by="time"}
<a href="{:mac_url_art_detail($vo)}" title="{$vo.art_name}">{$vo.art_name}</a>
{/maccms:art}十一、分页功能标签
分页功能需搭配数据标签 paging="yes" 使用,支持全站各类列表页自定义分页样式。
<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}">首页</a>
<a class="page_link" href="{$__PAGING__.page_url|mac_url_page=$__PAGING__.page_prev}">上一页</a>
{maccms:foreach name="$__PAGING__.page_num" id="num"}
{if condition="$__PAGING__['page_current'] eq $num"}
<a class="page_link page_current" href="javascript:;">{$num}</a>
{else}
<a class="page_link" href="{$__PAGING__.page_url|mac_url_page=$num}">{$num}</a>
{/if}
{/maccms:foreach}
<a class="page_link" href="{$__PAGING__.page_url|mac_url_page=$__PAGING__.page_next}">下一页</a>
<a class="page_link" href="{$__PAGING__.page_url|mac_url_page=$__PAGING__.page_total}">尾页</a>
</div>
</div>十二、系统工具函数
模板支持管道符调用内置工具函数,快速实现数据统计、内容处理、格式转换等功能。
{:mac_data_count(0,'all','vod')} 视频总数量
{:mac_data_count(0,'today','vod')} 今日更新视频数量
{$vo.vod_pic|mac_url_img} 图片地址自动转换
{$vo.vod_content|mac_substring=100} 内容字符截取
{$vo.vod_content|mac_filter_html} 清除HTML标签
{$vo.vod_time|mac_day} 日期格式化
{$vo.vod_year|mac_default='未知'} 空值默认替换十三、前端交互JS标签
系统内置前端功能标签,无需自定义JS代码,即可实现收藏、浏览记录、顶踩、点击量统计等交互功能。
1. 收藏功能
<a href="javascript:;" class="mac_ulog" data-type="2" data-mid="{$maccms.mid}" data-id="{$obj.vod_id}">收藏视频</a>2. 浏览记录写入
<span style="display:none" class="mac_ulog_set" data-type="1" data-mid="{$maccms.mid}" data-id="{$obj.vod_id}" data-sid="{$param.sid}" data-nid="{$param.nid}"></span>3. 顶踩与点击量统计
<a class="digg_link" data-id="{$obj.vod_id}" data-mid="{$maccms.mid}" data-type="up">顶<em class="digg_num">{$obj.vod_up}</em></a>
<a class="digg_link" data-id="{$obj.vod_id}" data-mid="{$maccms.mid}" data-type="down">踩<em class="digg_num">{$obj.vod_down}</em></a>
<span class="mac_hits hits" data-mid="{$maccms.mid}" data-id="{$obj.vod_id}" data-type="hits"></span>十四、AJAX异步加载接口
可用于前端瀑布流、滚动加载等场景,实现无刷新数据调取。
index.php/ajax/data.html?mid=1&page=1&limit=10
参数说明:mid=模块ID、page=页码、limit=单页数据量。
十五、标签使用核心注意事项
列表循环页面统一使用 $vo 变量,详情页面统一使用 $obj 变量,避免变量混淆。
多层标签嵌套时,需自定义循环id与key参数,防止变量覆盖失效。
分页功能必须在对应数据标签开启
paging="yes"后方可生效。模板修改后需清理系统缓存,否则前台无法同步更新效果。
不同模块URL函数需对应匹配,视频、文章、专题链接函数不可混用。
苹果CMS模板网整理的这套全套标签,覆盖新手模板修改、进阶二次开发的全部刚需,熟练掌握各类标签调用逻辑,可独立完成全站模板的制作、优化与功能拓展。
