你手里那把钥匙的齿痕
苹果CMS v10 的默认模板目录是 /application/admin/view/ 和 /template/,但真正让你自由发挥的是 /template/你的模板名/,一个标准模板包内必须包含:
index_index.html(首页)index_list.html(列表页)index_play.html(播放页)index_search.html(搜索页)- 以及
public/子目录下的header.html、footer.html、nav.html等公共碎片
数据字典决定的不是“你能调什么”,而是“你调得对不对”,每个页面对应的 maccms 标签都有一组专属字段,vod_name 只在视频相关页生效,art_title 只在文章模块存在,用错字段,系统不会报错,只会返回空值——这是新手最常见的“白屏”根源。
常用标签调用方法:把数据字典变成你的弹药库
列表循环标签(核心武器)
{maccms:vod num="12" type="current" order="desc" by="time"}
<li><a href="{:mac_url_vod_detail($vo)}">{$vo.vod_name}</a></li>
{/maccms:vod}
$vo 就是数据字典里 vod 表的当前行对象,请死记这几个高频字段:vod_pic(海报)、vod_score(评分)、vod_remarks(更新备注)、vod_time(更新时间戳),如果你要显示“HD高清”这类资源类型,直接调 {$vo.vod_type},别自己拼字符串。
苹果CMS v10 数据字典深度解析,从底层字段到前端调用的全链路实战
分页与筛选标签
列表页必备:
{maccms:vod type="current" page="1" pagesize="24"}
{/maccms:vod}
之后用 {$__PAGING__} 输出分页条,注意:数据字典里 type 是关联表 type 的字段,这里传 current 表示跟随当前栏目ID,千万别硬编码 type="1"。
移动端适配技巧:字典字段帮你做响应式判断
苹果CMS没有内置设备检测,但你可以利用 vod_play_list 字段配合 CSS 断点,更聪明的做法是:在 public/header.html 里用 maccms:if condition="isMobile()" 语法控制不同设备的导航输出,重点来了——移动端播放页建议直接调 vod_play_from 字段,它列出播放器来源(如 m3u8、yunjie),配合 vod_play_url 做切换按钮,字典里这俩是数组结构,必须用 foreach 展开:
{maccms:foreach name="$vo.vod_play_from" id="from"}
<button onclick="switchPlayer('{$from}', {$vo.vod_play_url[$key]})">{$from}</button>
{/maccms:foreach}
别把数组当字符串输出,否则只会打印 Array。
首页/列表页/播放页美化实例:三刀切中要害
首页——卡片式瀑布流
用 vod_pic 做背景图,vod_score 做角标,vod_remarks 覆盖在底部渐变遮罩上,关键代码:
.card{background:url({$vo.vod_pic}) center/cover;}
.remark{position:absolute;bottom:8px;background:rgba(0,0,0,.6);color:#fff;}
如果图片加载慢,把 vod_pic 替换为 vod_pic_slide(轮播图专用字段),这俩在字典里是独立字段,别混用。
列表页——双列网格与无限加载
列表页重点优化“筛选区”,数据字典里 type 表有 type_pid(父ID),你可以用它生成“分类-子分类”二级联动,每张卡片右上角显示 vod_continu(连载集数),但如果该字段为空,则显示 vod_total(总集数),用 maccms:if 判断。
播放页——功能分区清晰化
播放页分三块:播放器区、简介区、推荐区,播放器区用 vod_play_list 循环多个来源;简介区显示 vod_blurb(简介前150字),点击展开后调 vod_content 全量字段;推荐区复用 vod_related 字段,它直接返回同类型视频数组。
SEO优化标签配置:让数据字典为蜘蛛指路
苹果CMS在 /application/extra/ 下有个 seo.php 配置文件,但你完全可以在模板里覆盖,每个页面头部要自定义 title、keywords、description:
<meta name="keywords" content="{$vo.vod_name},{$vo.vod_actor|mac_parse_actor}">
<meta name="description" content="{$vo.vod_blurb|mac_substring=60}">
重点:vod_actor 返回的是数组,必须用 |mac_parse_actor 过滤器转成逗号分隔的字符串,否则蜘蛛拿到的是个空值。一定要动 vod_copyright 字段——如果该字段为 0,输出 rel="nofollow",避免版权风险。
最后提一个隐藏技巧:在列表页加入 {$param.wd|mac_substring=20} 作为搜索词回显,同时将 wd 参数自动写入页面 h1 标签,这样不仅利于长尾词收录,还能提升用户搜索体验,数据字典不是死的,它是一套活着的接口——你越敢调用,它给你的就越多。



发表评论