Pagination (Sayfalama) Kütüphanesi
Pagination kütüphanesi, çok sayıda verinin sayfalara bölünerek listenmesini sağlar. Sayfalama linkleri özelleştirilebilir yapıdadır. Böylece istenilen sayfalama stili giydirilebilir.
- Sayfalama Ayarları » init()
- Sayfa Linklerini Yazdırma » printLinks()
- Max. Sayfa Sayısını Belirleme » setMaxPageToShow()
- Sayfa Başına Kayıt Sayısını Belirleme » setItemsPerPage()
- Toplam Kayıt Sayısını Belirleme » setTotalItems()
- URL Pattern Belirleme » setUrlPattern()
- Önceki Sayfa Metnini Özelleştirme » setPreviousText()
- Sonraki Sayfa Metnini Özelleştirme » setNextText()
- Sayfa Numaralarını Özelleştirme » setUlClass(), setLiClass(), setLiActiveClass()
Sayfalama Ayarları
Çok sayıdaki veri dizisini sayfalara bölmek için, gerekli bazı ayarların tanımlanıp init() methoduna parametre verilerek çalıştırılması gerekir.
| Parametre | Veri Tipi | Açıklama |
|---|---|---|
| $total | Integer | Toplam kayıt sayısı |
| $per_page | Integer | Her bir sayfadaki kayıt sayısı |
| $current_page | Integer | Aktif sayfa numarası |
| $url_pattern | String | Sayfalama url yapısı |
Pagination::init(100, 10, 1, '/posts/?page=(:num)');
Yukarıdaki örnekte, toplam 100 kayıt, her sayfada 10 kayıt olacak şekilde bölünüyor. Bulunulan sayfa 1 olarak belirleniyor. Url pattern parametresinde yer alan (:num) ifadesi, linkte yer alacak sayfa numarasını gösteriyor.
Sayfa Linklerini Yazdırma
Sayfalama ayarları yapıldıktan sonra, oluşan sayfa linklerine erişmek için printLinks() methodu kullanılır. HTML içerikli string değer döndürür.
Pagination::printLinks();
Yukarıdaki kod aşağıdaki gibi bir çıktı verir;
<ul class="pagination">
<li><a href="/posts/?page=2">« Önceki</a></li>
<li><a href="/posts/?page=1">1</a></li>
<li><a href="/posts/?page=2">2</a></li>
<li class="active"><a href="/posts/?page=3">3</a></li>
<li><a href="/posts/?page=4">4</a></li>
<li><a href="/posts/?page=5">5</a></li>
<li><a href="/posts/?page=4">» Sonraki</a></li>
</ul>
Max. Sayfa Sayısını Belirleme
Sayfalama linkleri yazılırken görüntülenecek maksimum sayfa sayısını belirlemek için setMaxPagesToShow() methodu kullanılır. Burada belirlenen sayıdan daha fazla sayfa olması durumunda ... karakterleri ile daraltma yapılır.
| Parametre | Veri Tipi | Açıklama |
|---|---|---|
| $number | Integer | Max. sayfa sayısı |
Pagination::setMaxPagesToShow(5);
Sayfa Başına Kayıt Sayısını Belirleme
Her bir sayfada görüntülenecek kayıt sayısını belirlemek için setItemsPerPage() methodu da kullanılabilir.
| Parametre | Veri Tipi | Açıklama |
|---|---|---|
| $number | Integer | Kayıt sayısı |
Pagination::setItemsPerPage(10);
Toplam Kayıt Sayısını Belirleme
Sayfalama yapılacak kayıt sayısını tanımlamak için setTotalItems() methodu da kullanılabilir.
| Parametre | Veri Tipi | Açıklama |
|---|---|---|
| $number | Integer | Toplam kayıt sayısı |
Pagination::setTotalItems(100);
URL Pattern Belirleme
Sayfa numaralarına verilecek linklerin yapısını belirlemek için setUrlPattern() methodu da kullanılabilir. Sayfa numarası için (:num) ifadesi kullanılmalıdır.
| Parametre | Veri Tipi | Açıklama |
|---|---|---|
| $pattern | String | URL pattern |
Pagination::setUrlPattern('posts/p/(:num)'); // Örnek ( http://alanadi.com/posts/p/2 )
Pagination::setUrlPattern('posts/?p=(:num)'); // Örnek ( http://alanadi.com/posts/?p=2
Önceki Sayfa Metnini Özelleştirme
Bir önceki sayfaya ulaşmayı sağlayan butonda yer alacak metni özelleştirmek için setPreviousText() methodu kullanılır. Varsayılan değer Previous olarak ayarlanmıştır.
| Parametre | Veri Tipi | Açıklama |
|---|---|---|
| $title | String | Buton metni |
Pagination::setPreviousText('Önceki');
Sonraki Sayfa Metnini Özelleştirme
Bir sonraki sayfaya ulaşmayı sağlayan butonda yer alacak metni özelleştirmek için setNextText() methodu kullanılır. Varsayılan değer Next olarak ayarlanmıştır.
| Parametre | Veri Tipi | Açıklama |
|---|---|---|
| $title | String | Buton metni |
Pagination::setNextText('Sonraki');
Sayfa Numaralarnı Özelleştirme
Ekrana basılan sayfa numaraları için css stil tanımlaması yapılabilir. Bunun için setUlClass(), setLiClass() ve setLiActiveClass() methodları kullanılır.
# setUlClass()
Sayfalama bölümünün başladığı <ul> HTML elemanına class tanımlamak için kullanılır.
| Parametre | Veri Tipi | Açıklama |
|---|---|---|
| $title | String | Class Adı |
Pagination::setUlClass('pagination');
# setLiClass()
Her bir sayfa numarasına ait <li> HTML elemanına class tanımlamak için kullanılır.
| Parametre | Veri Tipi | Açıklama |
|---|---|---|
| $title | String | Class Adı |
Pagination::setLiClass('pageNumber');
# setLiActiveClass()
Bulunulan sayfanın sayfa numarasına ait <li> HTML elemanına class tanımlamak için kullanılır.
| Parametre | Veri Tipi | Açıklama |
|---|---|---|
| $title | String | Class Adı |
Pagination::setLiActiveClass('active');