在为这个问题创建赏金后不久,我使用 CakePHP 2.2.4 找到了我的问题的解决方案。我试图完成相同的任务,但使用 2.2.4 版本而不是 2.0。基本上,如果我有一个看起来像http://www.domain.com/articles/page:last的链接,控制器的分页方法将知道要转到哪个页面并显示该页面的正确结果(文章)。例如,如果我有 110 篇文章并且分页限制设置为 25,通过转到该 URL,它将显示第 5 页,共 5 页,显示记录 101-110。如果我转到“page:first”,我也想要同样的能力。
我需要更改我的库文件lib/Cake/Controller/Component/PaginatorComponent.php。
我变了
if (intval($page) < 1) {
$page = 1;
}
至
if ((intval($page) < 1 && $page != "last") || $page == "first") {
$page = 1;
}
我还添加了
if($page == "last"){
$page = $pageCount;
}
线后
$pageCount = intval(ceil($count / $limit));
Christian Waschke,使用此解决方案,您可以使用与您在问题中所写完全相同的链接助手。对我来说,链接助手看起来像这样
<?php echo $this->Html->link('Go to Last Page', array('controller' => 'articles', 'action' => 'index', 'page' => 'last')); ?>