【问题标题】:CakePHP: Remove "page:#" from url paramsCakePHP:从 url 参数中删除“page:#”
【发布时间】:2013-04-05 16:29:41
【问题描述】:

我有一个使用get 方法的搜索表单。该表单可以正常工作,直到我在对结果进行分页后使用它。

用户可以从任意数量的类似domain.com/serach/results/something/something_else/ 的网址进入网站,重要的是domain.com/serach/results/

这是我的表单代码:

echo $this->Form->create(null, array(
    'type' => 'get',
    'url' => $this->Html->url(null, true),
));

这将使表单如下所示:

<form action="http://domain.com/serach/results/something/something_else/" method="get">

问题是,当我对结果进行分页时,它会将 page:2 或 page:3 添加到操作中,因此它看起来像:

<form action="http://domain.com/serach/results/something/something_else/page:3" method="get">

CakePHP 中是否有一个内置函数可以让我从传递给表单操作的 url 中删除 page:3,还是我必须创建一个函数来查找并删除 page:#

【问题讨论】:

    标签: php forms cakephp parameters cakephp-2.3


    【解决方案1】:

    只需以详细的方式设置您的网址:

    'url' => array('controller' => 'x', 'action' => 'y') + $this->request->params['pass']
    

    完成!

    【讨论】:

    • 这样做是行不通的,因为它在行动后失去了一切。所以它会导致这个domain.com/serach/results/ 而不是这个domain.com/serach/results/something/something_else/
    猜你喜欢
    • 2021-12-19
    • 2014-11-08
    • 2010-11-10
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    • 2014-10-25
    • 1970-01-01
    相关资源
    最近更新 更多