Ketika kita menggunakan library pagination dengan menggunakan CodeIgniter, kita akan selalu menuliskan config-config yang digunakan sebagai pengaturan untuk pagination itu sendiri. Akan menjadi tidak efektif ketika config-config tersebut ditulis secara berulang-ulang karena akan memakan banyak tempat karena selain hanya mengatur config dasar juga mengatur config yang nantinya akan digunakan untuk memperindah menggunakan CSS seperti tag pembuka atau penutup yang nantinya bisa diatur untuk diperindah menggunakan CSS.
Untuk itu perlulah menggunakan library tambahan dimana pagination dapat dipakai secara berulang-ulang tanpa mengulang config yang sama secara terus-menerus. Langkah pertama adalah membuat library tambahan dengan nama page.php dan disimpan dalam folder application/libraries:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
Class Page
{
function Page()
{
$this->SG =& get_instance();
$this->SG->load->library(array('pagination'));
}
function getPagination($total_page,$per_page,$url,$uri=3)
{
$config['base_url'] = base_url().$url;
$config['total_rows'] = $total_page;
$config['per_page'] = $per_page;
$config['uri_segment'] = $uri;
$this->SG->pagination->initialize($config);
return $this->SG->pagination->create_links();
}
}
Kemudian penggunaan dalam controller adalah:
$total_page = $data['num_results']; $per_page = 2; $url = "pagination/display/$sort_by/$sort_order"; $data['pagination'] = $this->page->getPagination($total_page,$per_page,$url,$uri=5);
Dengan menggunakan library ini, yang perlu diatur setiap kali menggunakan library page ini adalah untuk variabel $total_page,$per_page dan $url. Untuk config lain yang sering digunakan, cukup ditambahkan ke dalam library page.php.
Untuk source lengkap ada di sini. Semoga bermanfaat.
Inspirasi http://blog.putraweb.net/
