具有不同页码的多个分页器
Multiple paginator with different page number
我正在使用 CakePHP 2.5.x
。在单个请求中,我调用了 paginate()
方法两次。在第一次通话中,我不需要 page
参数,因为我为此选择了所有记录。
对于 paginate()
的第二次调用,我根据 URL 中找到的 page
参数选择数据。
现在,关注的是:
http://localhost/xyz/home/get_data/page:1 //working fine
http://localhost/xyz/home/get_data/page:2 //throw 404 from first paginate()
第一次 paginate()
调用时省略 page
参数的好方法是什么。
P.S. 我对两个 paginate()
调用使用相同的 model
。
如果重复请指出。提前谢谢你。
我想出了解决问题的方法。以下是我第一次 paginate()
调用(实际问题存在的地方)
所遵循的步骤
- 我将
url
中的原始 page
参数保存在另一个变量中
//get original page number from request and set first page manually
$original_page_number = !empty($this->request->params['named']['page']) ? $this->request->params['named']['page'] : 1;
$this->request->params['named']['page'] = 1;
调用paginate()
函数
将原始 page
参数重新分配给 request
对象
//set back to original page number
$this->request->params['named']['page'] = $original_page_number;
因为我在第一个 paginate()
调用中遇到问题,所以我只为那个调用省略了 page
参数。
希望对大家有所帮助!
我正在使用 CakePHP 2.5.x
。在单个请求中,我调用了 paginate()
方法两次。在第一次通话中,我不需要 page
参数,因为我为此选择了所有记录。
对于 paginate()
的第二次调用,我根据 URL 中找到的 page
参数选择数据。
现在,关注的是:
http://localhost/xyz/home/get_data/page:1 //working fine
http://localhost/xyz/home/get_data/page:2 //throw 404 from first paginate()
第一次 paginate()
调用时省略 page
参数的好方法是什么。
P.S. 我对两个 paginate()
调用使用相同的 model
。
如果重复请指出。提前谢谢你。
我想出了解决问题的方法。以下是我第一次 paginate()
调用(实际问题存在的地方)
- 我将
url
中的原始page
参数保存在另一个变量中
//get original page number from request and set first page manually
$original_page_number = !empty($this->request->params['named']['page']) ? $this->request->params['named']['page'] : 1;
$this->request->params['named']['page'] = 1;
调用
paginate()
函数将原始
page
参数重新分配给request
对象
//set back to original page number
$this->request->params['named']['page'] = $original_page_number;
因为我在第一个 paginate()
调用中遇到问题,所以我只为那个调用省略了 page
参数。
希望对大家有所帮助!