在cakephp视图中使用paginator helper时,它不会记住为我的用途定制的url部分。

例如:

http://example.org/users/index/moderators/page:2/sort:name/dir:asc

此处主持人是一个帮助我按该类型过滤的参数。但是按下分页符链接将不包含此链接。

有帮助吗?

解决方案

要添加Alexander Morland上面的答案,值得记住CakePHP 1.3中的语法已经改变,现在是:

$this->Paginator->options(array('url' => $this->passedArgs));

这在分页视图

其他提示

秘诀是将这一行添加到您的视图中:

<强> $分页程序 - GT <!>;选项(<!>阵列( 'URL'= GT; $这 - GT <!>; passedArgs));

(我创建了这个问题和答案,因为这是一个很受欢迎的问题,我不得不挖掘答案,因为我无法记住它。)

$ this - <!> gt; passedArgs是从视图中执行此操作的首选方法。

你救了我!这对我帮助很大,谢谢。

我需要一种方法将我最初通过post发送的参数($ this - <!> gt; data)传递给分页组件,因此我的自定义查询将继续使用它们。

这是我做的:

在我看来我把

$paginator->options(array('url'=>$this->data['Transaction']));
在$ paginator之前

- <!> gt; prev('<!> lt; <!> lt; Previous'stuff。

这样做使得paginator上的下一个链接就像<!>一样; ... /页面:1 / START_DATE:2000-01-01%2000:00:00 / END_DATE:3000-01-01%2023:59:59 / payments_recieved:<!> 1 QUOT;

然后在我的控制器上我只需要获取参数并将它们放在$ this - <!> gt;数据中,这样我的函数就会像往常一样继续:

foreach($this->params['named'] as $k=>$v)
{
    /*
     * set data as is normally expected
     */
    $this->data['Transaction'][$k] = $v;
}

就是这样。分页适用于我的自定义查询。 :)

这里的选项是一个很好的领先...你还可以在cakephp.org/view/166/Pagination-in-Views查看有关cakePHP分页的更多信息

使用该参数'url',您只能将首选字符串放在url中的字符串分页之前。

如果我使用这个tecnique:

$urlpagin = '?my_get1=1&my_get2=2';
$paginator->options = array('url'=>$urlpagin);

我只获得:

url/controller/action/?my_get1=1&my_get2=2/sort:.../...

和蛋糕失去了我的获取参数

你有替代tecnique吗?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top