任意页调用用户的收藏列表

2019-12-29 作者:torylf 分类:实用技巧 阅读:2012

在任意页面调用用户的收藏夹默认没有相关的数据调用,所以用fun来实现一个调用


fun函数文件:

<?php
namespace app\common\fun;
use think\Db;

class Favanylist
{
    /**
     * @param int $uid  收藏夹用户的uid
     * @param int $rows 每页显示多少行
     * @return array
     * @throws \think\exception\DbException
     */
    public static function getFavList($uid=0,$rows=15,$pages = false){
        $info = [];
        $favlist = Db::name('fav')->where('uid',$uid)->order('id desc')->paginate($rows);
        if($pages===true){
            return $favlist->render();
        }
        foreach ($favlist AS $key=>$value){
            $info[$key] = Content::info($value['aid'],$value['sysid'],true);
            $info[$key]['fav_id'] = $value['id'];
            $info[$key]['fav_time'] = $value['create_time'];
        }
        return $info;
    }
}


任意页模板调用

模板使用方法说明:
这个fun函数因为需要列出用户的收藏夹,所以用户的uid尤为重要,我们一般页面系统已经自带一个用户变量$userdb['uid']
所以只要把uid传过去即可
第2个参数,是每行显示多少条记录

还有第三个参数,是分页参数,如果数据比较多的情况下,可以传递第三个参数为true,这个时候就不是获取数据了,是获取分页码


{volist name=":fun('Favanylist@getFavList',$userdb['uid'],15)" id="vo"}
<div>
    id:{$vo.fav_id} <br>
    标题:<a href="{$vo.url}">{$vo.title}</a> <br>
    收录时间:{$vo.fav_time|format_time} <br>
    所属频道:{$vo.module_name} <br>
    所属栏目:<a href="{$vo.sort_url}">{$vo.sort_name}</a> <br>
</div>
{/volist}
 <!--注意这里的参数,一定要与上面获取的记录对应,否则分页就不准确了-->
{:fun('Favanylist@getFavList',$userdb['uid'],15,true)}


来源: 神盾工作室    转载请注明出处!

本文地址:https://www.shieldsoho.com/article/24.html

 标签: 齐博X1 实用技巧
{{item.nickname}} @回复
发表于{{item.create_time}}

  • {{replyitem.nickname}} {{item.create_time}}
    @{{item.nickname}}

查看更多评论