苹果CMS用户收藏记录调用教程
发布时间:2025-03-10共9人阅读
苹果CMS V10用户收藏记录文件
在苹果CMS V10用户中心中,如果需要显示当前用户的收藏记录,可以修改用户模块下的 favs.html 模板文件。
对应的文件路径为:
html/user/favs.html
该页面主要用于展示用户收藏的视频、文章或其他类型的数据,并提供删除收藏记录的操作。
收藏记录数据怎么遍历
苹果CMS V10的收藏记录列表使用 $list 数组保存数据,模板中可以通过 ThinkPHP 的 volist 标签进行循环遍历。
{volist name="list"}
{$vo.ulog_id}
{$vo.data.name}
{/volist}在循环过程中,当前数据通常通过 $vo 获取。例如 {$vo.ulog_id} 可以获取收藏记录编号,{$vo.data.name} 可以获取对应数据名称。
苹果CMS列出用户收藏记录示例
下面是一份用户收藏列表模板示例,可以根据收藏数据类型显示对应名称和链接:
<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"}
{if condition="$vo.ulog_mid eq 1"}
<tr>
<td height="36" align="center" valign="middle" bgcolor="#FFFFFF">
<input type="checkbox" name="ids[]" 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">
{if condition="$vo.ulog_mid eq 1"}
<a target="_blank" href="{$vo.data.link}">[{$vo.data.type.type_name}] {$vo.data.name}</a>
{elseif condition="$vo.ulog_mid eq 2"}
<a target="_blank" href="{$vo.data.link}">[{$vo.data.type.type_name}] {$vo.data.name}</a>
{elseif condition="$vo.ulog_mid eq 3"}
<a target="_blank" href="{$vo.data.link}">{$vo.data.name}</a>
{/if}
</td>
<td align="center" valign="middle" bgcolor="#FFFFFF">
<a href="javascript:;" onclick="delData({$vo.ulog_id},0)" class="delete">删除</a>
</td>
</tr>
{/if}
{/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:2,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>ulog_mid用于判断收藏数据类型
示例代码中使用了 $vo.ulog_mid 判断当前收藏记录对应的数据模块。
ulog_mid eq 1:视频数据。ulog_mid eq 2:文章数据。ulog_mid eq 3:专题等其他模块数据。
因此,可以利用 {if}、{elseif} 对不同类型的数据采用不同的显示方式。
如何获取收藏名称和链接
收藏记录中的具体数据可以通过 $vo.data 获取。
例如:
{$vo.data.name}
{$vo.data.link}
{$vo.data.type.type_name}其中 {$vo.data.name} 用于获取收藏对象名称,{$vo.data.link} 用于获取对应页面地址,而 {$vo.data.type.type_name} 可以用于显示所属分类名称。
视频和文章使用分类名称时,可以在名称前面增加分类信息,例如:
<a target="_blank" href="{$vo.data.link}">
[{$vo.data.type.type_name}] {$vo.data.name}
</a>如果是第三类数据,则可以根据实际数据结构直接显示名称和链接。
用户收藏记录删除功能
除了显示收藏记录外,模板还可以提供删除按钮。示例中通过 delData() JavaScript 函数处理删除操作。
function delData(ids,all){
var msg ='删除';
if(all==1){
msg='清空';
}
if(confirm('确定要'+msg+'记录吗')){
$.post("{:url('user/ulog_del')}",{ids:ids,type:2,all:all},function(data) {
if (data.code == '1') {
alert('删除成功');
location.reload();
}else {
alert('删除失败:' + data.msg);
}
}, 'json')
}
}点击删除按钮时,会把当前收藏记录的 ulog_id 传递给删除函数:
<a href="javascript:;" onclick="delData({$vo.ulog_id},0)" class="delete">删除</a>其中第二个参数为 0,表示删除指定记录,而不是清空全部收藏记录。
苹果CMS如何批量删除收藏记录
如果页面提供了复选框,还可以利用 MAC.CheckBox.Ids('ids[]') 获取用户选中的记录ID。
$("#btnDel").click(function(){
var ids = MAC.CheckBox.Ids('ids[]');
if(ids==''){
alert("请至少选择一个数据");
return;
}
delData(ids,0);
});这样用户可以先勾选多个收藏记录,然后点击批量删除按钮,程序会将选中的ID提交给删除接口。
苹果CMS清空全部收藏记录
如果需要增加“清空收藏”功能,可以将 all 参数设置为 1:
$("#btnClear").click(function(){
delData('',1);
});此时 delData() 接收到的 all 参数为 1,脚本会将确认提示从“删除”修改为“清空”,然后提交请求。
修改收藏页面时需要注意什么
修改 html/user/favs.html 时,建议先备份原模板文件。尤其是删除收藏相关的 JavaScript 和接口地址不要随意删除,否则可能导致页面只能显示收藏记录,却无法正常执行删除操作。
另外,实际模板中如果对收藏数据进行了分页、排序或者其他扩展,需要根据当前苹果CMS版本的数据结构进行调整。不同版本、不同模板对用户收藏数据的二次处理也可能存在差异。
总结
苹果CMS V10用户收藏页面主要位于 html/user/favs.html,收藏数据通过 $list 数组提供,模板使用 {volist} 遍历,并通过 $vo 获取当前收藏记录。
在实际开发中,可以使用 ulog_mid 判断视频、文章等不同数据类型,再通过 $vo.data.name、$vo.data.link 等字段输出收藏内容。同时结合 user/ulog_del 删除接口和 MAC.CheckBox,即可实现单条删除、批量删除以及清空收藏记录等功能。
