收藏功能

来源:官方· 作者 jizhicms· 15次点击 · 5个月前

基本使用

收藏必须登录注册会员,否则无法使用。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'])}


被收藏 0  ∙  0 赞  
加入收藏
0 回复  
善言善语 (您需要 登录 后才能回复 没有账号 ?)

请先登录网站