这是我修改后的分页类 为的是适应AdminTlE 模板 这是AdminTLE调用分类生成的信息
<ul class=\"pagination pagination-bg no-margin pull-right\"> {$page} </ul>
实际生成的代码是
<ul class=\"pagination pagination-bg no-margin pull-right\"> <li><a class=\"prev\" href=\"/index.php/Admin/Message/request/p/1.html\"><<</a></li> <li><a class=\"num\" href=\"/index.php/Admin/Message/request/p/1.html\">1</a></li> <li class=\"current\"><a href=\"#\">2</a></li> <li><a class=\"num\" href=\"/index.php/Admin/Message/request/p/3.html\">3</a></li> <li><a class=\"num\" href=\"/index.php/Admin/Message/request/p/4.html\">4</a></li> <li><a class=\"num\" href=\"/index.php/Admin/Message/request/p/5.html\">5</a></li> <li><a class=\"next\" href=\"/index.php/Admin/Message/request/p/3.html\">>></a></li> </ul>
效果为:
以下是Page.class.php的Show() 方法
/** * 组装分页链接 * @return string */ public function show() { if(0 == $this->totalRows) return \'\'; /* 生成URL */ $this->parameter[$this->p] = \'[PAGE]\'; $this->url = U(ACTION_NAME, $this->parameter); /* 计算分页信息 */ $this->totalPages = ceil($this->totalRows / $this->listRows); //总页数 if(!empty($this->totalPages) && $this->nowPage > $this->totalPages) { $this->nowPage = $this->totalPages; } /* 计算分页临时变量 */ $now_cool_page = $this->rollPage/2; $now_cool_page_ceil = ceil($now_cool_page); $this->lastSuffix && $this->config[\'last\'] = $this->totalPages; //上一页 $up_row = $this->nowPage - 1; $up_page = $up_row > 0 ? \'<li><a class=\"prev\" href=\"\' . $this->url($up_row) . \'\">\' . $this->config[\'prev\'] . \'</a></li>\' : \'\'; //下一页 $down_row = $this->nowPage + 1; $down_page = ($down_row <= $this->totalPages) ? \'<li><a class=\"next\" href=\"\' . $this->url($down_row) . \'\">\' . $this->config[\'next\'] . \'</a></li>\' : \'\'; //第一页 $the_first = \'\'; if($this->totalPages > $this->rollPage && ($this->nowPage - $now_cool_page) >= 1){ $the_first = \'<li><a class=\"first\" 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 class=\"end\" 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 class=\"num\" href=\"\' . $this->url($page) . \'\">\' . $page . \'</a></li>\'; }else{ break; } }else{ if($page > 0 && $this->totalPages != 1){ $link_page .= \'<li class=\"current\"><a href=\"#\">\' . $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 \"{$page_str}\"; }