一、理解推荐模块的核心逻辑
苹果CMS的推荐模块本质上是一个数据筛选与展示系统。它通过调用数据库中的影片、文章、专题等数据,按照指定的筛选条件(如点击量、收藏数、评分、最新入库等)进行排序,然后以特定的HTML结构在前端呈现。编辑推荐模块,就是修改其筛选逻辑、展示样式和调用方式。
推荐模块的配置文件通常位于模板目录的html文件夹中,文件名类似recommend.html或widget.html。其核心由两部分构成:后端数据查询标签(苹果CMS的特定标签语法)和前端HTML结构。
二、定位与编辑推荐模块文件
1. 确定模板目录
登录苹果CMS后台,进入“系统”->“网站参数配置”->“基本设置”,查看“模板目录”一项,例如default。这意味着你的当前模板位于/template/default/。
2. 找到推荐模块文件
推荐模块文件通常存在于以下两个位置:
- 公共模块文件:
/template/default/html/目录下,文件名可能为recommend.html、side.html或top.html等。
- 页面内嵌模块:直接内嵌在首页、列表页或内容页的模板文件中,如
/template/default/index.html。
你可以使用FTP工具或服务器文件管理器,直接打开这些HTML文件进行查找。搜索关键词“vod:recommend”、“art:recommend”或“topic:recommend”可以快速定位。
三、详解推荐模块标签语法
苹果CMS使用自定义标签来调用数据。以下是编辑推荐模块必须掌握的标签:
1. 影片推荐基础标签
```html
{maccms:vod num=10 order=desc by=time}
{$vo.vod_name}
{/maccms:vod}
```
参数解析:
- num=10:调用10条数据。
- order=desc:排序方式,desc为倒序,asc为正序。
- by=time:排序字段,time按更新时间,hits按点击量,score按评分。
- {$vo.vod_url}:影片播放页链接。
- {$vo.vod_name}:影片名称。
2. 进阶筛选条件
你可以通过添加type和level参数进行更精确的筛选。
```html
{maccms:vod num=8 type=all order=desc by=hits level=1}
```
- type=all:调用所有分类影片。可以替换为特定分类ID,如type=1。
- level=1:推荐等级。在后台编辑影片时,可以设置推荐值(1-9),这里调用推荐值为1的影片。
四、分步实操:自定义一个首页热门推荐模块
步骤1:备份原文件
编辑/template/default/index.html前,先复制一份为index.html.bak。
步骤2:插入模块调用位置
在首页模板中,找到你想要插入推荐模块的位置(例如,在轮播图下方),添加以下代码:
```html
本周热门
{maccms:vod num=12 type=all order=desc by=hits week=current}
{/maccms:vod}
```
关键参数说明:
- week=current:这是一个非常实用的参数,表示只筛选本周内更新过的影片,确保推荐内容的新鲜度。
- {$vo.vod_pic}:影片封面图地址。
- {$vo.vod_score}:影片评分。
步骤3:添加配套CSS样式
为了使模块正常显示,需要在模板的CSS文件(通常是/template/default/css/style.css)末尾添加样式:
```css
/ 首页热门推荐模块样式 /
.hot-recommend {
margin: 20px 0;
padding: 15px;
background: f8f9fa;
border-radius: 8px;
}
.hot-recommend h3 {
font-size: 18px;
margin-bottom: 15px;
padding-left: 10px;
border-left: 4px solid ff6b6b;
}
.video-list {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: 15px;
}
.video-item {
background: white;
border-radius: 5px;
overflow: hidden;
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
transition: transform 0.3s;
}
.video-item:hover {
transform: translateY(-5px);
}
.video-item img {
width: 100%;
height: 280px;
object-fit: cover;
display: block;
}
.video-item .title {
display: block;
padding: 10px;
font-size: 14px;
color: 333;
line-height: 1.4;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.video-item .score {
display: block;
padding: 0 10px 10px;
font-size: 12px;
color: ff6b6b;
}
```
五、高级技巧:创建多条件复合推荐模块
有时我们需要更复杂的逻辑,例如“近期高评分完结剧集”。这需要结合多个参数和if条件判断标签。
```html
{maccms:vod num=8 type=1 order=desc by=score}
{if condition="$vo.vod_state eq '完结'"}
{/if}
{/maccms:vod}
```
代码解析:
- type=1:仅调用ID为1的分类(如“国产剧”)下的影片。
- by=score:按评分降序排列。
- {if condition="$vo.vod_state eq '完结'"}:条件判断标签。只输出vod_state字段等于“完结”的影片。这里的eq表示等于。
- {$vo.vod_state}:影片状态字段。
六、常见问题与排查
1. 修改后前台不显示或样式错乱
排查步骤:
- 检查标签闭合:确保{maccms:vod}有对应的{/maccms:vod}。
- 清除缓存:立即进入苹果CMS后台,点击“系统”->“更新缓存”,清空所有缓存。
- 检查CSS路径:确保CSS样式正确加载。在浏览器中按F12打开“开发者工具”,查看“Console”和“Network”选项卡,确认CSS文件无404错误。
2. 调用数据为空
- 检查参数:确认type的ID是否存在,或level值对应的影片是否已设置。
- 检查数据:确保数据库中存在符合你筛选条件(如评分大于8、本周更新)的影片。
- 简化测试:先将参数改为最简单的{maccms:vod num=5},看是否能调出数据,再逐步添加条件。
3. 如何调用文章或专题推荐
只需将标签前缀vod替换为art(文章)或topic(专题)。
```html
{maccms:art num=5 order=desc by=time}
{$vo.art_name}
{/maccms:art}
{maccms:topic num=4 order=desc by=time}
{$vo.topic_name}
{/maccms:topic}
```
通过以上步骤,你已掌握了苹果CMS推荐模块从定位、编辑到高级定制的全流程。核心在于理解标签参数与数据字段的对应关系,并通过组合实现所需业务逻辑。编辑后务必更新缓存,并在浏览器中强制刷新(Ctrl+F5)查看效果。