zoukankan      html  css  js  c++  java
  • 打造简单实用的Thinkphp分页样式(Bootstrap版本)

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

    QQ图片20160729113016.png

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

    tp5p.png

    而我开发顶求网的时候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);

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

    newp.png

    newp1.png

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

  • 相关阅读:
    案例3:歌舞娱乐放映游艺建筑防火案例分析(一)
    案例2:丙类仓库建筑防火案例分析
    第三篇 第八章泡沫灭火系统(二)
    第三篇 第七章气体灭火系统(三)
    FreeMarker 语法 null 的处理
    FreeMarker 语法 date 类型处理
    FreeMarker 语法 list
    FreeMarker 语法 访问 pojo 的属性
    mysql 去重
    FreeMarker hello
  • 原文地址:https://www.cnblogs.com/nerd/p/5717808.html
Copyright © 2011-2022 走看看