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

查看更多评论