基本参数
pagination($perPage, $page)
$perPage每页数,$page当前页数
$pagination = new \startmvc\core\Pagination;
$pagination->theme = '%header% %first% %prev% %link% %next% %last%'; //可选,设置页码格式,%……%对应的是下面的各属性,%link%为数字页码
$pagination->header = '共 %count% 条记录 第 %page% / %pageCount% 页'; //可选,%count%为数据总数,%page%为当前页,%pageCount%为总页数
$pagination->first = '首页'; //可选,首页链接字符
$pagination->last = '末页'; //可选,末页链接字符
$pagination->prev = '上一页'; //可选,上一页链接字符
$pagination->next = '下一页'; //可选,下一页链接字符
$pagination->currentClass = 'current'; //可选,当前页的数字页码链接CSS类
$pageShow = $pagination->Show(500, 10, 1, 'home/index/list?page={page}', 10);
/*
参数
@count:int 数据总条数
@pageSize: int 每页数据条数
@page: int 当前页数
@url: string 页码链接,用{page}替换页数
@showCount: int 可选,数字页码显示数量,默认10
*/
echo $pageShow;
除了通过上面对象传参外,也可以通过配置进行参数设定,文件位于config/pagination.php
//分页配置
return [
'theme' => '%header% %first% %prev% %link% %next% %last%',//分页样式
'header' => 'Total %count% Page %page% / %pageCount%',//分页头部
'first' => '首页',//首页
'last' => '末页',//末页
'prev' => '上一页',//上一页
'next' => '下一页',//下一页
'currentClass' => 'is-current',//当前页码类
];
分页实例
namespace app\home\controller;
use app\common\BaseController;
class ArticleController extends BaseController{
public function indexAction(int $page=1)
{
$page=$page?:1;
$data['article_list']=$this->db->table('article')->pagination(10,$page)->getAll();
$pagination = new \startmvc\core\Pagination;
$data['pageShow'] = $pagination->Show(100, 10, $page, '/log/index/{page}', 5);
$this->view($data);
}
}
视图代码
<ul>
<!--?php foreach($article_list as $v){?-->
<li><a href="/"><!--?=$v['title']?--></a></li>
<!--?php }?-->
</ul>
<div class="pages">
<!--?=$pageShow?-->
</div>
效果图