• thinkphp 分页类介绍


    thinkphp 中的分页类在我看来还是很强大的,使用起来也是很方便的。只要传总的条数,和每页显示的条数,还有样式配置数组,你就可以轻松显示分页,而且可以方便的调整前台页数代码的样式。


    下面介绍一下一些配置参数:

        public $firstRow; // 起始行数
        public $listRows; // 列表每页显示行数
        public $parameter; // 分页跳转时要带的参数
        public $totalRows; // 总行数
        public $totalPages; // 分页总页面数
        public $rollPage   = 11;// 分页栏每页显示的页数
        public $lastSuffix = true; // 最后一页是否显示总页数


        private $p       = 'p'; //分页参数名
        private $url     = ''; //当前链接URL
        private $nowPage = 1;//默认第一页


    我们一般新建对象的时候为:


    $Page=new ThinkPage($count,25);// 实例化分页类 传入总记录数和每页显示的记录数(25)

    $show= $Page->show();// 分页显示输出

    $count 为总的页数,25为每页显示的记录数。


    这里没有进行任何配置输出的效果也是默认的,我们可以进行一些调整,比如:

    $Page->rollPage = 5,这样就最多显示5个分页数目,

    $Page->lastSuffix=false;//这个参数是让他最后一页不显示总的数目。因为我们可以通过header来显示总的数目。


    // 分页显示定制
        private $config  = array(
            'header' => '<span class="rows">共 %TOTAL_ROW% 条记录</span>',
            'prev'   => '<<',
            'next'   => '>>',
            'first'  => '1...',
            'last'   => '...%TOTAL_PAGE%',
            'theme'  => '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%',
        );


    这里是分页样式默认的数组,我们可以通过攒地新的值来覆盖它们,

    通过

    public function setConfig($name,$value) {
            if(isset($this->config[$name])) {
                $this->config[$name] = $value;
            }
        }


    这个函数我们可以把这些默认覆盖,比如theme里面没有header的信息,我们可以加入%HEADER% 来让他显示出来。而header的内容也可以通过一个key为header的数组来覆盖。其他的参数都是类似的,说明一下,theme里面我们可以自己调整header的位置,而不是固定在前面或者后面,用起来很灵活。


    下面说明一下,thinkphp这个分页类是如何通过配置文件来修改它的样式的。


    $page_str = str_replace(
                array('%HEADER%', '%NOW_PAGE%', '%UP_PAGE%', '%DOWN_PAGE%', '%FIRST%', '%LINK_PAGE%', '%END%', '%TOTAL_ROW%', '%TOTAL_PAGE%'),
                array($this->config['header'], $this->nowPage, $up_page, $down_page, $the_first, $link_page, $the_end, $this->totalRows, $this->totalPages),
                $this->config['theme']);


    这个str_replace可以说是分页类的一个设计精华之处,首先前面将类的各个属性的值分开赋值,最后调用这个函数,读取config中的theme来表示要显示的内容,而其中的变量是通过按照对应的数组来替换的,就实现了将config中的theme(可以子集覆盖默认的theme)来控制如何显示分页及内容顺序。


    最后就是thinkphp将常用的前一页,后一页,第一页,当前页都加了默认class,所以我们引入一个css文件就可以改变他的样式了。




  • 相关阅读:
    3.8快乐
    只剩一个人了
    需求分析
    再也不看皇马比赛
    最近蛮忙,没头绪
    ↗☻【响应式Web设计 HTML5和CSS3实战 #BOOK#】第5章 CSS3:选择器、字体和颜色模式
    ↗☻【高性能网站建设进阶指南 #BOOK#】第12章 尽早刷新文档的输出
    ↗☻【响应式Web设计 HTML5和CSS3实战 #BOOK#】第4章 响应设计中的HTML5
    ↗☻【JavaScript】code
    ↗☻【高性能网站建设进阶指南 #BOOK#】第11章 划分主域
  • 原文地址:https://www.cnblogs.com/itdreamfly/p/12871624.html
Copyright © 2020-2023  润新知