初投稿です。
誤字・脱字・間違い等あればご指摘お願いします。
拙いところがあるかもしれませんがよろしくお願いします。
ㅤ
この記事はCakephp2.xで、BoostCake3を使ってなんとかBootstarp4の
ページネーション機能を使おうとしています。
ですのでまだBoostCakeを導入していない方は先に導入の方をお願いします。
ㅤ
参考: CakePHP BoostCake の導入手順
コードから先に載せます。
<!-- ページネーション -->
<nav aria-label="Page navigation example">
<ul class="pagination">
<?php
$this->Paginator->options(array('class' => 'page-link'));
echo $this->Paginator->prev(__('Previous'), array('tag' => 'li class="page-item"'));
echo $this->Paginator->numbers(array('currentTag' => 'a class="page-link"'));
echo $this->Paginator->next(__('Next'), array('tag' => 'li class="page-item"'));
?>
</ul>
</nav>
$this->Paginator->options(array('class' => 'page-link'))
は、
前へ・次へ・全てのページ番号にpage-link
クラスが付属されるようにするためのメソッドです。
opitionsで渡されたクラスを一つ一つの要素に付属してくれます。
prev()
numbers()
next()
メソッドには、
タグに必要なクラスであるpage-item
とpage-link
を付属させています。
表示結果こうなりました。
残念ながら、現在表示しているページ番号の背景が青く塗り潰される機能と、
ページ端に来た時に、前へ/次へボタンがグレーアウトする機能は実装できませんでした。
これらを実装するにはプラグインの中身を弄るか、PaginatorHelperを継承した独自ヘルパーでオーバーライドする必要があります。
お察しの通りこのコードはプラグインの機能を全く使っていないのですが、
BoostCakeプラグインを適用しないとこうなります。
page-link
クラスが前へ/次へボタンに付属してくれないので変になっちゃうんです。
これだけのためにプラグインを使うのはなんだかなーと思いますが、
オーバーライド等をしないで、無理くり出来ないか考えた結果の末です。
もっと楽にできる方法があればコメントでご教授頂けるととても有り難いです。
誰かのお役に立てれば幸いです。
以上です。