基本使用
收藏必须登录注册会员,否则无法使用。
2.0
开始重构了收藏模型,收藏内容存储在shouchang
表里面。
输出某人收藏列表
假设用户ID=1
{loop table="shouchang" userid="1" as="v"}
{php
//由于数据库仅存储栏目ID和内容ID,需要根据栏目ID获取模型标识,再通过模型获取对应的内容
//模型标识:$classtypedata[$v['tid']]['molds']
$info = M($classtypedata[$v['tid']]['molds'])->find(['id'=>$v['aid']]);
/}
标题:{$info['title']}
缩略图:{$info['litpic']}
内容:{$info['body']}
...
如果是当前用户呢?将
userid="1"
换成userid="$member['id']"
收藏JS
function collect(tid,id){
$.ajax({
url:"{fun U('user/collectAction')}",//请求的url地址
dataType:"json",//返回格式为json
async:true,//请求是否异步,默认为异步,这也是ajax重要特性
data:{tid:tid,id:id,ajax:1},//参数值
type:"POST",//请求方式
beforeSend:function(){
//请求前的处理
},
success:function(r){
if(r.code==0){
alert(r.msg);
window.location.reload();
}else{
alert(r.msg);
}
},
complete:function(){
//请求完成的处理
},
error:function(){
//请求出错处理
alert('网络错误');
}
})
}
判断是否收藏
{if(checkCollect($type['id'],$jz['id']))}
<span style="color:#f00;cursor:pointer;" onclick="collect({$type['id']},{$jz['id']})">已收藏</span>
{else}
<span style="color:gray;cursor:pointer;" onclick="collect({$type['id']},{$jz['id']})">收藏</span>
{/if}
显示收藏数
内容页显示
{fun jz_collect($jz['tid'],$jz['id'])}
其他页面需要根据前后文情景而定,如果上面刚好是
as="v"
,则下面输出:
{fun jz_collect($v['tid'],$v['id'])}