Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk menyelesaikan penomboran laravel tanpa gaya

Bagaimana untuk menyelesaikan penomboran laravel tanpa gaya

PHPz
PHPzasal
2023-04-09 09:30:02682semak imbas

Laravel ialah rangka kerja pembangunan moden yang sangat popular yang menyediakan sejumlah besar ciri dan alatan yang mudah untuk pembangun untuk membina aplikasi web berkualiti tinggi dengan mudah. Salah satu fungsi biasa ialah paging Laravel juga mempunyai alat paging terbina dalam, tetapi banyak pembangun menghadapi masalah kehilangan gaya paging. Artikel ini akan menerangkan cara menyelesaikan masalah ini.

Untuk menggunakan fungsi paging Laravel, kami boleh melakukan pertanyaan paging melalui pembina pertanyaan atau objek model Eloquent. Contohnya, kod berikut boleh digunakan untuk menanyakan semua data pengguna dan memaparkannya dalam halaman:

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

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

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

$users = User::paginate(10);

Melalui kod di atas, kita boleh mendapatkan objek paging $users, yang mengandungi data pengguna bagi halaman semasa dan pautan yang berkaitan dengan halaman dan sifat halaman lain. Secara lalai, alat paging Laravel mempunyai dua set gaya paging terbina dalam: bootstrap dan semantic-ui.

Tetapi jika anda ingin menggunakan gaya halaman halaman yang berbeza, seperti gaya CSS yang anda tentukan sendiri, anda perlu menyesuaikan konfigurasi.

Pertama, kita perlu mencipta fail paparan, yang akan berfungsi sebagai templat untuk gaya halaman tersuai kami. Kita boleh mencipta fail templat baharu pagination.blade.php dalam direktori resources/views/vendor/pagination/. Kami kemudiannya boleh menulis gaya HTML dan CSS yang kami perlukan dalam fail ini. Berikut ialah contoh mudah:

<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>

Dalam kod di atas, kami mentakrifkan gaya CSS kami sendiri berdasarkan gaya Bootstrap dan mengatasi templat penomboran lalai Laravel. Butiran pelaksanaan khusus termasuk:

  1. Dapatkan pautan penomboran melalui $paginator->previousPageUrl() dan $paginator->nextPageUrl() dan jadikannya ke dalam HTML; () menentukan sama ada elemen semasa ialah pembatas "..." dalam senarai halaman, untuk melaksanakan pemaparan yang sepadan
  2. menentukan sama ada elemen semasa ialah pautan nombor halaman dalam senarai halaman melalui $is_array; (), Supaya memberikan sewajarnya.
  3. Seterusnya, kita perlu memberitahu Laravel bahawa kita mahu menggunakan templat penomboran tersuai. Kami boleh menambah item konfigurasi baharu dalam /config/view.php:

Vendor.pagination.pagination di sini mewakili laluan ke fail templat halaman yang baru kami buat.
'pagination' => 'vendor.pagination.pagination'

Akhir sekali, dalam fail paparan kami boleh memanggil templat paging tersuai kami dengan cara berikut:

Melalui langkah di atas, kami boleh menyesuaikan paging kami sendiri dalam Gaya Laravel. Sudah tentu, jika anda ingin melaksanakan gaya paging yang lebih kaya, anda boleh melakukannya dengan memanjangkan fungsi paging Laravel.
{{ $users->links('vendor.pagination.pagination') }}

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan penomboran laravel tanpa gaya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn