适用人群
这篇文章适合以下人群:刚接触苹果CMS(即Maccms)的站长,想在影视站中加入“按地区、年份、类型、语言”等筛选功能的新手;也适合那些已经搭好站但筛选一直报错、点着没反应、或者筛选结果错乱的老站长发愁党,只要你懂基本的后台菜单操作,会复制粘贴代码,跟着本文一步步来,就能把一个带“酷炫筛选”的完整站点跑起来。
完整搭建步骤
第一步:准备一套干净的苹果CMS环境
- 下载最新版苹果CMS(V10版本)并上传到服务器根目录,解压。
- 访问
http://你的域名/install进入安装向导,填写数据库信息,后台管理员账号密码。 - 安装完成后,进入后台,默认地址是
http://你的域名/admin.php。 - 在后台“系统-网站参数配置”中,将“站点模式”设为“静态模式”或“伪静态模式”(推荐伪静态),保存后并生成一次静态缓存。
第二步:创建“分类”和“筛选字段”
筛选功能本质是让用户在前台点选项时,URL带上参数,如 ?type=1&area=内地&year=2024,苹果CMS内置了筛选支持,但需要你预先设置分类和字段。

苹果CMS筛选功能从零到精通,手把手搭建一个带多条件筛选的影视站
- 进入后台“分类管理”,先建立顶级分类,电影”、“电视剧”、“综艺”等,每个分类下可以建子分类(动作片”、“喜剧片”)。
- 在“分类管理”中,选中一个分类,点“编辑”,找到“筛选字段”这一项,苹果CMS默认支持
area(地区)、year(年份)、lang(语言)、type(类型)等,把这几个字段勾选启用,并填好显示名称(地区”、“年份”、“语言”),保存。 - 如果你想要自定义筛选字段(豆瓣评分”、“时长”),需要去“数据-字段管理”里新增自定义字段,然后绑定到分类上,新手暂时不用,先掌握内置字段。
第三步:修改前台模板中的筛选导航
苹果CMS默认模板可能没有把筛选按钮完全展示,你需要编辑模板文件。
- 进入后台“模板-模板管理”,找到当前模板(比如默认模板),点“编辑”代码。
- 找到
list.html或type.html(不同模板不同),这是分类列表页模板,在其中搜索{assign name="param"}或{$param}这样的变量。 - 在头部区域插入筛选HTML代码块,核心是使用标签
{:vod_type_jump}和{:vod_area_jump}等。
<div class="filter-box">
地区:
<a href="{:vod_area_jump('')}" class="{if condition="empty($param['area'])"}active{/if}">全部</a>
{volist name=":vod_area_jump()" id="vo"}
<a href="{:vod_area_jump($vo.data)}" class="{if condition="$param['area'] eq $vo.data"}active{/if}">{$vo.name}</a>
{/volist}
</div>
同理,年份用 vod_year_jump,语言用 vod_lang_jump,这些函数会自动生成带当前分类的合理URL。
保存模板后,清空后台缓存(“系统-缓存管理-清理缓存”)。
第四步:验证前台效果
访问一个分类页面,电影”,你会看到筛选栏,点击“2023年”,URL应该变成 http://你的域名/vodtype/1-year-2023.html 之类的格式,列表展示的是2023年的电影,翻页页码也能保持筛选条件。
第五步:给首页或自定义页面加上筛选入口
如果你想在首页直接筛选,需要修改 index.html 模板,在合适位置放置链接,链接指向上面的分类筛选页。
<a href="/vodtype/1-year-2024.html">2024年电影</a>
或者直接做下拉跳转,用JS拼接URL,为了保持简洁,新手先做静态链接。
配置要点
- 伪静态规则:必须正确配置,苹果CMS自带Nginx/Apache规则,在安装包中有说明,如果伪静态不生效,筛选链接会变成
index.php/vod/type/id/1.html,比较难看且部分函数会失效。 - 默认筛选值:在分类编辑页面,可以设置“默认排序”和“默认筛选条件”,如果你希望某个分类默认只显示“高清”资源,可以在“属性”里设置。
- 关联字段:筛选条件之间是并列关系还是叠加关系?苹果CMS默认是叠加(AND),比如选了“内地+2023年”就是同时满足,如果你想做“或”关系,要自己写SQL,新手别碰。
- 静态页生成:如果你开启“全站静态”,每次更新数据后需要重新生成静态页,否则筛选结果不会变,建议用“伪静态+动态缓存”,省事。
常见踩坑提醒
- 筛选链接打不开404:八成是伪静态规则没配好,去服务器把苹果CMS自带的伪静态代码粘进站点配置,重启nginx/apache。
- 点击筛选后列表空白:检查分类ID是否带到了URL,如果你用了
vod_area_jump函数,它会自动包含当前分类ID,如果你手动写死链接,漏掉type参数就会空白。 - 筛选按钮显示但无响应:可能是模板JS冲突,很多模板自带一些全局JS会拦截a标签的默认行为,你可以在浏览器开发者工具里看Console有没有报错,或者把筛选栏的链接改为
target="_blank"测试。 - 年份选项只有固定几个:默认苹果CMS只返回当前年份往前推5年的数据,你需要去后台“数据-字段管理”找到
year字段,修改“生成选项”的起始年份范围,比如从1990到2030,改完记得清缓存。 - 筛选结果包含其他分类的数据:因为你直接在分类页面用了全局筛选函数,没有限定当前分类,解决方式是确保你写筛选代码时,用的是
vod_area_jump而不是vod_area_jump_all(后者是通用不保留分类的),别用错函数。 - 后台改了字段但前台不显示:检查模板中是否绑定了该字段,且你在分类编辑中启用了该筛选,还要注意模板缓存,硬刷新浏览器(Ctrl+F5)并清空系统缓存。
- URL出现中文乱码:筛选中的地区如“内地”会URL编码,苹果CMS会处理,但如果你在自定义链接里直接写中文,必须用
urlencode或直接写拼音缩写,建议使用函数生成链接,不要手拼。
按照以上步骤操作,快的话半小时内就能让筛选功能正常满血跑起来,做站过程中遇到任何奇怪问题,清缓存、拆模板、查伪静态,三大板斧基本都能解决,祝你的影视站筛选如丝般顺滑,用户喜欢!
发表评论