5.2で対応してると書いたけど5.3で仕様変更されていた…。
http://qiita.com/kawax/items/25e5786511b17956d6d3
使い方
AppServiceProvider.php で
use Illuminate\Pagination\Paginator;
public function register()
{
Paginator::defaultView('pagination::bootstrap-4');
}
もしくはframeworkのbootstrap-4.blade.phpをコピーして
https://github.com/laravel/framework/tree/5.3/src/Illuminate/Pagination/resources/views
プロジェクトのresources/views/pagination/に置いた場合
public function register()
{
Paginator::defaultView('pagination.bootstrap-4');
}
普段のviewの指定方法と同じ。
Presenterではなくただのviewファイルで設定できるように変更されている。
configで設定できるようになるかもしれないし、いずれは4がデフォルトになるかもしれない。
また変わってたら適宜対応で。
不具合
5.3はまだ正式リリース前なので現時点ではbootstrap-4.blade.phpは少しおかしい。
コピーしてくる使い方で、bootstrap4のドキュメントを参考に<span>
を<span class="page-link">
に変えれば直る。
普通はリリース後から使うだろうけど。
その他変更
1ページしかない場合でも<< 1 >>
のように表示される。
表示したくないならhasPages()で調べればいい。
@if($items->hasPages())
{{ $items->links() }}
@endif
こういう小さい変化はリリースまでに元通りに修正されるかも…。
5.3リリース後の追記
最終的に
php artisan vendor:publish --tag=laravel-pagination
でresources/views/vendor/pagination
にファイルが作られてここにdefault.blade.php
があればデフォルトとして使われる。
bootstrap4を使うならbootstrap-4.blade.php
の中身をdefault.blade.php
にコピペすればいい。
これが一番簡単かな。