【问题标题】:Cakephp URL while Paginating with search使用搜索进行分页时的 Cakephp URL
【发布时间】:2014-05-09 11:15:09
【问题描述】:

我有一个带有搜索和分页功能的简单 cakephp 应用程序。我使用 GET 作为表单的类型。

当我单击带有所需过滤器的搜索时,会显示分页结果。当我跨页面移动时,我得到了期望的结果(使用期望的页码索引和过滤参数修改 URL)。

假设我在第 4 页的分页搜索结果中。现在,当我修改一些搜索过滤器并再次点击搜索按钮并显示 page:4 时,如果结果的记录较少(比如可以在一页上容纳),我会收到错误 - 无法在服务器上找到 xxxxxx。 (....../page:4/.. 不存在)..

请帮忙!

【问题讨论】:

  • 当过滤器改变时向用户显示第 1 页是一个明显的可用性点。
  • 我使用分页 + cakedc 搜索插件 - 这总是会自动跳转到第 1 页以更改过滤器。所以我无法重现您的问题。

标签: cakephp pagination


【解决方案1】:

当你按搜索时,通常你想重置所有或相同的分页器参数

我猜在你看来你刚刚做了

echo $this->Form->create('Model');

这样cake就假设表单的action是你所在页面的url

但是你可以这样设置表单的url

echo $this->Form->create('Model', array('url' => array('page' => 1));

【讨论】:

    【解决方案2】:

    如下解决

    $url = array('controller' => 'cc', 'action' => 'aa') + $this->request->params['pass'];
    echo $this->Form->create(null, array('type' => 'get','url' => $url));
    

    感谢您的帮助。

    【讨论】:

      猜你喜欢
      • 2012-04-30
      • 1970-01-01
      • 2015-04-05
      • 2012-12-01
      • 2014-01-25
      • 1970-01-01
      • 1970-01-01
      • 2012-06-06
      • 1970-01-01
      相关资源
      最近更新 更多