1
我想在CakePHP中使用内置分页(这太棒了!)。但是 - 有没有办法对单个字段进行分页?CakePHP - 有没有办法为文章的文本使用内置分页?
示例 - 如果我的文章/故事是10,000个字符 - 我可以将它分成两个5000个字符的页面,而无需编写自己的分页吗?
我想在CakePHP中使用内置分页(这太棒了!)。但是 - 有没有办法对单个字段进行分页?CakePHP - 有没有办法为文章的文本使用内置分页?
示例 - 如果我的文章/故事是10,000个字符 - 我可以将它分成两个5000个字符的页面,而无需编写自己的分页吗?
默认分页与SQL LIMIT
子句一起使用,该子句在记录级别上工作。您必须至少用您的自定义逻辑覆盖Controller::paginate
方法来完成您需要的操作(只需在您的控制器中创建一个function paginate()
)。至少应该可以重用PaginatorHelper,通过设置所有可用的参数。在视图中尝试debug($this->params)
或查看default paginate
implementation以查看这些变量是什么。
细分:
$result = $this->paginate()
,返回你的分页结果。paginate()
函数查看URL参数(/page:42/sort:foobar
等)以确定应该返回哪些记录。paginate()
根据数据库中记录的总数,每个页面的记录和所请求的页码计算哪些记录返回一些数学运算。/page:xx/sort:yy
参数的URL。你要做的是钩入Controller::paginate()
函数所做的过程。你需要实现你自己的版本,它不会返回多个结果,而是一个“分页”结果。如果它使用的参数以及它返回给视图的参数与默认实现完全相同,则其余的分页逻辑应该完全相同。
我认为你是对的,因为你一直在其他任何事情上......你有可能把它分解得更多一些吗?我非常喜欢PHP,但这是我的第一个Cake项目,我感到不知所措。即使你有任何链接可以帮助我理解你在说什么 - 因为现在,这对我来说听起来像是一句胡言乱语。 :)(感谢您的持续支持/帮助!) – Dave 2011-04-13 02:42:36
@Dave试图将其分解一点。希望你能通过这些信息和通过查看普通'paginate'方法的代码来弄清楚它。 – deceze 2011-04-13 02:56:12
这非常有帮助 - 非常感谢。 – Dave 2011-04-13 03:03:11