Thinkphp和Bootstrap结合打造个性的分页样式(推荐)


Posted in PHP onAugust 01, 2016

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

3.1的分页效果是这个样子滴:

Thinkphp和Bootstrap结合打造个性的分页样式(推荐)

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

Thinkphp和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结合打造个性的分页样式(推荐)

Thinkphp和Bootstrap结合打造个性的分页样式(推荐)

以上所述是小编给大家介绍的Thinkphp和Bootstrap结合打造个性的分页样式(推荐),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
PHP编实现程动态图像的创建代码
Sep 28 PHP
php知道与问问的采集插件代码
Oct 12 PHP
php入门学习知识点七 PHP函数的基本应用
Jul 14 PHP
PHP实现多图片上传类实例
Jul 26 PHP
Zend Framework 2.0事件管理器(The EventManager)入门教程
Aug 11 PHP
php获取一个变量的名字的方法
Sep 05 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
Jan 07 PHP
thinkphp分页实现效果
Oct 13 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
Apr 04 PHP
PHP的PDO预处理语句与存储过程
Jan 27 PHP
php模式设计之观察者模式应用实例分析
Sep 25 PHP
基于PHP实现生成随机水印图片
Dec 09 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
Aug 01 #PHP
利用PHP自动生成印有用户信息的名片
Aug 01 #PHP
php+ajax登录跳转登录实现思路
Jul 31 #PHP
nginx下安装php7+php5
Jul 31 #PHP
header与缓冲区之间的深层次分析
Jul 30 #PHP
laravel学习教程之关联模型
Jul 30 #PHP
laravel学习教程之存取器
Jul 30 #PHP
You might like
咖啡知识 除了喝咖啡还有那些知识点
2021/03/06 新手入门
用PHP实现小型站点广告管理(修正版)
2006/10/09 PHP
Symfony数据校验方法实例分析
2015/01/26 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
2018/03/30 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
详解基于vue的移动web app页面缓存解决方案
2017/08/03 Javascript
微信小程序实现下拉刷新和轮播图效果
2017/11/21 Javascript
Vue.js devtool插件安装后无法使用的解决办法
2017/11/27 Javascript
vue.js项目nginx部署教程
2018/04/05 Javascript
微信小程序上传图片实例
2018/05/28 Javascript
WebGL three.js学习笔记之阴影与实现物体的动画效果
2019/04/25 Javascript
vue渲染方式render和template的区别
2020/06/05 Javascript
javascript实现前端成语点击验证优化
2020/06/24 Javascript
如何实现echarts markline标签名显示自己想要的
2020/07/20 Javascript
[02:12]打造更好的电竞完美世界:完美盛典回顾篇
2018/12/19 DOTA
Python中实现字符串类型与字典类型相互转换的方法
2014/08/18 Python
python实现数组插入新元素的方法
2015/05/22 Python
Windows下Python2与Python3两个版本共存的方法详解
2017/02/12 Python
Python数据分析之如何利用pandas查询数据示例代码
2017/09/01 Python
Python入门之三角函数sin()函数实例详解
2017/11/08 Python
python编程培训 python培训靠谱吗
2018/01/17 Python
python 利用栈和队列模拟递归的过程
2018/05/29 Python
opencv导入头文件时报错#include的解决方法
2019/07/31 Python
Pytorch中Tensor与各种图像格式的相互转化详解
2019/12/26 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
2020/02/25 Python
解决python便携版无法直接运行py文件的问题
2020/09/01 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
Linux管理员面试经常问道的相关命令
2013/04/29 面试题
毕业生多媒体设计求职信
2013/10/12 职场文书
出纳岗位职责范本
2013/12/01 职场文书
会计员岗位职责
2014/03/15 职场文书
大学生军训自我鉴定范文
2014/09/18 职场文书
话题作文之关于呼唤
2019/11/29 职场文书
MySQL 全文索引使用指南
2021/05/25 MySQL
Vue CLI中模式与环境变量的深入详解
2021/05/30 Vue.js
Go中的条件语句Switch示例详解
2021/08/23 Golang