CakePHP1.3
CakePHP Pagenateのページ数を取得
$this->params['named']['page']
で、2ページ以降のページ数が取得できます。
ところで、Paginateは便利な機能ですが、ちょっと変わったことをすると、応用が利かないですよね。
たとえば、私が今作っているWebアプリケーションでは、100件のデータを、ユーザーには10件ごとに見せるというアプリケーションを作っています。
1ページめでは、100件をPaginateのlimitに設定してOKです。
しかし、2件目以降では、10件ごとしかとってきてくれないんですよね。
検索条件がかなり複雑なのと、出力されたデータをだいぶ整形しなくてはいけませんので、通常のPaginateの機能があまり使えませんでした。
しょうがないので、ページングが2ページ目以降の場合は、セッションから検索条件を読みだして利用するようにしています。
//ページネートの場合のみ、検索条件を、セッションから読み出し if(isset($this->params['named']['page'])){ $student_ids=$this->Session->read('student_ids'); } //中略 $this->paginate=array( 'Student'=>array(
'conditions'=>array('Student.student_id'=>$student_ids) ,'limit' => 100 ,'order' =>'Student.student_id' ) );