1

我想在同一个模板上获得多个分页。我正在查询 2 个不同的模型以在模板文件文件的 2 个不同位置进行分页。正如您已经猜到的,如果我单击两个分页之一的下一页,两个模型都会获取下一页值。我已经做了足够的研究并尝试了各种在线可用的解决方案,但没有一个奏效。可能是我正确地使用了它们。

我发现如果我能够静态设置页面,我就可以让它工作。

我想设置它

'页面'=> 1

我知道我们可以这样设置。但是如果 url 中有一个参数,比如

...../第2页/....

它覆盖了我指定的值。无论通过 URL 发送什么,有没有办法获取我们提供的数字页面?

谢谢

4

3 回答 3

8

2 建议

首先,你可以覆盖 URL 参数中的页码,像这样

$this->request->params['named']['page'] = YOUR_FAVORITE_INTEGER;

这样做的问题是页面上的 URL 仍将:page设置旧值,所以......

另一种方法是重定向到相同的控制器操作,但设置了不同的页码(如果您愿意,也可以不设置页码)。

$this->redirect(array('action' => 'whatever', 'page' => YOUR_FAVORITE_INTEGER));

以下是有关构建重定向的文档,以防您需要它们: http ://api.cakephp.org/class/router#method-Routerurl

于 2012-06-01T16:51:37.380 回答
1

更好更简单的是,我使用它并在 Cake 1.3 中工作。不确定它是否适用于 2.x

在控制器中:

$this->paginator['page']= YOUR_FAVORITE_INTEGER;

到目前为止,没有发现任何问题。

于 2014-09-16T09:16:06.093 回答
1

尝试添加:

$this->Paginator->settings['Model1']['page']=YourFavInteger;
$this->Paginator->settings['Model2']['page']=YourFavInteger;

$this->Paginator->paginate('Model1');
$this->Paginator->paginate('Model2');

到您的控制器。

于 2015-01-28T22:06:48.970 回答