好了,现在开始:扩展目录在 /library/think/paginator/driver 下,然后我们看到有一个 Bootstrap.php 文件,这个文件就是我们要进行扩展的“模版”类,当我们查看代码的时候,发现存在css class 的方法就那么几个,所以我们要修改(重写)的方法就是他们了,我再进行开发测试的时候用的是国产的妹子ui(妹子ui就是好用,虽然我也是第一次用),这样我就需要吧妹子ui 的分页样式给弄进去了
下面就是 妹子ui官方给出的分页样式代码
<ul class="am-pagination am-fr admin-content-pagination">
<li class="am-disabled"><a href="#">«</a></li>
<li class="am-active"><a href="#">1</a></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
<li><a href="#">5</a></li>
<li><a href="#">»</a></li>
</ul>然后我们就创建了一个 妹子ui的分页驱动类,他继承自Boostrap分页驱动<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: shenfakuan <sfk@live.cn>
// +----------------------------------------------------------------------
namespace think\paginator\driver;
use think\Paginator;
class Amazeui extends Bootstrap
{
/**
* 渲染分页html
* @return mixed
*/
public function render()
{
if ($this->hasPages()) {
if ($this->simple) {
return sprintf(
'<ul class="pager">%s %s</ul>',
$this->getPreviousButton(),
$this->getNextButton()
);
} else {
return sprintf(
'<ul class="am-pagination am-fr admin-content-pagination">%s %s %s</ul>',
$this->getPreviousButton(),
$this->getLinks(),
$this->getNextButton()
);
}
}
}
/**
* 生成一个可点击的按钮
*
* @param string $url
* @param int $page
* @return string
*/
protected function getAvailablePageWrapper($url, $page)
{
return '<li><a href="' . htmlentities($url) . '">' . $page . '</a></li>';
}
/**
* 生成一个禁用的按钮
*
* @param string $text
* @return string
*/
protected function getDisabledTextWrapper($text)
{
return '<li class="am-disabled"><a href="#">' . $text . '</a></li>';
}
/**
* 生成一个激活的按钮
*
* @param string $text
* @return string
*/
protected function getActivePageWrapper($text)
{
return '<li class="am-active"><a href="#">' . $text . '</a></li>';
}
}然后 关键的一部到了,你创建了一个分页样式驱动,但是系统怎么去找到他呢,然后我们看到在框架的全局配置文件中有一项配置(这两天才加的,如果你没有以上或下的这些东西赶紧使用composer更新一下吧): //分页配置
'paginate' => [
'type' => 'bootstrap',
'var_page' => 'page',
],我们把 bootstrap -> amazeui (大小写好像都行,估计是处理过了)放到你项目的config.php文件中 //分页配置
'paginate' => [
'type' => 'amazeui',
'var_page' => 'page',
],这样系统就知道你要用amazeui的分页驱动了看下效果吧

最佳答案