任意页调用用户的收藏列表
在任意页面调用用户的收藏夹默认没有相关的数据调用,所以用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)}
来源: 神盾工作室 转载请注明出处!
查看更多评论