Pagination(分页)使用说明
DoitPHP扩展类Pagination用于处理页面的分页。
类方法使用说明
1、total($totalNum = null)
|设置总列表数
|参数说明:
|$totalNum : 总列表数
2、url($url = null)
|设置分页跳转的网址
|参数说明:
|$url : 分页跳转的网址
3、page($page = null)
|设置当前的页数
|参数说明:
|$page : 当前的页数
4、num($num = null)
|设置每页显示的列表数
|参数说明:
|$num : 每页显示的列表数
5、getArray()
|输出分页数组
|参数说明:
|参数为空
6、center($num)
|设置分页列表的重心,本方法不常用
|参数说明:
|$num : 分页列表重心(即:页数)
7、circle($num)
|设置分页列表的列表数,默认为10。
|参数说明:
|$num : 分页列表的列表数
8、hide($item = true)
|开启分页的隐藏功能,即:当分页只有一页时,分页是不显示的。只有当分页数大于1时,才有数据显示。
|参数说明:
|$item : 隐藏开关 , 默认为true
使用举例
例一、常用实例
Controller文件代码如下:
- public function indexAction() {
- $page = $this->get('page', 1);
- $linkUrl = $this->getSelfUrl() . '/?page=';
- $pagerObj = $this->instance('Pagination');
- $pageList = $pagerObj->total(100)->num(10)->page($page)->url($linkUrl)
- ->getArray();
- $this->assign('pager', $pageList);
- $this->display();
- }
视图文件代码如下:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>分页演示</title>
- </head>
- <body>
- <!-- 分页 -->
- <?php if(is_array($pager) && $pager) { ?>
- <ul class="pager">
- <?php foreach($pager['page_list'] as $row) { ?>
- <?php if($row['is_current']== 1) { ?>
- <li class="active"><span><?php echo $row['page_number']; ?></span></li>
- <?php } else { ?>
- <li><a href="<?php echo $row['page_url']; ?>"><?php echo $row['page_number']; ?></a></li>
- <?php } ?>
- <?php } ?>
- <li><a href="#">下一页</a></li>
- </ul>
- <?php } ?>
- <!-- /分页 -->
- </body>
- </html>
附:将Controller代码的$pageList变量如果进行$this->dump($pageList);
, 就会知道这个变量的数组结构如下:
- Array
- (
- [num_items] => 60
- [per_page] => 20
- [num_pages] => 3
- [page] => 3
- [is_previous] => 1
- [first_page] => Array
- (
- [page_number] => 第一页
- [page_url] => /member/list/?page=1
- )
- [previous_page] => Array
- (
- [page_number] => 上一页
- [page_url] => /member/list/?page=2
- )
- [is_next] => 0
- [page_list] => Array
- (
- [1] => Array
- (
- [page_number] => 1
- [is_current] => 0
- [page_url] => /member/list/?page=1
- )
- [2] => Array
- (
- [page_number] => 2
- [is_current] => 0
- [page_url] => /member/list/?page=2
- )
- [3] => Array
- (
- [page_number] => 3
- [is_current] => 1
- [page_url] => /member/list/?page=3
- )
- )
- )
下面就将此数组字段信息说明一下:
注:为了便于在视图文件中调用,数组字段均统一为小写字母+下划线组合。
num_items:信息列表总数,per_page:每页显示的信息列表数,num_pages:共多少页,page:当前页,is_previous:是否存在上一页(是:1/否:0) is_next:是否存在下一页(是:1/否:0) first_page:第一页,previous_page:上一页,next_page:下一页,last_page:最后一页,page_list:分页列表(如:1, 2, 3…),is_current:是否为当前页,(是:1/否:0)page_number:分页列表的页数,page_url:分页列表内容的链接。
有了上面这些信息,在处理视图文件内容的分页部分(进行变量赋值),就游刃有余了。
原文: http://www.doitphp.com/index/documentation/?articleid=31