Heim > PHP-Framework > Laravel > So lösen Sie die Laravel-Paginierung ohne Stil

So lösen Sie die Laravel-Paginierung ohne Stil

PHPz
Freigeben: 2023-04-09 09:30:02
Original
729 Leute haben es durchsucht

Laravel ist ein sehr beliebtes modernes Entwicklungsframework, das Entwicklern eine große Anzahl praktischer Funktionen und Tools zum einfachen Erstellen hochwertiger Webanwendungen bietet. Eine der häufigsten Funktionen ist das Paging. Laravel verfügt auch über integrierte praktische Paging-Tools, aber viele Entwickler haben das Problem fehlender Paging-Stile. In diesem Artikel wird erläutert, wie Sie dieses Problem lösen können.

Um die Paging-Funktion von Laravel zu nutzen, können wir Paging-Abfragen über den Abfrage-Builder oder das Eloquent-Modellobjekt durchführen. Beispielsweise kann der folgende Code verwendet werden, um alle Benutzerdaten abzufragen und im Paging anzuzeigen:

use Illuminate\Support\Facades\DB;
use App\Models\User;

$users = DB::table('users')->paginate(10);

// 或者可以使用Eloquent模型对象进行分页查询

$users = User::paginate(10);
Nach dem Login kopieren

Durch den obigen Code können wir ein Paging-Objekt $users abrufen, das die aktuellen Paging-Benutzerdaten, Paging-bezogene Links und anderes enthält Paging-Attribute. Standardmäßig verfügt das Paging-Tool von Laravel über zwei Sätze integrierter Paging-Stile: Bootstrap und Semantic-UI.

Wenn Sie jedoch unterschiedliche Paging-Stile verwenden möchten, beispielsweise Ihren eigenen definierten CSS-Stil, müssen Sie eine benutzerdefinierte Konfiguration durchführen.

Zuerst müssen wir eine Ansichtsdatei erstellen, die als Vorlage für unseren benutzerdefinierten Seitenstil dient. Wir können eine neue Vorlagendatei pagination.blade.php im Verzeichnis resources/views/vendor/pagination/ erstellen. In diese Datei können wir dann die benötigten HTML- und CSS-Stile schreiben. Hier ist ein einfaches Beispiel:

<div class="pagination-style">
   <ul class="pagination">

       {{-- Previous Page Link --}}
       @if ($paginator->onFirstPage())
           <li class="disabled"><span>&laquo;</span></li>
       @else
           <li><a href="{{ $paginator->previousPageUrl() }}" rel="prev">&laquo;</a></li>
       @endif

       {{-- Next Page Link --}}
       @if ($paginator->hasMorePages())
           <li><a href="{{ $paginator->nextPageUrl() }}" rel="next">&raquo;</a></li>
       @else
           <li class="disabled"><span>&raquo;</span></li>
       @endif

       {{-- Pagination Elements --}}
       @foreach ($elements as $element)
           {{-- "Three Dots" Separator --}}
           @if (is_string($element))
               <li class="disabled"><span>{{ $element }}</span></li>
           @endif

           {{-- Array Of Links --}}
           @if (is_array($element))
               @foreach ($element as $page => $url)
                   @if ($page == $paginator->currentPage())
                       <li class="active"><span>{{ $page }}</span></li>
                   @else
                       <li><a href="{{ $url }}">{{ $page }}</a></li>
                   @endif
               @endforeach
           @endif
       @endforeach
   </ul>
</div>
Nach dem Login kopieren

Im obigen Code definieren wir unsere eigenen CSS-Stile basierend auf Bootstrap-Stilen und überschreiben die Standard-Paginierungsvorlage von Laravel. Spezifische Implementierungsdetails umfassen:

  1. Rufen Sie den Paginierungslink über $paginator-> previousPageUrl() und $paginator->nextPageUrl() ab und rendern Sie ihn in HTML.
  2. Verwenden Sie $is_string(), um festzustellen, ob das aktuelle Element vorhanden ist Paginierungstrennzeichen „…“ in der Liste, um das entsprechende Rendering durchzuführen.
  3. Verwenden Sie $is_array(), um zu bestimmen, ob das aktuelle Element ein Seitenzahl-Link in der Paging-Liste ist, um das entsprechende Rendering durchzuführen.

Als nächstes müssen wir Laravel mitteilen, dass wir eine benutzerdefinierte Paginierungsvorlage verwenden möchten. Wir können ein neues Konfigurationselement in /config/view.php hinzufügen:

'pagination' => 'vendor.pagination.pagination'
Nach dem Login kopieren

Vendor.pagination.pagination stellt hier den Pfad zur Paging-Vorlagendatei dar, die wir gerade erstellt haben.

Abschließend können wir in der Ansichtsdatei unsere benutzerdefinierte Paging-Vorlage wie folgt aufrufen:

{{ $users->links('vendor.pagination.pagination') }}
Nach dem Login kopieren

Durch die oben genannten Schritte können wir unseren eigenen Paging-Stil in Laravel anpassen. Wenn Sie einen umfassenderen Paging-Stil implementieren möchten, können Sie dies natürlich tun, indem Sie die Paging-Funktion von Laravel erweitern.

Das obige ist der detaillierte Inhalt vonSo lösen Sie die Laravel-Paginierung ohne Stil. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage