Laravel Kişileştirilmiş Sayfalama

Laravel

Laravel olağan olmaya şekilde hızlı gelişmiş bir framework’tür ve kullanım alanı çok fazladır. Bu yazımızda laravel’in nimetlerinden birisi olan paginate(Sayfalama) ‘dan bahsedeceğim, laravel’de  paginate yapı itibariyle çok basit bir şekilde yapılmaktadır.
Paylaşacağım kod bloğunu inceleyin.

    public function index()
    {
        $users = DB::table('users')->paginate(15);
        return view('user.index', ['users' => $users]);
    }

Paylaştığım kod bloğunda ilgili tablodan dataları çektikten sonra bir ->paginate() eklemesi ile bunu sayfalamaya çevirebiliriz. Bir değer belirtmezsek laravel default olarak belirtilen sayfalama sınırını otomatik getirir.

<div class="container">
    @foreach ($users as $user)
        {{ $user->name }}
    @endforeach
</div>
{{ $users->links() }}

Üst kısımdaki kod bloğunu incelediğimizde ise ->links() ile paginate ‘in kullanıcı tarafına aktarılmasını göreceksiniz. Bu kısımda Laravel view işlemlerinde bootstrap’i baz almaktadır. Peki temanız bootstrap uyumlu değilse ne yapacaksınız ?
Bu durumda bazı işlemler uygulayarak bu işlemleri yapabiliriz.
Yeni bir dosya oluşturalım. Adı pagination.blade.php olabilir ve views/partials dizini altında oluşturabilirsiniz.
Bu dosya içerisine örnek bir kod bloğu paylaşacağım bunu kendinize göre özelleştirebilirsiniz.

@if ($paginator->lastPage() > 1)
    <div class="pagination">
        <div class="pages">
            <ul>
                @for ($i = 1; $i <= $paginator->lastPage(); $i++)
                    <li>
                        <a class="{{ ($paginator->currentPage() == $i) ? ' current-page' : '' }}" href="{{ $paginator->url($i) }}">{{ $i }}</a>
                    </li>
                @endfor
            </ul>
        </div>
    </div>
@endif

Bir sonraki aşama ise view kısmında paginate kısımda kullandığımızı alt kısımdaki ile değiştirebilirsiniz.

@include('partials.pagination', ['paginator' => $variants])
// $variants gelen değerler.

Bu işlem sonucu sayfalama işlemlerini kişileştirebilirsiniz.
Yararlı olabildiysem ne mutlu, Hatam var ise bildirilirse düzeltebilirim.

“Laravel Kişileştirilmiş Sayfalama” üzerine 5 yorum.

  1. Yazı İçin Sağolun
    form ile gönderiyorum verileri method post store ile kaydediyorum ancak ekleye birden fazla basınca 3-5 veri ekliyor lütfen bakabilirmisiniz teşekkürler

    {{csrf_field()}}
    Ekle

  2. Bunun hakkında detaylı bir yazı arıyordum, Stackoverflow’da bile bulamamıştım, büyük bir zaman kaybından kurtardınız. Çok teşekkürler.

Bir cevap yazın