CodeIgniter 使用手冊版本 2.1.4


分頁(Pagination)類別

CodeIgniter 分頁類別是一個非常簡單,並且可以讓使用者 100% 自訂個人喜好設定

假如您還不是很瞭解分頁的功能用法,那底下就是一個範例,讓您製作簡單的分頁到下一個分頁

« First  < 1 2 3 4 5 >  Last »

範例

底下是一個簡單的例子,教您如何在 控制器(Controller) 函數裡面建立基本分頁

$this->load->library('pagination');

$config['base_url'] = 'http://example.com/index.php/test/page/';
$config['total_rows'] = 200;
$config['per_page'] = 20;

$this->pagination->initialize($config);

echo $this->pagination->create_links();

注意:

$config 裡包含了您所設定的基本參數。上述設定的所有參數會傳送到 $this->pagination->initialize 函數裡面進行初始化。 雖然您可以設定大多數的參數,但最基本的三個參數是您必須要設定的。這裡簡單描述這三個參數的用法及意義:

當您沒有分頁資料可以顯示的時候,create_links() 函數就會回傳空字串。

設定分頁參數

假如您不喜歡上述所說的設定方式,您可以簡單的建立 pagination.php,把 $config 參數都設定到檔案裡面,並且將檔案另存到 config/pagination.php 可以讓它自動被載入使用。使用這個方法,你不再需要使用 $this->pagination->initialize 方式載入。

自訂分頁參數

下面是分頁參數列表,您可以依照個人喜好設定參數,並且設定您喜歡的顯示效果。

$config['uri_segment'] = 3;

分頁函數會自動偵測決定您的 URI 哪個部份包含了頁數,如果你想指定不一樣的,你可以在這裡明確設定它。

$config['num_links'] = 2;

放在您目前所在頁數前面跟後面所顯示的分頁數量。舉例來說,參數設定2,就會在前面跟後面兩邊多加兩個頁數,如同此頁最頂端的例子所顯示

$config['use_page_numbers'] = TRUE;

預設會在 URI 顯示你要分頁項目的索引編號,而不是頁數。如果你比較喜歡使用頁數,將這個值設定為 TRUE 。

$config['page_query_string'] = TRUE;

在預設情況下,分頁類會假設您預設使用 URI Segments,並且建構您的連結就如同底下

http://example.com/index.php/test/page/20

假如您把 $config['enable_query_strings'] 參數設定為 TRUE,您的連結將會自動地被查詢字串所改寫。這個選項可以明確的被設置。把 $config['page_query_string'] 設定為 TRUE,分頁連結將會變成:

http://example.com/index.php?c=test&m=page&per_page=20

請注意 "per_page" 是預設的分頁變數字串,然而您可以利用設定 $config['query_string_segment'] = 'your_string' 來改變您要的變數字串。

增加 Tag 標籤

如果您希望在分頁左右兩邊加上 Tag 標籤,您可以利用下面兩種參數設定。

$config['full_tag_open'] = '<p>';

此標籤是放在顯示分頁結果的左側。

$config['full_tag_close'] = '</p>';

此標籤是放在顯示分頁結果的右側。

自訂起始分頁連結名稱

$config['first_link'] = 'First';

您希望在分頁左邊顯示"第一頁"的名稱。如果你不想讓連結呈現,你可以將值設為 FALSE

$config['first_tag_open'] = '<div>';

第一頁連結左邊標籤。

$config['first_tag_close'] = '</div>';

第一頁連結右邊標籤。

自訂結束分頁連結名稱

$config['last_link'] = 'Last';

您希望在分頁右邊顯示"最後一頁"的名稱。如果你不想讓連結呈現,你可以將值設為 FALSE

$config['last_tag_open'] = '<div>';

最後一頁連結左邊標籤。

$config['last_tag_close'] = '</div>';

最後一頁連結右邊標籤。

自訂"下一頁"連結名稱

$config['next_link'] = '&gt;';

您希望在分頁中顯示"下一頁"的名稱。如果你不想讓連結呈現,你可以將值設為 FALSE

$config['next_tag_open'] = '<div>';

下一頁連結左邊標籤。

$config['next_tag_close'] = '</div>';

下一頁連結右邊標籤。

自訂"上一頁"連結名稱

$config['prev_link'] = '&lt;';

您希望在分頁中顯示"上一頁"的名稱。如果你不想讓連結呈現,你可以將值設為 FALSE

$config['prev_tag_open'] = '<div>';

上一頁連結的左邊標籤。

$config['prev_tag_close'] = '</div>';

上一頁連結的右邊標籤。

自訂"目前頁面"連結名稱

$config['cur_tag_open'] = '<b>';

目前頁面左邊標籤。

$config['cur_tag_close'] = '</b>';

目前頁面右邊標籤。

自訂分頁數字連結

$config['num_tag_open'] = '<div>';

分頁數字連結左邊標籤。

$config['num_tag_close'] = '</div>';

分頁數字連結右邊標籤。

隱藏頁數

如果你不想顯示頁數,例如你只想顯示上一頁與下一頁,你可以加入:

$config['display_pages'] = FALSE;

加入 class 屬性

如果你想要為每個分頁類別的連結加入 class,你可以設定 "anchor_class" 為你要的 class