苹果CMS V10用户下载记录页面模板制作与功能开发教程
发布时间:2025-03-23共11人阅读
一、用户下载记录模板概述
苹果CMS V10 用户中心的下载历史记录由专属模板文件承载,文件路径为 html/user/downs.html。该页面用于展示用户所有历史下载行为数据,包含下载内容名称、分类、消费积分、资源编号等信息,同时集成重新下载、单条删除、批量删除、一键清空记录等实用功能,是用户中心核心功能页面之一。
页面所有下载数据统一存放于系统 $list 数组中,通过官方 volist 标签循环遍历渲染列表内容。
二、基础数据遍历语法
下载记录依托系统固定数据结构实现循环输出,基础遍历代码简洁高效,可快速调取记录核心标识数据。
{volist name="list"}
{$vo.ulog_id}
{$vo.ulog_points}
{/volist}循环内 $vo 变量代表单条下载记录对象,可延伸调用各类详情字段,适配页面多样化展示需求。
三、下载记录页面完整源码
以下为可直接部署使用的完整版下载记录模板代码,采用表格规整布局,整合数据展示、重新下载、多选删除、批量清空全套功能。
<table width="770" border="0" cellspacing="1" cellpadding="0" class="table">
<tr>
<td width="66" height="36" align="center" valign="middle" bgcolor="#f7f7f7">选择</td>
<td width="80" align="center" valign="middle" bgcolor="#f7f7f7">编号</td>
<td width="317" align="center" valign="middle" bgcolor="#f7f7f7">名称</td>
<td width="120" align="center" valign="middle" bgcolor="#f7f7f7">进度</td>
<td width="100" align="center" valign="middle" bgcolor="#f7f7f7">消费积分</td>
<td width="80" align="center" valign="middle" bgcolor="#f7f7f7">操作</td>
</tr>
<form name="form1" method="post">
{volist name="list"}
<tr>
<td height="36" align="center" valign="middle" bgcolor="#FFFFFF"><input name="ids[]" type="checkbox" value="{$vo.ulog_id}"></td>
<td align="center" valign="middle" bgcolor="#FFFFFF">{$vo.ulog_id}</td>
<td align="left" valign="middle" bgcolor="#FFFFFF" class="pad">[{$vo.data.type.type_name}] {$vo.data.name} [{$vo.ulog_rid}-{$vo.ulog_sid}-{$vo.ulog_nid}]</td>
<td align="center" valign="middle" bgcolor="#FFFFFF"><a href="{$vo.data.link}" class="fen">重新下载</a></td>
<td align="center" valign="middle" bgcolor="#FFFFFF">{$vo.ulog_points}</td>
<td align="center" valign="middle" bgcolor="#FFFFFF"><a href="" class="delete">删除</a></td>
</tr>
{/volist}
</form>
</table>
<!-- 删除记录脚本 -->
<script>
function delData(ids,all){
var msg ='删除';
if(all==1){
msg='清空';
}
if(confirm('确定要'+msg+'记录吗')){
$.post("{:url('user/ulog_del')}",{ids:ids,type:5,all:all},function(data) {
if (data.code == '1') {
alert('删除成功');
location.reload();
}else {
alert('删除失败:' + data.msg);
}
}, 'json')
}
}
$("#btnClear").click(function(){
delData('',1);
});
$("#btnDel").click(function(){
var ids = MAC.CheckBox.Ids('ids[]');
if(ids==''){
alert("请至少选择一个数据");
return;
}
delData(ids,0);
});
</script>四、下载记录核心字段功能详解
模板所有下载数据均通过 $vo 及其附属 $vo.data 对象调取,各字段用途固定、适配系统原生数据结构,核心字段说明如下:
| 字段名称 | 具体作用 |
|---|---|
$vo.ulog_id | 单条下载记录唯一编号,用于数据标识、多选删除参数传递 |
$vo.data.type.type_name | 调取下载资源对应的分类名称,完善内容信息展示 |
$vo.data.name | 展示用户下载的资源标题名称 |
$vo.ulog_rid | 下载记录关联的资源唯一ID |
$vo.ulog_sid | 对应资源的下载/播放线路编号 |
$vo.ulog_nid | 资源下载节点编号 |
$vo.data.link | 生成历史资源的重新下载链接 |
$vo.ulog_points | 展示本次下载消耗的用户积分数量 |
五、重新下载功能实现
页面内置重新下载功能,依托资源原始链接实现二次下载跳转,无需用户重新搜索资源。核心调用代码如下:
<a href="{$vo.data.link}" class="fen">重新下载</a>该功能自动绑定当前下载记录对应的资源地址,需注意若站点资源删除、链接失效或配置变更,重新下载功能将无法正常使用。
六、下载记录删除功能原理
1. 核心删除接口
所有下载记录的删除、清空操作,统一调用系统专属接口,通过 type:5 参数精准匹配下载记录数据类型,避免误操作其他用户日志。
{:url('user/ulog_del')}2. 单条与批量删除
页面通过复选框收集多条记录ID,借助系统 MAC.CheckBox.Ids 方法批量获取选中数据,搭配空值校验,规避无效操作。参数 all:0 代表仅删除指定记录。
$("#btnDel").click(function(){
var ids = MAC.CheckBox.Ids('ids[]');
if(ids==''){
alert("请至少选择一个数据");
return;
}
delData(ids,0);
});3. 一键清空全部记录
清空功能通过修改请求参数 all:1 实现,自动切换操作提示文案,支持一次性清除用户所有下载记录。
$("#btnClear").click(function(){
delData('',1);
});4. 删除核心函数
统一封装删除逻辑,通过AJAX异步提交请求,根据后端返回状态弹窗提示操作结果,并自动刷新页面同步最新数据。
function delData(ids,all){
var msg ='删除';
if(all==1){
msg='清空';
}
if(confirm('确定要'+msg+'记录吗')){
$.post("{:url('user/ulog_del')}",{
ids:ids,
type:5,
all:all
},function(data) {
if (data.code == '1') {
alert('删除成功');
location.reload();
}else {
alert('删除失败:' + data.msg);
}
}, 'json')
}
}七、模板修改与使用注意事项
下载记录模板固定存放于
html/user/downs.html,修改前建议备份原文件,防止功能异常。数据渲染依赖
$list数组与 volist 遍历标签,不可随意修改变量名称与循环语法。删除功能依赖 jQuery 与苹果CMS自带
MAC.CheckBox组件,需保证页面正常加载对应脚本。批量删除、清空功能需搭配页面对应ID按钮(#btnDel、#btnClear)使用,否则功能无法触发。
页面样式、布局可自由美化调整,核心接口、字段、脚本逻辑禁止随意修改。
八、功能总结
苹果CMS V10用户下载记录页面依托原生模板文件与系统数据接口,实现了下载数据展示、二次下载、记录管理全套功能。模板通过 $vo 系列字段精准调取各类下载信息,搭配成熟的AJAX删除逻辑,兼顾实用性与稳定性,可直接用于站点搭建,也可基于原有结构进行个性化样式优化。
