cakePHP Paginator :: numbers()函数不包含页面:第一页链接中的1个参数

时间:2014-01-31 09:46:07

标签: cakephp pagination

我一直在尝试创建像Bakery Paginator Recall这样的组件,它可以让我保存CakePHP 2.4的分页数据并遇到以下问题。

所有解决方案都涉及在会话中保存Paginator参数,然后在返回同一页面时检索并应用它们而不指定任何参数。

如果只有Paginator辅助函数(如numbers(),first()和previous()将包含页面),这种方法会起作用:它们生成的链接中的1个命名参数,用于移动到第一页,就像相应的函数一样1.3版本。

不幸的是,所有这些函数在引用第一页时都会创建没有page参数的URL,因此当用户单击第一页链接时,该组件找不到任何分页信息,因此它将它们返回到先前的位置。

必须有办法解决这个问题,但目前我完全陷入困境。

2 个答案:

答案 0 :(得分:2)

不包括第一页链接中的页码是设计使然。

阅读CakePHP 2.4 Migration guide上的原因。

我建议使用相同的约定。当您没有分页信息时,假设是第一页,并且不将其添加到您的URL。

因此,当您失去分页时,您所要做的就是编写这种特殊情况。在这种特殊情况下,您的“召回”组件将不会添加该页面。

答案 1 :(得分:0)

我相信我已经设法创建了一个有效的解决方案。感谢我收到的建议,我现在创建了一个像原始PaginationRecallCompoent一样的工作组件。

我已在以下博客post中撰写了所有详细信息。