*这里为了开发方便,先设置自动跳转到user模块中:
return redirect(url('/user'));
设置路由后的user页面访问路径为:
进行重定向之后,访问user页面的路径就直接变成了:
分页设计
先了解下Bootstrap分页效果的html设置:
<!--Bootstrap分页效果-->
<ul class="pagination">
<li class="page-item">
<a class="page-link" href="#">
...
</a>
</li>
</ul>
框架提供了分页的方法,但是样式被写死了:
// 在资源控制器页面
UserModel::order('id', 'asc')->paginate(5)
// 在前端页面
{$list|raw}
我们可以通过对框架提供的分页方法来实现分页的样式修改,目录如下:
vendor/topthink/src/paginate/dirver/Bootstrap.php
以此为模板,我们可以自己写一个分页类,在app/common中创建Bootstrap.php文件,将上面文件的代码直接复制过来进行修改。
那么,这时候框架怎么知道你到底是用common下的Bootstrap.php还是vendor下的Bootstrap.php呢?这里则需要做一个配置,打开app/provider.php,注册自定义的分页类:
// 容器Provider定义文件
return [
'think\Paginator' => 'app\common\Bootstrap'
];
在自定义的分页类里面,找到相关html标签,修改成Bootstrap样式即可。举个例子:
/**
* 生成一个可点击的按钮
*
* @param string $url
* @param string $page
* @return string
*/
protected function getAvailablePageWrapper(string $url, string $page): string
{
return '<li class="page-item"><a href="' . htmlentities($url) . '" class="page-link">' . $page . '</a></li>';
}
在这些方法中,return的值都是标签页面,我们可以提前引入css文件,然后直接对标签添加对应的class即可:
<li class="page-item">