作者:老王
在
http://bakery.cakephp.org/里,我们目前能找到两种
cakephp的分页方式,分别是:
第一种:
Integrating Pear Pager
第二种:
Pagination
两个我都试用了一下,相比较而言,pagination差了很多,方便性上也差了很多。不过integration pear pager也有点小问题:从
官方下载的pager.php文件结尾竟然少了一个大括号(}),费了我半天劲儿才发现,还有一点,pager需要设置一下include_path环境
变量,至于在哪里设置include_path,cakephp并没有在配置
文件里给出一个合适的选项,从
源代码里,我们可以看到cakephp在webroot/index.php文件里进行了如下的设置:
ini_set('include_path', CAKE_CORE_INCLUDE_PATH . PATH_SEPARATOR . ROOT . DS . APP_DIR . DS . PATH_SEPARATOR . ini_get('include_path'));
当然,我们可以把vendors/Pear的绝对路径直接加进去,不过在这行的上面我们还能看到如下一段话:
引用:
///////////////////////////////
//DO NOT EDIT BELOW THIS LINE//
///////////////////////////////
也就是说cakephp不推荐你编辑下面的内容,那么我们还是遵守吧,这些自
定义代码最后选择添加到自定义的app/app_model.php文件中:
ini_set('include_path', '/path/to/vendors/Pear/' . PATH_SEPARATOR . ini_get('include_path'));
搞定了,剩下的就按照
Integrating Pear Pager介绍的来就可以了。
更新:最近把版本升级到1.2,发现控制器有一个paginate方法,而且视图里有了PaginatorHelper助手,有时间研究研究。