先吐槽一下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,该子类代码如下:
1
2
3
4
5
6
7
8
9
10
11
|
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)中使用该子类来建立分页对象即:
1
|
$page = new listpage( $count ,5);
|
这样就可以使用我们上面的设置了,好了,搞定,新的分页显示效果如下:
以上所述是小编给大家介绍的thinkphp和bootstrap结合打造个性的分页样式(推荐),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://www.cnblogs.com/nerd/p/5717808.html