【问题标题】:cakephp 2 - pagination - don't pass variable in urlcakephp 2 - 分页 - 不要在 url 中传递变量
【发布时间】:2013-03-20 00:34:38
【问题描述】:

我有一个搜索表单,如果有人填写它并且没有要报告的结果,我想让他们知道这一点,然后向他们展示我选择的结果集。问题是,当我向他们展示我选择的这个结果集并且我使用分页器助手进行 prev/next 时,他们想要传递我的 URL 中的搜索词以及页码。

这显然会导致问题,因为结果 search:termHasNoResults 没有 page:2

当我向他们展示我的替代结果集时,如何阻止分页器助手在 URL 中传递我的搜索变量?

谢谢

【问题讨论】:

  • 当你使用任何类型的链接时,基本上有没有办法限制哪些参数自动附加到 URL?
  • 为什么不在分页配置中添加条件? book.cakephp.org/2.0/en/core-libraries/components/…
  • 您还可以添加类似“?”的内容=> 'keyword='.$this->request->query['keyword'] 到选项以及将关键字存储在 url 字符串中

标签: php cakephp


【解决方案1】:

使用
$this->Paginator->options('url' => array(
'controller' => 'YOUR CONTROLLER', 'action' => 'YOUR ACTION', 'OTHER PARAMS');

【讨论】:

    【解决方案2】:

    您可以像这样在视图中将“url”选项传递给分页:

    $url = array_merge($this->request->pass, $this->request->named);
    unset($url['page']);
    $parts = explode('?', $_SERVER['REQUEST_URI'], 2);
    if (count($parts) == 2) {
        $url['?'] = $parts[1];
    }
    $this->Paginator->options(array(
        'url' => $url,
    ));
    

    更多:http://api.cakephp.org/2.2/class-PaginatorHelper.html 在这里:http://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::options

    如果你广泛使用过滤器和额外的 url 参数 - 制作一个可以为你处理它的元素

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-06
      • 1970-01-01
      • 2016-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多