【问题标题】:Is possible to change pagination url names in cakephp?是否可以在 cakephp 中更改分页 url 名称?
【发布时间】:2013-10-24 11:57:18
【问题描述】:

是否可以更改 cakephp 中的分页 url 名称?

例如:

example.com/tests/act/page:2/sort:title/direction:desc

到:

example.com/tests/act/pg:2/link:title/orderby:-date

谢谢大家。但我是 cakephp 的初学者,很高兴看到一个例子。

我阅读了文档。但我想要的东西一无所有。

也许我可以翻译这些参数并提供给 Paginator 类。但是怎么做?

【问题讨论】:

  • 有时更容易遵循惯例并接受/拥抱他们,而不是让你的生活变得更复杂。你的修改在这里有什么好处?..
  • 由于分页使用的命名参数不可配置,您可以按照您的要求做,但只能自己做(也 orderby 不等同于方向,所以这是定制的不有什么关系)。我建议您根本不要使用命名参数 =),如果您确实需要/想要做这样的事情,您将需要使用一个组件将您的密钥转换为常规密钥,并使用您自己的帮助程序来生成 url使用你的钥匙

标签: cakephp pagination


【解决方案1】:

是的。使用路由。 http://book.cakephp.org/2.0/en/development/routing.html

只需为它创建一个重写规则。

【讨论】:

  • 谢谢。但是什么样的重写规则?可以给我写个例子吗?
  • 我注意到路由实际上是可能的,它需要由路由器重命名命名参数,我从未见过这样的选项。我认为他必须从控制器内部手动重命名参数。虽然这可能会导致反向路由等问题,但总的来说这可能是一个非常糟糕的主意。 @user2910460
  • -1 因为这不能回答问题。显示如何将/page:2 重命名/代理为/pg:2 的示例路由将回答这个问题=)。
【解决方案2】:

分页与命名参数一起工作,并且没有简单的方法来重命名它们。您将需要修改 PaginatorComponent 和 PaginatorHelper 来修改分页的参数。

【讨论】:

  • 亲爱的?!有修改这些类的教程吗?
  • 我不知道。您需要深入研究 CakePHP 源代码并修改这些类。
  • 可以查看Documentation on Pagination,尤其是Custom Query Pagination Section,可以覆盖Model上的paginate方法。
猜你喜欢
  • 2016-07-31
  • 2015-04-04
  • 1970-01-01
  • 1970-01-01
  • 2012-07-03
  • 2018-01-20
  • 2013-05-04
  • 2018-10-12
  • 2016-08-28
相关资源
最近更新 更多