分页出现问题

来源:5-4 利用tp5分页机制处理列表页

小叶情宇

2017-05-07

老师你好,根据你上课讲的内容,做分页的时候显示一级列表都没有问题,当点击获取子工具栏,显示第一页是没有问题的,当接着点击子分页的第二页,就发现返回的数据是一级分类的第二页,我初步看看可能是parent_id传入的是0造成的,怎么解决这问题呢?

http://szimg.mukewang.com/590eee230001873410590586.jpg

http://szimg.mukewang.com/590eee230001a76811740601.jpg

http://szimg.mukewang.com/590eee230001c77511560601.jpg

http://szimg.mukewang.com/590eee250001aaec13190501.jpg


写回答

5回答

singwa

2017-05-08

方法如下这样使用,这个再后面有单独的讲解。祝你学习愉快

/**
 * 通用的分页样式
 * @param $obj
 */
function pagination($obj) {
    if(!$obj) {
        return '';
    }
    // 优化的方案
    $params = request()->param();
    return '<div class="cl pd-5 bg-1 bk-gray mt-20 tp5-o2o">'.$obj->appends($params)->render().'</div>';
}


0
0

singwa

2017-05-08

您好,后面有讲解

0
0

singwa

2017-05-08

您parent_id参数是否传递正确

0
1
小叶情宇
老师你好 我是根据的视频一点一点看的,也没有发现你在点击页码的时候传递parent_id呀,我觉得老师您的代码也会存在这个的问题的,当我们点击页码的时候,发现tp5自动的将页码值传递过去了,如果是一级分类是没有问题的,因为parent_id默认值就是0吗,当我们进入获取子栏目二级分类列表的时候,点击第二页,发现tp5传入的page=2是没有问题,关键是我们还是少个参数parent_id,想问下老师当点击页码的时候如何传入parent_id呢,如何拿到tp5提供的分页传入参数呢?要不然怎么传参数呢
2017-05-08
共1条回复

慕粉3924495

2017-05-08

搞了1个小时,终于解决了

主要是因为你在二级分类列表中,分页按钮URL没有带你子分类ID参数,所以每次当你要跳转下一页的时候,执行了$parent_id = input('get.parent_id', 0, 'intval');,这个时候parent_id又等于0了,所以又变成了一级分类

更改category model里的分页方法

return $this->where($data)->order($order)->paginate(2, false, ['query' => ['parent_id' => $parent_id]]);

这样你就会发现你render()出来的url就会带上parent_id了

0
1
小叶情宇
谢谢你!知道了
2017-05-08
共1条回复

小叶情宇

提问者

2017-05-08

老师你好

我是根据的视频一点一点看的,也没有发现你在点击页码的时候传递parent_id呀,我觉得老师您的代码也会存在这个的问题的,当我们点击页码的时候,发现tp5自动的将页码值传递过去了,如果是一级分类是没有问题的,因为parent_id默认值就是0吗,当我们进入获取子栏目二级分类列表的时候,点击第二页,发现tp5传入的page=2是没有问题,关键是我们还是少个参数parent_id,想问下老师当点击页码的时候如何传入parent_id呢,如何拿到tp5提供的分页传入参数呢?要不然怎么传参数呢

0
0

Thinkphp5.0仿百度糯米开发多商家电商平台

【毕设】BAT大牛亲授ThinkPHP 5.0,实战中学透新技能,应用于工作

2439 学习 · 1711 问题

查看课程