我想在同一个模板上获得多个分页。我正在查询2个不同的模型,以便在模板文件文件的2个不同位置进行分页。正如您所猜测的,如果我单击其中一个分页的下一页,则两个模型都会获取下一页的值。 我已经做了足够的研究并尝试了在线提供的各种解决方案,但它们都没有奏效可能是我正确使用它们。
我已经想通了,如果我能够静态设置页面,我可以让它工作。
我想将其设置为
'页'=大于1
我知道我们可以这样设定。但如果网址中有一个参数
..... /页:2 /....
它覆盖了我指定的值。有没有办法获得我们提供的数字页面,无论通过URL发送什么?
三江源
答案 0 :(得分:8)
2建议
首先,您可以覆盖URL参数中的页码,例如
$this->request->params['named']['page'] = YOUR_FAVORITE_INTEGER;
这样做的问题是页面上的网址仍然会设置旧的:page
值,所以......
另一种方法是重定向到相同的控制器操作,但设置了不同的页码(或者如果您愿意,则不设置页码)。
$this->redirect(array('action' => 'whatever', 'page' => YOUR_FAVORITE_INTEGER));
以下是构建重定向的文档,以备您需要时: http://api.cakephp.org/class/router#method-Routerurl
答案 1 :(得分:1)
更好更简单,我使用它并在Cake 1.3中工作。不确定它是否适用于2.x
在控制器中:
$this->paginator['page']= YOUR_FAVORITE_INTEGER;
到目前为止,没有发现问题。
答案 2 :(得分:1)
尝试添加:
$this->Paginator->settings['Model1']['page']=YourFavInteger;
$this->Paginator->settings['Model2']['page']=YourFavInteger;
$this->Paginator->paginate('Model1');
$this->Paginator->paginate('Model2');
到您的控制器。