先吐槽一下ThinkPHP3.1版的分页样式,虽然看起来也很简单大方,但是所有的页码全是使用简单的数字,之间的空隙比较小,不大容易点,还有那个“前5页”和“后5页”显得有点多余,因为点击当前显示第一页的“上一页”按钮会自然出来前5页。3.1的分页效果是这个样子滴:

针对以上种种不太理想的情况,又加上最近学习了ThinkPHP5,在ThinkPHP5中提供了对BootStrap分页样式的完美支持,在thinkphp5中只要引入了BootStrap.css文件,在使用Controller中使用分页函数后,前台自然就会按照BootStrap的样式来显示,效果是这个样子滴:

而我开发顶求网的时候ThinkPHP5还没出来,使用的是3.1版本,那么在3.1版中如何才能使用BootStrap的分页组件呢?以下是解决办法:

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

    为了不影响核心文件(违反设计模式种的对修改封闭原则),我派生了一个子类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);

这样就可以使用我们上面的设置了,好了,搞定,新的分页显示效果如下:

本文首发于顶求网,转载请注明来源

打造简单实用的Thinkphp分页样式(Bootstrap版本)的更多相关文章

  1. 简单实用的php分页函数代码

    一个简单实用的php分页函数,分页导航中可以默认为空,在函数内部再设置本页URL. 代码: <?php /** * 分页 * @category 功能 * @param $totle:信息总数 ...

  2. 简单实用的jQuery分页插件

    在做商城和订单管理的时候,常常会用到分页功能,所以我封装了一个jQuery的分页插件,该插件主要实现上下翻页,输入数字跳转等功能. 具体实现如下: 输入参数需要当前页码pageNo,总页码totalP ...

  3. thinkphp分页样式

    html代码: <div class="pages">{$page}</div> css代码: .pages{ width:100.5%; text-ali ...

  4. thinkPHP 分页样式增加下拉列表

    $linkPage="  <select name='sldd' style='width:40px;height:30px;border:1px red block;' onchan ...

  5. thinkphp分页样式css代码

    <style type="text/css"> .Pagination a:hover,.current{background-color: #f54281;borde ...

  6. thinkphp 漂亮的分页样式

    ---恢复内容开始--- 首先:需要两个文件 page.class.php page.css 1.在TP原有的 page.class.php 文件稍作修改几条代码就可以了, 修改过的地方我会注释, 2 ...

  7. yii使用bootstrap分页样式

    Bootstrap是Twitter推出的一个开源的用于前端开发的工具包.它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架.Bootstra ...

  8. 简单实用的原生PHP分页类

    一款简单实用的原生PHP分页类,分页按钮样式简洁美观,页码多的时候显示“...”,也是挺多网站用的效果 核心分页代码 include_once("config.php"); req ...

  9. 基于Bootstrap简单实用的tags标签插件

    http://www.htmleaf.com/jQuery/ jQuery之家 自由分享jQuery.html5和css3的插件库 基于Bootstrap简单实用的tags标签插件

随机推荐

  1. Selenium1(RC)与Selenium2(WebDriver)的概念介绍

    最近网上学习了Selenium1和selenium2,自己做一些总结,方便以后查阅. 部分内容引用: http://www.cnblogs.com/hyddd/archive/2009/05/30/1 ...

  2. HTML5图片拖拽预览原理及实现

    一.前言 这两天恰好有一位同事问我怎样做一个图片预览功能.作为现代人的我们首先想到的当然是HTML5啦,其实HTML5做图片预览已经是一个老生常谈的问题了.我在这里就简单说说其中相关的一些东西,当然会 ...

  3. 关于Google Chorme中字体小于12px的问题

    问题:当字体大小设置成小于12px时,Google chrome中字体的大小始终显示为12px. 而其他浏览器则没有这个问题. 这时只需要在要改变字体大小的元素中添加 -webkit-transfor ...

  4. 【阿里云产品公测】在Laravel4框架中使用阿里云OCS缓存

    作者:阿里云用户 supechina Laravel 是我最近用得非常多而且越用就越喜欢的一款PHP框架,由于没有向下兼容的历史包袱,完全面向对象的风格,借助 Facades 优雅的 IoC Cont ...

  5. mysql优化方法

    1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽 ...

  6. spring--mybatis事务总结

    spring--事务原理.mybatis--MapperScannerConfigurer 和 mybatis--MapperProxy事务,最近想把spring mybatis中的事务和mapper ...

  7. java.util.concurrent.CountDownLatch

    闭锁是一种同步工具类,可以延迟线程的进度直到闭锁到达终止状态. 闭锁的作用相当于一扇门,在闭锁到达结束状态之前,这扇门一直是关闭的,任何线程都不能通过这扇门,当闭锁到达结束状态时,这扇门会打开并允许所 ...

  8. umbraco表单

    view Model定义类 controller 创建Form @HTML.RenderPartial(“”,)

  9. 初识 Asp.Net内置对象之Request对象

    Request对象 Request对象用于检索从浏览器向服务器所发送的请求信息.它提供对当前页请求的访问,包括标题,Cookie,客户端证书等等.它也与HTTP协议的请求消息对应. Request对象 ...

  10. 浮出层的css写法,完美兼容IE6~10

    利用元素间的绝对定位差一像素,使用不同颜色做出浮出层小三角的效果,完美兼容各浏览器! html部分: <div class="poptip"> <span cla ...