Panada Framework 0.3.1 Documentation

Pagination

Pagination adalah proses membagi konten web dan menampilkannya pada halaman terpisah (http://en.wikipedia.org/wiki/Pagination_(web)).

Sebagai contoh misalnya ada sebuah halaman yang berisi daftar koleksi musik yang jumlah totalnya mencapai 200 item. Jika ditampilkan semua item, maka halaman tersebut akan mejadi sangat panjang. Untuk memudahkan dalam melihat data, maka data tadi dipecah-pecah menjadi beberapa halaman di mana setiap halaman ditampilkan data dengan jumlah maksimal yang telah ditentukan. Dengan begitu dalam mengaksesnya menjadi list halaman 1, list halaman 2 list halaman 3 dst.

Inisialisasi

Sebelum digunakan library pagination harus diinisialisasi terlebih dahulu.

$this->pagination = new Library_pagination();

Contoh Penggunaan

Data yang diperlukan dalam menggunakan library ini adalah:

  • Total data
  • Posisi halaman saat ini. Defaultnya adalah halaman 1.
  • URL Controller yang menangani proses paging.
  • Data yang akan ditampilkan.

Proses pagination sangat terkait dengan pengambilan data di database, berikut adalah contoh querey untuk paging di dalam model:

Berikut adalah contoh controller yang menangani pagination:

Sekarang kita buat bagian view untuk menampilkan data dan link pagination:

Selanjutnya akses alamat berikut untuk mendapatkan list halaman 1:

http://www.mysite.com/music/lists/

Halaman 2 alamatnya:

http://www.mysite.com/music/lists/2

Halaman 10 alamatnya:

http://www.mysite.com/music/lists/10

Kostumisasi

show_number

Jika tidak ingin menampilkan link-link berupa angka, set paramter ini menjadi false:

$this->pagination->show_number = false;

show_all

Untuk menampilkan semua link-link angka, set parameter ini menjadi false:

$this->pagination->show_all = false;

no_href

Jika data dari link-linknya tidak ingin dibungkus oleh tag link (<a href), set parameter ini menjadi true:

$this->pagination->no_href = true;

Nilai variable page_links akan menghasilkan data array seperti berikut:

Array([link] => paging link [value] => paging value)

Cara membungkus menjadi link html:

prev_text

String untuk previous misalnya "Sebelumnya".

$this->pagination->prev_text = 'Sebelumnya';

next_text

String untuk next misalnya "Berikutnya".

$this->pagination->next_text = 'Berikutnya';

group_separator

Pemisah antara blok angka yang satu dengan yang lainnya. contoh: 1 2 3 ... 22 23 24 ... 100 101 102

$this->pagination->group_separator = '...';

end_size

Berapa banyak jumlah angka yang ditampilkan di blok angka terakhir. Jika di set 2 maka hasilnya akan 1 2 ... 10 11 12 ... 100 101

$this->pagination->end_size = 1;

mid_size

Jumlah angka sebelum dan sesudah angka paging saat ini. Jika di set 2 maka hasilnya akan 1 2 ... 9 10 [11] 12 13 ... 100 101

$this->pagination->mid_size = 3;

Diskusi