2.TP6的入门-分页类的改写

看了看推荐的分页类的使用,还是很简单的,可是自己去尝试改写生成的分页类结构就会很麻烦,总是不成功,后来发现手册里面还有这个

 

 就说你想重写分页类,就需要这样做

赶紧实践了一下,先改这里的provider.php

 

 然后新建这个app/common/MyPaginator.php 然后在里面很简单写一下这个

复制代码
<?php
namespace app\common;

use think\paginator\driver\Bootstrap;

class MyPaginator extends Bootstrap 
{
    /**
     * 渲染分页html
     * @return mixed
     */
    public function render()
    {
        if ($this->hasPages()) {
            if ($this->simple) {
                return sprintf(
                    '<div class="pagination"><ul>%s %s</ul></div>',
                    $this->getPreviousButton(),
                    $this->getNextButton()
                );
            } else {
                return sprintf(
                    '<div class="pagination"><ul>%s %s %s</ul></div>',
                    $this->getPreviousButton(),
                    $this->getLinks(),
                    $this->getNextButton()
                );
            }
        }
    }
}
复制代码

只要做个继承,然后重写render方法即可.

然后控制器这边这样用

 

 页面上面直接 

{$pages|raw}
就行了.
这个模型的list_data可以这样写
复制代码
<?php
namespace app\model;

use think\Model;

class XXXModel extends Model
{
    protected $name = 'ticket';

    public function list_data(array $where = [])
    {
        return self::where($where)->field("id, status, add_time")->order('id', 'desc')->paginate(10);
    }
}
复制代码

则有就能生成分页了

效果如图

 如果这样写 paginate(10, true)

就能获得简单的分页 上一页 下一页那种

 

 看来还是要多看手册呢

posted @   李照耀  阅读(296)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
历史上的今天:
2016-09-05 无限极分类查找所有子孙节点的改进算法
点击右上角即可分享
微信分享提示