yii自带有分页的功能,网上能够搜索到相关的用法。
我之前遇到了分页链接需要定制的问题,一直没有搜索到用法,好不容易自己搞明白,在此标记下。
分页需要在controller里面实例化CPagination对象,这个对象有一个public属性-----route,这个属性默认是为空的,也就是分页的链接是以当前请求的url为准的。
我们可以给他赋值,yii就会以我们想要的地址去写分页链接的地址了。
比如:
//controller $pager = new CPagination; $pager->route = 'site/userlist'; //最终生成的地址会是:*******index.php?r=site/userlist //或者可以这样加上参数 $url = '&id=5&action=search'; $pager->route = 'site/userlist' . $url; //最终生成的地址会是:*******index.php?r=site/userlist&id=5&action=search
//view层不需要做任何改变
还有一种方法:
//controller $_GET['action'] = 'search'; $_GET['username'] = 'test';
$pager = new CPagination;
//假如你当前请求的地址是*****index.php?r=r=site/userlist
//那么最终生成的url会是*****index.php?r=r=site/userlist&action=search&username=test
//view层不需要做任何改变
这样像那种搜索结果的分页,需要保持搜索条件的情况下就会有用到了