用CakePHP分页:用月份而不是页面创建新闻存档

用CakePHP分页:用月份而不是页面创建新闻存档,cakephp,pagination,Cakephp,Pagination,我遇到了cakephp分页的问题。目前,我的分页比较标准。在x结果之后,它会创建第二个页面。等等 我想做的是按月订购。由于它是一个新闻档案,我希望能够选择月份而不是页面 因此: 第1页 第2页 第3页 我希望: 2010年1月 2010年2月 2010年3月 这怎么可能?我好像找不到它。我当前的代码: var$paginate=array('limit'=>50,'page'=>1,'order'=>array('Newsitem.created'=>'DESC')) 提前谢谢 分页是限

我遇到了cakephp分页的问题。目前,我的分页比较标准。在x结果之后,它会创建第二个页面。等等

我想做的是按月订购。由于它是一个新闻档案,我希望能够选择月份而不是页面

因此:

  • 第1页
  • 第2页
  • 第3页
我希望:

  • 2010年1月
  • 2010年2月
  • 2010年3月
这怎么可能?我好像找不到它。我当前的代码:

var$paginate=array('limit'=>50,'page'=>1,'order'=>array('Newsitem.created'=>'DESC'))


提前谢谢

分页是限制行计数和记录数偏移量的函数,而不是数据条件。因此,您将无法使用cake中的分页功能来完成此操作。您将需要创建一个自定义解决方案来完成此任务。如果您继续使用内置蛋糕分页来解决这个问题,您将继续遇到困难


话虽如此,一种解决办法是按月分页。所以你可以在左边有不同的链接显示月份(即2010年1月、2010年2月等),当他们选择这些选项中的一个时,它会对给定日期的所有结果进行分页。

< P>这可能是你考虑的另一种选择(它不直接匹配你的要求)。

它允许您按记录集中的任何列过滤分页数据

在任何标题()下,您都可以添加一个输入,您可以在其中输入过滤条件(例如,对于Newsitem.created,您可以输入:2010-08以仅显示/分页2010年8月的Newsitems)。然后单击筛选按钮,页面将重新加载,仅显示符合筛选条件的记录。也可以使用Ajax分页

我今天用这个屏幕测试了这个: