CakePHP4 | ページネーションのカスタマイズ

CakePHP

本記事では、cakephpのページネーションをカスタマイズする方法を解説いたします。

テンプレートの作成

cakephpのページネーションをカスタマイズするには、
最初に利用するテンプレートを作成します。

テンプレートの保存場所

configディレクトリ
config/original-paginator.php

テンプレート名の項目説明

テンプレート項目名 説明
nextActive next() によって生成されたリンクの有効な状態
nextDisabled next() の無効な状態
prevActive prev() によって生成されたリンクの有効な状態
prevDisabled prev() の無効な状態
counterRange counter() で format == range の場合のテンプレート
counterPages counter() で format == pages の場合のテンプレート
first first()によって生成されたリンクに使用されるテンプレート
last last() によって生成されたリンクに使用されるテンプレート
number numbers() によって生成されたリンクに使用されるテンプレート
current 現在のページで使用されているテンプレート
ellipsis numbers() によって生成された省略記号に使用されるテンプレート
sort 方向のないソートリンクのテンプレート
sortAsc 昇順のソートリンクのテンプレート
sortDesc 降順のソートリンクのテンプレート

テンプレート名

Cookbook:https://book.cakephp.org/4/ja/views/helpers/paginator.html#id3

ページ番号リンクの項目説明

ページ番号リンクの並び、表示のカスタマイズをする場合には、下記の項目を変更します。

テンプレート項目名 説明
before 数字の前に挿入されるコンテンツ
after 数字の後に挿入されるコンテンツ
model その番号を作る元になるモデル。デフォルトは PaginatorHelper::defaultModel()
modulus 現在のページの両側に含める数字の数。 デフォルトは 8。
first 先頭ページへのリンクを生成したい場合、先頭から何ページ分を生成するかを整数で指定します。 デフォルトは false です。文字列を指定すると、その文字列をタイトルの値として先頭ページへのリンクを生成します。

ページ番号リンクの作成

Cookbook:https://book.cakephp.org/4/ja/views/helpers/paginator.html#id5

ページカウンターの項目説明

結果セットに対するページカウンターの表示のカスタマイズは、下記の項目を変更します。

テンプレート項目名 説明
{{page}} 表示された現在のページ
{{pages}} 総ページ数
{{current}} 表示されようとしている現在のレコード数
{{count}} 結果セットの中の全レコード数
{{start}} 表示されようとしている先頭のレコード数
{{end}} 表示されようとしている最終のレコード数
{{model}} モデル名を複数系にして読みやすい書式にしたもの。 あなたのモデルが 'RecipePage' であれば、 {{model}} は 'recipe pages' になります。

ページカウンターの生成

Cookbook:https://book.cakephp.org/4/ja/views/helpers/paginator.html#id9

テンプレートの読込

上記で作成したテンプレートを、読み込むように設定します。

※~\src\View\AppView.php

PaginatorHelper テンプレート

Cookbook:https://book.cakephp.org/4/ja/views/helpers/paginator.html#paginatorhelper

おススメ商品

タイトルとURLをコピーしました