12/08/2018, 17:05

Tùy chỉnh giao diện phân trang trong Laravel 5

Phân trang là một kỹ thuật, một thành phần không thể thiếu trong một website. Dù thực hiện đơn giản nhưng bạn phải mất khá nhiều thời gian cho việc này. Nếu đã và đang sử dụng Laravel, chắc việc phân trang không còn là vấn đề với bạn nữa. Mọi thứ đã được đơn giản hóa với vài thao tác bằng các ...

Phân trang là một kỹ thuật, một thành phần không thể thiếu trong một website. Dù thực hiện đơn giản nhưng bạn phải mất khá nhiều thời gian cho việc này. Nếu đã và đang sử dụng Laravel, chắc việc phân trang không còn là vấn đề với bạn nữa. Mọi thứ đã được đơn giản hóa với vài thao tác bằng các phương thức được Laravel cung cấp.

Nhìn lại cách Laravel phân trang cho bạn

Bạn đã quên? Xem lại Laravel Pagination Docs

Điểm lại một tý, có 2 công việc bạn cần phải thực hiện: Một là lấy dữ liệu theo trang và hai là hiển thị phân trang trên blade view.

  • Việc thứ nhất, bạn chỉ cần sử dụng phương thức paginate(numberPerPage) hoặc simplePaginate(numberPerPage) tại nơi muốn lấy dữ liệu. (Thay cho các phương thức như get(), all(),...)
  • Việc cuối cùng, sử dụng phương thức links() như thế này {{ $items->links() }} (items là danh sách dữ liệu đã lấy được ở trễn) bên blade view để hiển thị giao diện phân trang nơi bạn muốn.

Theo như Laravel tuyên bố thì mặc định giao diện phân trang được tự động sinh ra tương thích với Bootstrap CSS framework. Nhưng nếu bạn không sử dụng Bootstrap hoặc muốn thay đổi giao diện phân trang hiện có thì phải làm sao

Giải quyết như thế này

Tại đây cũng có nói: Customizing The Pagination View

Bạn có thể sử dụng phương thức links() và truyền vào đó một đối số như thế này:

{{ $paginator->links('view.name') }}

// Ném dữ liệu sang view...
{{ $paginator->links('view.name', ['foo' => 'bar']) }}

view.name? blade name lấy đâu ra.

Chắc chắn là phải tự viết rồi             </div>
            
            <div class=

0