苹果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,即可实现单条删除、批量删除以及清空收藏记录等功能。