LoginSignup
3
1

More than 5 years have passed since last update.

Laravel5.3のPaginationでbootstrap4を使う

Last updated at Posted at 2016-07-10

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にコピペすればいい。
これが一番簡単かな。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1