当我使用 CakePHP Paging 时,我得到一个这样的 url:
http://example.com/php/page:2
我必须在控制器、视图和 routes.php 中进行哪些更改才能创建这样的工作 url:
http://example.com/php/2
当我使用 CakePHP Paging 时,我得到一个这样的 url:
http://example.com/php/page:2
我必须在控制器、视图和 routes.php 中进行哪些更改才能创建这样的工作 url:
http://example.com/php/2
哦,是的,现在我看到了你的问题。好吧,您可以执行以下操作:
function index($page){
$this->paginate = array('page'=>$page);
$this->set('stuff', $this->paginate('YourControllerName'));
}
有关详细信息,请参见此处:http: //bakery.cakephp.org/articles/view/basic-pagination-overview-3
另外,当然你应该做一些验证页面是一个实际的数字,页面甚至会存在,但我认为这是它的基础。
关于路线和观点,我没有尝试过,但是看看蛋糕组的这些帖子,我想他们和你的问题相似。
http://www.mail-archive.com/cake-php@googlegroups.com/msg45878.html
我的猜测是这并不容易自动化,你肯定需要做一些调整。
对于初学者,您可能必须创建自己的分页器助手并继承默认的。从代码的外观来看,您需要覆盖 PaginatorHelper::__pagingLink() 中的链接生成代码,但可能还有 numbers() 和 prev() 等。因为它们都使用页面参数创建链接。
也许更好的方法是覆盖您的 AppHelper::url(),检查那里的“页面”参数并修改 url 以适应您的需求。
但是,我还没有尝试过所有这些,所以不能保证..