2016年10月13日木曜日

cakephp3 pagenation & meta tag

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 件のコメント:

コメントを投稿