构建简单实用的Thinkphp分页样式(Bootstrap版本)

先吐槽一下ThinkPHP3.1版的分页样式,就算看起来也很简短大方,不过全数的页码全是选取简便的数字,之间的当儿相比较小,相当的小不难点,还有尤其“前5页”和“后5页”显得有点多余,因为点击当前显示第1页的“上一页”按钮会自然出来前5页。3.1的分页效果是其一样子滴:

Bootstrap 1

针对上述各类不太如愿以偿的情状,又增加方今上学了ThinkPHP5,在ThinkPHP第55中学提供了对BootStrap分页样式的完美协理,在thinkphp5中只要引入了BootStrap.css文件,在应用Controller中应用分页函数后,前台自然就会服从BootStrap的样式来显示,效果是以此样子滴:

Bootstrap 2

而笔者付出顶求网的时候ThinkPHP5还没出去,使用的是3.1版本,那么在3.1版中如何才能应用BootStrap的分页组件呢?以下是化解办法:

  1. 派生thinkphp的原生page.class.php类

    Bootstrap,为了不影响基本文件(违反设计格局种的对修改封闭原则),小编派生了1个子类ListPage,该子类代码如下:

 import('ORG.Util.Page');// 导入分页类
 class ListPage extends  Page
 {//针对本系统User控制器特点重写Page类中相关函数
  
 /**
     * 分页显示输出
     * @access public
     */
   protected $config  = array('header'=>'条记录','prev'=>'<','next'=>'>',
   'first'=>'<<','last'=>'>>',
   'theme'=>'%first%  %upPage%  %linkPage% %downPage%  %end%');
   ……

能够见见,首早先入宗旨类所处的文件,然后就能够大胆的派生了,而那边只列出了骨干代码。大家只必要修改page类中的Config变量就足以了,在子类中重写该变量为地点的花样,然后再拥有Action(Controller)中运用该子类来树立分页对象即:

$Page=new ListPage($count,5);

那般就足以应用咱们地点的安装了,好了,解决,新的分页展现效果如下:

Bootstrap 3

Bootstrap 4

正文首发于顶求网,转发请申明来源

相关文章