注意:我使用的tp框架为3.2.3、Bootstrap 为 v3.3.0 版本,其他版本大同小异,可以根据这个函数自行修改!
函数代码:
/**
* Thinkphp默认分页样式转Bootstrap分页样式
* @author H.W.H
* @param string $page_html tp默认输出的分页html代码
* @return string 新的分页html代码
*/
function bootstrap_page_style($page_html){
if ($page_html) {
$page_show = str_replace('<div>','<nav><ul class="pagination">',$page_html);
$page_show = str_replace('</div>','</ul></nav>',$page_show);
$page_show = str_replace('<span class="current">','<li class="active"><a>',$page_show);
$page_show = str_replace('</span>','</a></li>',$page_show);
$page_show = str_replace(array('<a class="num"','<a class="prev"','<a class="next"','<a class="end"','<a class="first"'),'<li><a',$page_show);
$page_show = str_replace('</a>','</a></li>',$page_show);
}
return $page_show;
}
css代码
.hwh-page-info a{color: #CCC;}.hwh-page-info a em{font-style: normal;margin: 0 2px;}
使用实例代码:
$Page->lastSuffix = false;//最后一页不显示为总页数
$Page->setConfig('header','<li class="disabled hwh-page-info"><a>共<em>%TOTAL_ROW%</em>条 <em>%NOW_PAGE%</em>/%TOTAL_PAGE%页</a></li>');
$Page->setConfig('prev','上一页');
$Page->setConfig('next','下一页');
$Page->setConfig('last','末页');
$Page->setConfig('first','首页');
$Page->setConfig('theme','%HEADER% %FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%');
$page_show = bootstrap_page_style($Page->show());//重点在这里
$this->assign('page_show'=>$page_show);