Laravel 5.7 現在のページの前後へのリンク数を調整する(ペジネーション)

Laravel 5.7 現在のページの前後へのリンク数を調整する(ペジネーション)

こんばんは、仕事が忙しくなってきたのと、三連休に個人的にキャンプに行ってきたので更新が遅れてしまったのるぼるのんです。

キャンプでは朝霧Jamに行ってきました、富士山を眺めながらゆったり音楽を楽しむ、充実した時間を過ごせました(問題もありましたが、、、笑)。そちらに関しても記事にできたらいいな、と思いつつ、ちょっと間が空いてしまったので今回は軽めの内容で記事更新です。

 

Laravel5.7のリリースノートでは、ペジネーションに関する更新

「Laravel5.7では、ペギネータのURL「ウィンドウ」の両サイドに、いくつの追加のリンクを表示するかを調整できます。デフォルトでは、メインのペジネータリンクの両サイドに3つのリンクが表示されます。この数を調整するには、onEachSideメソッドを使用します。」

とあります。現在のページを表すページングボタンの横に表示される、前後のページへのリンクの個数調整ができる、という機能かと思われます。

これをLaravel5.6と比較してみます。まずはLaravel 5.6から。今回もテーブルなどにはproductsテーブルを使用します。テストデータはSeederを用いて準備

 

Laravel 5.6でのペジネーション

まずはLaravel5.6でデフォルトのペジネーションを使用してみます。とりあえず全部の商品データを表示。

・ProductController.php

・index.blade.php

乱数が商品名、数値が価格です。これを一ページ10件で呼び出します。

・ProductController.php

1ページ10件になりました。リンクを追加しましょう。

・index.blade.php

ペジネーションにリンクが追加されました。paginate(1)にするとこんな感じ。

現在のページの左右に7このボタンがある状態ですね。

ではLaravel5.7で試してみます。

 

Laravel5.7でのペジネーション(追加機能、onEachSide)

とは言っても、Laravel 5.6の時とほぼ同じです。5.6でやったところまで進めます。

デフォルトのペジネーションはLaravel5.6、5.7に違いは内容です。

OnEachSideを試してみましょう。

現在ページの両サイドがそれぞれ2ページずつになりました。。。

これ使えるのか???(^ω^;)

これなら自分でコーディングしたペジネーションブレードで制御した方が見た目も機能も向上すると思ってしまうのは私だけでしょうか、、、

ちなみに自分で書いたペジネーションbladeを呼び出すにはこんな感じ

 

Laravelのデフォのページングって要素数が多いんだよなあ、、、そのせいでレスポンシブで崩れやすくなるし、、、

なんかやるせなかったので、そのうちリンクの機能を調整した物を書いてみたいと思います。

誰か偉い人これの使い道を教えてください。

Laravelカテゴリの最新記事