CodeLab技術ブログ

プログラミング技術まとめ

[cakephp2]CakeDC Search Pluginでページ番号を引き継がないようにしたい場合

CakeDC Search Pluginで検索していたらなぜか、Page Not foundになってしまうことがありました。
なぜかと調べてみたら…

スポンサードリンク

[ad]

10ページ目に移動する
3ページしかない条件で検索ボタンを押す
ページ番号が引き継がれているので存在しない10ページ目を検索しようとしてエラーになる。

ということでした。
検索条件を変えた場合は必ず1ページ目に遷移するようにしたいですね。

方法

if($this->request->is('post')){
    $this->request->params['named']['page'] = 1;
}
$this->Prg->commonProcess();

$this->Prg->commonProcess()でパラメータをpostで入力されたパラメータをgetのURLにリダイレクトするので、
POSTの場合(=検索条件の変更)は強制的に1ページ目に設定します。
なお検索フォームは必ずpostで送信するようにしてください。

スポンサードリンク

コメントは受け付けていません。