苹果CMS介绍与标签大全



一、苹果CMS简介


   苹果CMS(maccms)是一套基于 PHP+MySQL 环境下运行的完善而强大的快速建站系统。系统内置了丰富的 CMS 标签并支持 ThinkPHP 框架标签完美融合,可以调取系统内所有的数据,只要你懂一些前端知识就可以快速开发自己的模板功能。


   核心特点


               特点
           

               说明
           

               程序体积小
           

               优化代码,运行速度快,普通虚拟主机即可搭建
           

               模板分离
           

               仿 MVC 模板分离,后台与前端完全分离
           

               内置标签丰富
           

               支持 TP5 语法,可调取系统内所有数据
           

               模块众多
           

               支持视频、文章、专题、明星、角色、网址导航等模块
           

               后台易用
           

               界面简洁,功能齐全,支持双端管理
           

               开源免费
           

               基于 MIT 协议开源,可商用可二次开发
           


   环境要求

  • PHP 5.6+ / 7.x(推荐 PHP 7.0+)
  • MySQL 5.5+ / 5.7+
  • 服务器:Apache / IIS / Nginx


   二、模板目录结构


   苹果 CMS 所有模板主题包都规定放在 /template/ 目录下,必须严格遵守标准的目录结构,否则会导致前端访问异常。

│─template/模板目录/
│  ├─info.ini      # 模板信息文件
│  ├─ads/           # 广告文件目录
│  ├─js/            # JavaScript 文件
│  ├─css/           # 样式文件
│  ├─images/        # 图片文件
│  └─html/          # 模板 HTML 文件目录
│     ├─art/        # 文章模块模板
│     ├─comment/    # 评论模块模板
│     ├─gbook/      # 留言本模块模板
│     ├─index/      # 首页模块模板
│     ├─topic/      # 专题模块模板
│     ├─user/       # 用户中心模块模板
│     └─vod/        # 视频模块模板


   三、标签基础语法


   1. 变量输出


               类型
           

               语法
           

               说明
           

               普通变量
           
{$maccms.site_name}
               输出站点名称等配置信息,支持点语法代替数组下标
           

               数组变量
           
{$maccms['site_name']}
               传统数组语法
           

               函数调用
           
{$data.name|md5}
               对变量应用过滤函数,多个函数用 | 分隔
           

               多参数函数
           
{$create_time|date="y-m-d",###}
               用 ### 占位变量位置
           

               原生 PHP
           
{:substr($name,0,3)}
               直接执行 PHP 代码,适合简单运算
           


   2. 列表标签


   列表标签由起始标签和结束标签组成,内部变量以 $vo. 开头。

{maccms:vod type="all" num="10" order="desc" by="time"}
    {$vo.vod_name}{/maccms:vod}


   3. 变量作用域

  • $obj:详情页(视频详情、文章详情等)代表当前主对象
  • $vo:循环列表中的每一条数据
  • $parent:分类页二级分类时代表上级分类对象


   四、全局配置标签


               标签
           

               说明
           

               示例值
           
{$maccms.site_name}
               站点名称
           

               我的影视站
           
{$maccms.site_url}
               站点网址
           

               https://www.example.com
           
{$maccms.path}
               系统根目录路径
           

               /
           
{$maccms.mid}
               当前模型 ID(视频=1,文章=2)
           

               1
           
{$maccms.mob_status}
               手机端访问状态
           

               1
           
{:mac_url('map/index')}
               获取站内链接
           

               /index.php/map/index
           


   五、视频模块标签({maccms:vod})


   最常用的视频数据调用标签,支持丰富的筛选参数。


   常用参数


               参数
           

               说明
           

               示例
           
type
               分类 ID,all 全站 / current 当前分类
           
type="1"
num
               调用数量
           
num="12"
order
               排序方式,desc 倒序 / asc 正序
           
order="desc"
by
               排序字段,如 time(时间)、hits(点击)、score(评分)
           
by="hits"
ids
               指定视频 ID,多个用逗号分隔
           
ids="1,2,3"
level
               推荐等级
           
level="5"
paging
               是否分页,yes / no
paging="yes"
timeadd
               添加时间范围,如 -1 week 一周内
           
timeadd="-1 week"
hits
               点击量筛选,如 gt 1000 大于1000
           
hits="gt 1000"


   使用示例

{maccms:vod num="10" type="all" order="desc" by="time"}                    {$vo.vod_name}        主演:{$vo.vod_actor}    {/maccms:vod}


   六、文章模块标签({maccms:art})


   文章数据调用标签,参数结构与视频模块类似。


   使用示例

{maccms:art num="8" type="2" order="desc" by="hits"}{$vo.art_name}({$vo.art_time|date='Y-m-d'}){/maccms:art}


   七、专题模块标签({maccms:topic})


   专题列表标签,参数如下:


               参数
           

               说明
           

               示例
           
num
               调用数量
           
num="10"
ids
               指定专题 ID
           
ids="1,2,3"
paging
               是否分页
           
paging="yes"
{maccms:topic num="6" order="asc" by="sort"}    {$vo.topic_name}{/maccms:topic}


   八、角色模块标签({maccms:role})


   角色功能针对影视剧里面虚构人物信息进行收集整理。


   常用参数


               参数
           

               说明
           
rid
               指定关联视频 ID
           
role
               指定演员名,支持多个(如“刘德华,成龙”)
           
name
               指定角色名,支持多个
           
area
               指定地区
           
level
               指定推荐值
           
{maccms:role num="10" rid="'.$obj['vod_id'].'" order="asc" by="sort"}角色名:{$vo.role_name} | 演员:{$vo.role_actor}{/maccms:role}


   角色字段(详情页 $obj)


               标签
           

               说明
           
{$obj.role_name}
               角色名
           
{$obj.role_actor}
               演员名称
           
{$obj.role_pic}
               图片
           
{$obj.role_level}
               推荐值
           


   九、分类标签({maccms:type})


   分类标签可以调出后台所有数据分类数据,不限定在某个模板中使用。

{maccms:type num="10" order="asc" by="sort" ids="all"}分类名称:{$vo.type_name}{/maccms:type}


   十、页面独有标签


   1. 分类页标签($obj)


   在分类页模板中可用以下变量获取当前分类信息:


               标签
           

               说明
           
{$obj.type_id}
               分类 ID
           
{$obj.type_name}
               分类名称
           
{$obj.type_pid}
               上级分类 ID
           
{$obj.parent}
               上级分类对象(二级分类时可用)
           
{$obj.type_title}
               分类 SEO 标题
           
{$obj.type_key}
               关键字
           
{$obj.type_des}
               描述信息
           
{:mac_url_type($obj)}
               分类链接
           


   2. 视频详情页标签($obj)


   在视频详情页(/html/vod/detail.html)可用以下标签:


               标签
           

               说明
           
{$obj.vod_id}
               视频 ID
           
{$obj.vod_name}
               视频名称
           
{$obj.vod_pic|mac_url_img}
               海报图片
           
{$obj.vod_actor}
               主演
           
{$obj.vod_director}
               导演
           
{$obj.vod_area}
               地区
           
{$obj.vod_year}
               年份
           
{$obj.vod_remarks}
               备注(如“更新至XX集”)
           
{$obj.vod_content|mac_filter_html}
               剧情简介(过滤 HTML)
           
{$obj.vod_hits}
               总点击量
           
{$obj.vod_score}
               评分
           
{$obj.vod_time_add|date='Y-m-d'}
               添加时间
           


   十一、常用处理函数


   苹果 CMS 提供了一系列实用函数,可大幅简化开发流程:


               函数
           

               说明
           

               示例
           
mac_url_img
               自动转换图片地址,远程和本地图片通用
           
{$vo.vod_pic|mac_url_img}
mac_substring
               截取字符串指定长度
           
{$vo.vod_content|mac_substring=100}
mac_filter_html
               过滤 HTML 标签
           
{$vo.vod_content|mac_filter_html}
mac_url_create
               将逗号分隔的字符生成搜索链接
           
{$vo.actor|mac_url_create='actor','vod','search',' '}
mac_day
               返回格式化日期
           
{$vo.vod_time|mac_day}
mac_friend_date
               友好时间格式(“3分钟前”)
           
{$vo.vod_time|mac_friend_date}
mac_default
               空值时返回默认字符串
           
{$vo.vod_year|mac_default='未知'}
mac_long2ip
               长整型 IP 转字符串
           
{$user.user_login_ip|mac_long2ip}
mac_get_user_portrait
               获取用户头像地址
           
{$user.user_id|mac_get_user_portrait}


   十二、数据统计函数


   内置数据统计函数,快速获取各模块数据总量:


               函数
           

               说明
           
{: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')}
               获取分类ID=1下的数据总量(视频/文章)
           
{:mac_data_count(1,'today')}
               获取分类ID=1下的今日更新量
           


   十三、分页标签


   分页标签用于列表页实现内容分页显示,通过 paging="yes" 参数启用。

{maccms:vod num="20" paging="yes" type="current"}
    
    {$vo.vod_name}{/maccms:vod}


{include file="public/pagination"}


   十四、条件判断标签({if})


   苹果 CMS 支持 {if} 条件判断标签,语法与 PHP 类似。

{if $obj.vod_hits > 1000}
    热门{elseif $obj.vod_hits > 500}
    较热{else}
    普通{/if}


   十五、最佳实践建议

  • 图片地址统一处理:所有图片地址都使用 mac_url_img 函数处理,确保地址统一性和可维护性。
  • 引入必备 JS:模板开发中应引入系统自带的 home.js,封装了历史记录、顶踩收藏、访问量统计、评论等常用功能。
  • 合理使用缓存:通过 cachetime 参数设置自定义缓存时间,提升网站访问速度。
  • 注意数据排序:使用二分搜索时确保数据已正确排序,否则可能导致错误结果。
  • 遵循模板结构:严格遵守标准的目录结构进行模板创建,避免前端访问异常。
  • 避免过深嵌套:多级列表一般不超过3-4级,否则影响阅读。


   十六、总结

  • 苹果 CMS 基于 PHP+MySQL 环境运行,采用 TP5.x 作为核心框架。
  • 支持视频、文章、专题、明星、角色、网址导航等八大模块。
  • 模板标签完全支持 TP5 语法,使用 {} 包裹变量。
  • 列表标签由起始和结束标签组成,内部变量以 $vo. 开头。
  • 提供丰富的数据统计函数和处理函数,大幅简化开发流程。
  • 分页、条件判断等标签满足复杂模板需求。
  • 建议开发者从视频模块标签开始学习,逐步掌握其他模块的标签用法。

❤️收藏 👍点赞

用户评论

发表评论

您还未登录,无法发表评论!
快来留下你的足迹吧~