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)

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

 

 看来还是要多看手册呢

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章