ThinkPHP 整合bootstrap分页
2015-10-14 17:05
288 查看
ThinkPHP框架自带的分页样式是:
而bootstrap的分页样式是:
修改/ThinkPHP/Library/Think/Page.class.php文件中的分页样式:
控制器代码:
视图代码:
显示效果如下图:
带参数分页:$page->parameter表示分页跳转时的参数
另外,此时的关键字需通过get方法获取,post方法时,分页跳转不能保存参数。
<div> <a href="#"></a> <a href="#"></a> <a href="#"></a> <a href="#"></a> </div>
而bootstrap的分页样式是:
<div class="modal-footer no-margin-top"> <ul class="pagination pull-right no-margin"> <li class="prev disabled"> <a href="#"> <i class="icon-double-angle-left"></i> </a> </li> <li class="active"> <a href="#">1</a> </li> <li> <a href="#">2</a> </li> <li> <a href="#">3</a> </li> <li class="next"> <a href="#"> <i class="icon-double-angle-right"></i> </a> </li> </ul> </div>
修改/ThinkPHP/Library/Think/Page.class.php文件中的分页样式:
//上一页 $up_row = $this->nowPage - 1; $up_page = $up_row > 0 ? '<li class="prev"><a href="' . $this->url($up_row) . '">' . $this->config['prev'] . '</a></li>' : '<li class="prev disabled"><a href="#">' . $this->config['prev'] . '</a></li>'; //下一页 $down_row = $this->nowPage + 1; $down_page = ($down_row <= $this->totalPages) ? '<li class="next"><a href="' . $this->url($down_row) . '">' . $this->config['next'] . '</a></li>' : '<li class="next disabled"><a href="#">' . $this->config['next'] . '</a></li>'; //第一页 $the_first = ''; if($this->totalPages > $this->rollPage && ($this->nowPage - $now_cool_page) >= 1){ $the_first = '<li><a href="' . $this->url(1) . '">' . $this->config['first'] . '</a></li>'; } //最后一页 $the_end = ''; if($this->totalPages > $this->rollPage && ($this->nowPage + $now_cool_page) < $this->totalPages){ $the_end = '<li><a href="' . $this->url($this->totalPages) . '">' . $this->config['last'] . '</a></li>'; } //数字连接 $link_page = ""; for($i = 1; $i <= $this->rollPage; $i++){ if(($this->nowPage - $now_cool_page) <= 0 ){ $page = $i; }elseif(($this->nowPage + $now_cool_page - 1) >= $this->totalPages){ $page = $this->totalPages - $this->rollPage + $i; }else{ $page = $this->nowPage - $now_cool_page_ceil + $i; } if($page > 0 && $page != $this->nowPage){ if($page <= $this->totalPages){ $link_page .= '<li><a href="' . $this->url($page) . '">' . $page . '</a></li>'; }else{ break; } }else{ if($page > 0 && $this->totalPages != 1){ $link_page .= '<li class="active"><a href="' . $this->url($page) . '">' . $page . '</a></li>'; } } } //替换分页内容 $page_str = str_replace( array('%HEADER%', '%NOW_PAGE%', '%UP_PAGE%', '%DOWN_PAGE%', '%FIRST%', '%LINK_PAGE%', '%END%', '%TOTAL_ROW%', '%TOTAL_PAGE%'), array($this->config['header'], $this->nowPage, $up_page, $down_page, $the_first, $link_page, $the_end, $this->totalRows, $this->totalPages), $this->config['theme']); return "<ul class='pagination pull-right no-margin'>{$page_str}</ul>";
控制器代码:
/*计算总页数*/ $pagesize = 3; // 每页记录数 $count = $user->where('tag=0 AND status=0')->count(); $Page = new \Think\Page($count, $pagesize); // 实例化分页类 $show = $Page->show(); // 分页显示输出 $this->assign('page',$show); // 赋值分页输出 /*进行分页数据查询*/ $data = $user->where('tag=0 AND status=0')->limit($Page->firstRow.','.$Page->listRows)->select(); $this->data = $data;
视图代码:
<div class="modal-footer no-margin-top">{$page}</div>
显示效果如下图:
带参数分页:$page->parameter表示分页跳转时的参数
另外,此时的关键字需通过get方法获取,post方法时,分页跳转不能保存参数。
相关文章推荐
- 在本地创建angular-ui/bootstrap项目
- 获取Bootstrap-Table的所有内容,修改行内容
- Bootstrap-Table 选择行内容变为json对象
- bootstrapValidator.js,最好用的bootstrap表单验证插件
- SSH和BootStrap-table分页
- bootstrap的select2校验及不影响原来的格式
- bootstrapValidator.js,最好用的bootstrap表单验证插件
- Angular+Bootstrap3导航菜单
- laydate兼容bootstrap
- Bootstrap 内核引用(一)
- bootstrap笔记-布局
- bootstrap笔记-栅格布局
- Bootstrap 起步(OS X)
- 根据Bootstrap的Modal开发的提示框
- bootstrap-switch.js,让checkbox美起来
- HTML/CSS(一)Bootstrap btn
- bootstrap-switch.js,让checkbox美起来
- Bootstrap 编码规范
- 关于Bootstrap 模态框的产生使用
- bootstrap 3 中表单元素的写法 ---- 重点是 input file 元素的