スポンサードリンク

CakePHPでページネーションをよく使っているんですが、
ページネーションの設定をアクションごとに
変更する方法です。
スポンサードリンク
ページネーションの設定の場所
以前にもページネーションを設定してました。
初めての[CakePHP2.x]での開発、そして挫折するまで日記~その25 ページネーションを使ってみる
初めての[CakePHP2.x]での開発、そして挫折するまで日記~その27 検索結果をページネーションで表示させる
通常のページネーションの設定は
コントローラー内でアクションとは別に設定します。
<?php class PostsController extends AppController { //Paginationの設定 public $paginate = array( //モデルの指定 'Post' => array( 'limit' => 20, 'order' => array('craeted' => 'asc'), ) ); public function index(){ ・・・ } ?>
こんな感じですね。
このままのページネーションの設定で問題ないアクションならいいんですが
このアクションは作成日の降順で並べたいとか
このアクションは表示件数を10件にしたいとか
色々条件を変えたい場合があります。
その時は、各アクションごとに
ページネーションの設定を上書きしてしまえばいいという事でした。
ページネーションの上書き
(例)listアクションだけ表示件数を10件で作成日を降順並び変える
public function list(){ //ページネーションの設定 $this->paginate = array( //モデルの指定 'Post' => array( 'limit' => 10, 'order' => array('craeted' => 'desc') ) ); ・・・ }
こんな感じでアクション内でpaginateを呼び出して
設定を上書きしてしまえばいいです。
スポンサードリンク