在cakephp视图中使用paginator helper时,它不会记住为我的用途定制的url部分。
例如:
http://example.org/users/index/moderators/page:2/sort:name/dir:asc
此处主持人是一个帮助我按该类型过滤的参数。但是按下分页符链接将不包含此链接。
答案 0 :(得分:11)
秘诀是将这一行添加到您的视图中:
<强> $ paginator-&gt;选项(阵列( 'URL'=&GT; $这 - &GT; passedArgs)); 强>
(我创建了这个问题和答案,因为这是一个很受欢迎的问题,我不得不挖掘答案,因为我无法记住它。)
答案 1 :(得分:4)
要添加Alexander Morland上面的答案,值得记住CakePHP 1.3中的语法已经改变,现在是:
$this->Paginator->options(array('url' => $this->passedArgs));
这在CakePHP书的pagination in views部分进一步描述。
答案 2 :(得分:0)
$ this-&gt; passedArgs是从视图中执行此操作的首选方法。
答案 3 :(得分:0)
你救了我!这对我帮助很大,谢谢。
我需要一种方法将我最初通过post($ this-&gt; data)发送的参数传递给分页组件,因此我的自定义查询将继续使用它们。
这是我做的:
在我看来我把
$paginator->options(array('url'=>$this->data['Transaction']));
在$ paginator-&gt; prev('&lt;&lt;&lt; Previous'之前。
这样做使得paginator上的下一个链接就像“ ... /页面:1 / START_DATE:2000-01-01%2000:00:00 / END_DATE:3000-01-01%2023:59:59 / payments_recieved:1"
然后在我的控制器上我只需要获取参数并将它们放在$ this-&gt;数据中,这样我的函数就会像往常一样继续:
foreach($this->params['named'] as $k=>$v)
{
/*
* set data as is normally expected
*/
$this->data['Transaction'][$k] = $v;
}
就是这样。分页适用于我的自定义查询。 :)
答案 4 :(得分:0)
这里的选项是一个很好的领先...你还可以在cakephp.org/view/166/Pagination-in-Views查看有关cakePHP分页的更多信息
答案 5 :(得分:-1)
使用该参数'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吗?