我一直在尝试创建像Bakery Paginator Recall这样的组件,它可以让我保存CakePHP 2.4的分页数据并遇到以下问题。
所有解决方案都涉及在会话中保存Paginator参数,然后在返回同一页面时检索并应用它们而不指定任何参数。
如果只有Paginator辅助函数(如numbers(),first()和previous()将包含页面),这种方法会起作用:它们生成的链接中的1个命名参数,用于移动到第一页,就像相应的函数一样1.3版本。
不幸的是,所有这些函数在引用第一页时都会创建没有page参数的URL,因此当用户单击第一页链接时,该组件找不到任何分页信息,因此它将它们返回到先前的位置。
必须有办法解决这个问题,但目前我完全陷入困境。
答案 0 :(得分:2)
不包括第一页链接中的页码是设计使然。
阅读CakePHP 2.4 Migration guide上的原因。
我建议使用相同的约定。当您没有分页信息时,假设是第一页,并且不将其添加到您的URL。
因此,当您失去分页时,您所要做的就是编写这种特殊情况。在这种特殊情况下,您的“召回”组件将不会添加该页面。
答案 1 :(得分:0)
我相信我已经设法创建了一个有效的解决方案。感谢我收到的建议,我现在创建了一个像原始PaginationRecallCompoent
一样的工作组件。
我已在以下博客post中撰写了所有详细信息。