Laravel Kişileştirilmiş Sayfalama

Laravel Kişileştirilmiş Sayfalama

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.

Beğen  8
Yazar

2008, Yılından beri sistem ve yazılım teknolojileri ile ilgilenmekteyim. Ayrıntılı bilgi için hakkımda sayfamı inceleyebilirsiniz.

Bir Cevap Yazın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yapılan Yorumlar ( 3 )