苹果CMS(MagicGreen)凭借其轻量化的架构和高度灵活的标签系统,一直是影视站长搭建电视剧站的首选,我们抛开花哨的框架,直接深入核心,从目录结构、标签调用到移动端适配,再到SEO细节,手把手带你打造一个能直接上线的电视剧站模板。
模板文件结构:理解“分层”的逻辑
苹果CMS的模板目录通常位于 application/index/view/ 下,一个成熟的电视剧站模板必须包含以下关键文件:
从零到一,苹果CMS电视剧站模板开发全流程实战
index.html:首页模板,负责全站推荐位和频道入口。list.html:列表页模板,用于展示某分类下的剧集列表,分页逻辑在此实现。play.html:播放页模板,核心是解析播放器地址与集数切换。detail.html:详情页模板,展示剧集简介、演员表、相关推荐。search.html:搜索结果页,通常复用列表页逻辑。
关键点:苹果CMS 10.x版本中,模板引擎支持 {include file="公共头部"} 和 {include file="公共底部"},务必将这些公共部分抽离成 header.html 和 footer.html,避免重复代码,你需要手动创建 css/、js/、images/ 目录,并放入静态资源,模板路径的根目录指向 public/template/你的主题名/。
常用标签调用方法:数据从哪来?
苹果CMS标签以 或 {maccms:} 开头,熟练使用是进阶的基础。
列表数据调用(首页推荐位)
{maccms:type ids="1" order="asc" by="sort" id="vo" key="key"}
<li><a href="{:mac_url_type($vo)}">{$vo.type_name}</a></li>
{/maccms:type}
这里 ids="1" 代表分类ID,如果你要调用“国产剧”分类,先去后台查看该分类的ID。mac_url_type 是自动生成分类链接的函数。
最新剧集调用(带封面)
{maccms:vod num="10" type="all" order="desc" by="time" id="vo" key="key"}
<a href="{:mac_url_vod_detail($vo)}">
<img src="{$vo.vod_pic}" alt="{$vo.vod_name}" />
<span>{$vo.vod_name}</span>
<em>{$vo.vod_remarks}</em> <!-- 更新至24集” -->
</a>
{/maccms:vod}
注意:$vo.vod_remarks 是状态字段,在后台采集时自动写入,前台直接输出即可,无需额外判断。
分页标签(列表页必备)
在 list.html 中,你需要在循环外加上:
{include file="paging"} <!-- 或使用内置分页变量 -->
苹果CMS提供了 __PAGING__ 变量,但在模板中通常手动写:
{empty name="page"}
{$page}
{/empty}
更高效的做法是使用 {:page} 变量直接输出分页链接。
移动端适配技巧:不止是响应式
很多新手以为做响应式就万事大吉,但电视剧站不同,用户看剧时习惯竖屏或横屏切换,推荐做法:
- 独立移动端模板:在模板目录下创建
m/子目录,复制一份精简版模板,苹果CMS会根据$_SERVER['HTTP_USER_AGENT']自动识别移动设备,定向到m/index.html。 - 强制视口宽度:在
m/的头部加上:<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no">
- 播放页简化:移动端模板中的播放页,移除Flash支持(现在都用H5播放器),只保留
iframe嵌入代码,调用播放器地址使用{:mac_url_vod_play($vo,$param['sid'],$param['nid'])},$param['sid']是播放器组ID,$param['nid']是集数。
首页/列表页/播放页美化实例
首页设计:三区块布局
- 顶部:轮播大图展示最新高分剧,调用最近一个月更新的数据,按评分排序:
{maccms:vod num="5" type="all" order="desc" by="score" id="vo" time="30" key="key"} - 中部:按分类输出剧集组,每个分类一行带“更多”链接,这里注意使用
group属性:{maccms:type ids="1,2,3" order="asc" by="sort" id="type" key="key"} <h3>{$type.type_name}</h3> {maccms:vod num="8" type="current" order="desc" by="time" id="vo2" key="key2"} <!-- 这里 type="current" 表示当前分类 --> {/maccms:vod} {/maccms:type} - 底部:友情链接和备案信息。
列表页设计:网格+筛选
建议使用“三列网格”布局,每项显示封面+简介,筛选功能利用 {:mac_url_type($type,['id'=>$type['type_id']])} 自动拼接参数,添加“最新/最热”排序按钮,切换 order="desc" 和 by="hits" 即可。
播放页设计:极简主义
播放页的核心是播放器区域占屏幕宽度的80%以上,下方显示剧集列表,使用小按钮排列,用JS控制高亮当前集:
{maccms:vod num="1" id="current" type="all" order="desc" by="time" id="vo"}
{volist name="vo.vod_play_list" id="play"}
{if condition="$play['player_info']['show']"}
<!-- 遍历播放器组 -->
{/if}
{/volist}
{/maccms:vod}
注意:$vo.vod_play_list 是由采集器自动生成的数组,你需要先在后台配置好播放器组(如“量子云”)。
SEO优化标签配置:让搜索引擎爱上你
苹果CMS的SEO核心在后台“系统参数”->“SEO设置”,但模板中的细节同样决定权重: 标签**:详情页必须重写:
<meta name="keywords" content="{$vo.vod_name},{$vo.vod_en},剧名演员">
<meta name="description" content="{$vo.vod_content|mac_substr=0,80}">
这里 mac_substr 是截取函数,避免将整篇简介输出。
-
列表页伪静态:在模板生成分页链接时,强制使用
mac_url_type而不带 参数,确保路径为/list-中国剧-1.html这样的静态形式,在后台开启URL重写规则,并在Nginx添加:rewrite ^/list-([^-]+)-([0-9]+)\.html$ /index.php/index/list/index.html?type=$1&page=$2; -
图片懒加载:苹果CMS默认输出原始图片,建议在模板中统一给
vod_pic加上data-original属性,引入jquery.lazyload.js,减少首页请求量。 -
面包屑导航:在详情页头部添加:
<a href="{$maccms.site_url}">首页</a> > <a href="{:mac_url_type($vo)}">{$vo.type.type_name}</a> > {$vo.vod_name}
模板开发思路,覆盖了从文件结构到上线优化的全流程,苹果CMS的灵活性允许你发挥创意,但永远不要让模板复杂超过后台逻辑本身,用户打开网站看的是剧,不是花哨的动画,保持页面干净、加载速度快、播放器稳定,比任何炫技都重要,打开你的代码编辑器,按这个思路重构一遍,你会看到流量数据的直观反馈。



发表评论