PHP Ver | 5.6.27 |
CakePHP Ver | 3.1.9 |
ページネーション処理は、Cakephpのデフォルトで準備がされている
まずは、ページネーション使いますよとAppViewのinitializeメソッドで設定
---------------------------------------------------
$this->loadHelper('Paginator');
---------------------------------------------------
Controllerのinitializeメソッド内などで、ページネーションの詳細設定を行う
---------------------------------------------------
$this->loadComponent('Paginator');
$this->paginate = [
'limit' => 10
];
---------------------------------------------------
limitなどはロードした後に設定
では実際に使ってみる
DBから取得してきたqueryをページネーションを使って表示
---------------------------------------------------
$this->set('articles', $this->Paginator->paginate($article->getArticlesQuery(), $this->paginate));
---------------------------------------------------
その後Viewでは気にせず普通にイテレーションしてあげればよい
但し、以下の表示は入れてあげないとページ番号が出てこないので注意
---------------------------------------------------
<?= $this->Paginator->numbers() ?>
---------------------------------------------------
ここで記述した内容はあくまで一例で、参考程度に。
詳しくは、以下参照
http://book.cakephp.org/3.0/ja/controllers/components/pagination.html
備考
rel=prevやrel=nextも自動でやってくれる
Viewファイル内で以下のようにheadタグの中に記述
---------------------------------------------------
<?= $this->Paginator->meta() ?>
---------------------------------------------------
これだけ。便利ですね~
0 件のコメント:
コメントを投稿