如何在CakePHP(1.3)应用程序中更改命名参数?
我正在构建一个使用分页的cakePHP应用程序。在某一点上,我需要控制器检查某些条件,如果满足这些条件,则重置为分页的第一页 换句话说,假设url是 在电影控制器中,我有:如何在CakePHP(1.3)应用程序中更改命名参数?,cakephp,cakephp-1.3,Cakephp,Cakephp 1.3,我正在构建一个使用分页的cakePHP应用程序。在某一点上,我需要控制器检查某些条件,如果满足这些条件,则重置为分页的第一页 换句话说,假设url是 在电影控制器中,我有: function index() { if(conditions are met) $this->params['named']['page'] = 1; } 其思想是,如果满足条件,则分页器将显示结果的第一页,而不是第6页 我已经检查了条件是否满足,并且参数['named']['pag
function index() {
if(conditions are met)
$this->params['named']['page'] = 1;
}
其思想是,如果满足条件,则分页器将显示结果的第一页,而不是第6页
我已经检查了条件是否满足,并且参数['named']['page']已更改,但是分页器似乎忽略了它并显示了第6页
我做错了什么
谢谢 好的,有两种方法: 1更改参数:(您很接近) 这个解决方案的问题是,即使用户真的在搜索第1页,URL也会保持不变(例如
../films/index/page:6
),这可能会造成混乱
2重定向到右侧页面
function index() {
if(conditions are met)
$this->request->params['named']['page'] = 1;
$this->set('films', $this->paginate());
}
function index() {
if(conditions are met)
$this->redirect(array('page' => 1));
$this->set('films', $this->paginate());
}
问题是您必须执行重定向;)
希望有帮助。您应该经常提到您正在使用的cakephp版本谢谢!我会试试看——我想我会选择第二种方式!感谢您的帮助。$this->request->params?;)她似乎使用1.3