Thinkphp自带分页类样式转Bootstrap分页样式

2019-04-15 23:12:20      站长图库      177     

分享一段使用Thinkphp自带分页类样式转为Bootstrap分页样式的代码,首先我们看看效果图:

Thinkphp自带分页类样式转Bootstrap分页样式

无需改动tp的page类文件,只需把输出模板的html代码用我这个bootstrap_page_style函数替换即可变成Bootstrap分页样式

注意:我使用的tp框架为3.2.3、Bootstrap 为 v3.3.0 版本,其他版本大同小异,可以根据这个函数自行修改!

函数代码:

/**
 * Thinkphp默认分页样式转Bootstrap分页样式
 * @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);

怎么样?是不是很简单,喜欢的拿去用在自己的项目中吧^_^

TAGThinkphpBootstrap分页