内容へ移動
ゆーものメモ帳
ユーザ用ツール
管理
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
プログラム言語:php:laravel:ページャ
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== Laravel のページネーション ====== 参考:https://readouble.com/laravel/7.x/ja/pagination.html ユーザ情報を10件ずつ表示するページャを実装したい場合、以下のような記述をすれば可能。 <code> $result = DB::table('users')->paginate(10); </code> ===== ページャの表示 ===== blade の html ファイル内に以下を記述。 <code> {{ $users->links() }} </code> ===== ビューのカスタマイズ ===== ページャ呼び出し時に、ビューのファイル名を指定する。 <code> {{ $users->links('view.name') }} </code> ===== ページャに表示するリンクの調整 ===== Laravel 7 のマニュアルによれば以下の記載で、両サイドに表示するリンクの数を調整できるらしいが、私の環境では動作せず。 <code> {{ $users->onEachSide(2)->links() }} </code> 仕方ないので、ビューファイル内で自分で調整を。\\ html ファイルの呼び出し時に、side パラメータで両サイドに表示するリンク数を渡す。 <code> {{ $arts->links('layouts/pager', ['side' => 2]) }} </code> layouts/pager.blade.php ファイル内の記述 <code> @if ($paginator->hasPages()) <ul> @if (!$paginator->onFirstPage()) <li class="prev"><a href="{{ $paginator->previousPageUrl() }}"></a></li> @endif @if ($paginator->currentPage() - $side > 2) <li class="more"><a>…</a></li> @endif @foreach ($elements as $element) @if (is_array($element)) @foreach ($element as $page => $url) @if ($page == $paginator->currentPage()) <li class="active"><a>{{ $page }}</a></li> @else <?php if ($page + $side < $paginator->currentPage() && !($page === 1 && $paginator->currentPage() - $side === 2) ) { continue; } elseif ($page - $side > $paginator->currentPage() && !( $page === $paginator->lastPage() && $paginator->currentPage() + $side === $paginator->lastPage() - 1 ) ) { continue; } ?> <li><a href="{{ $url }}">{{ $page }}</a></li> @endif @endforeach @endif @endforeach @if ($paginator->currentPage() + $side < $paginator->lastPage() - 1) <li class="more"><a>…</a></li> @endif @if ($paginator->hasMorePages()) <li class="next"><a href="{{ $paginator->nextPageUrl() }}"></a></li> @endif </ul> @endif </code> これで現在のページの左右に side で指定した数だけリンクが表示されることを確認できました。
プログラム言語/php/laravel/ページャ.txt
· 最終更新: 2021/01/22 17:06 by
humolife
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ