分頁類
CodeIgniter 的分頁類是一個非常簡單,并且 100% 用戶自定義的類。
分頁類允許你通過提交鏈接從一個頁面導(dǎo)航至另一個頁面,如下:
? First??<?1?2?3?4?5?>??Last ?
例子
這里有一個例子展示了如何在你的控制器里創(chuàng)建一個分頁:
$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 數(shù)組包含了你的配置參數(shù)。這些參數(shù)被 $this->pagination->initialize 方法傳遞,如上面的例子所展示。以下是對這些項目的描述:
- base_url 這是一個完整的 URL 路徑通向包含你的分頁控制器類/方法。在上面的這個例子里,它指向了一個叫“Test”的控制器和它的一個方法叫“Page”。 記住,你可以重新路由你的 URI,如果你需要一個不同的結(jié)構(gòu)。
- total_rows 這個數(shù)字展示了你需要做分頁的數(shù)據(jù)總行數(shù)。這個數(shù)值是你查詢數(shù)據(jù)庫得到的數(shù)據(jù)總量。
- per_page 這個數(shù)字計劃了你每個頁面中希望展示的項目數(shù)量,在上面的那個例子中,你可以得到每頁顯示 20 個項目。
當(dāng)你沒有分頁需要顯示時,create_links() 方法會返回一個空的字符串。
在配置文件中設(shè)置參數(shù)
如果你不喜歡用以上的方法設(shè)定你的喜歡,你可以用簡單的創(chuàng)建一個新的文件叫做 pagination.php,把 $config 數(shù)組加到這個文件中。把文件保存至 config/pagination.php 可以讓它被自動使用。用這個方法,你不在需要使用 $this->pagination->initialize 方法。
自定義分頁
下面是一個參數(shù)列表,你可以通過初始化方法來定制你喜歡的顯示效果。
$config['uri_segment'] = 3;
分頁方法自動測定你 URI 的哪個部分包含頁數(shù)。如果你需要一些不一樣的,你可以明確指定它。
$config['num_links'] = 2;
放在你當(dāng)前頁碼的前面和后面的“數(shù)字”鏈接的數(shù)量。比方說值為 2 就會在每一邊放置 2 個數(shù)字鏈接,就像此頁頂端的示例鏈接那樣。
$config['use_page_numbers'] = TRUE;
默認(rèn)分頁URL中是顯示每頁記錄數(shù),啟用use_page_numbers后顯示的是當(dāng)前頁碼,如下:
不啟用:http://example.com/index.php/test/page/20
啟用后:http://example.com/index.php/test/page/1
$config['page_query_string'] = TRUE
默認(rèn)情況下,分頁類庫假設(shè)你使用 URI 段,并像這樣構(gòu)造你的鏈接:
http://example.com/index.php/test/page/20
如果你把 $config['enable_query_strings'] 設(shè)置為 TRUE,你的鏈接將自動地被用查詢字符串重寫。這個選項也可以被明確地設(shè)置。把 $config['page_query_string'] 設(shè)置為 TRUE,分頁鏈接將變成:
http://example.com/index.php?c=test&m=page&per_page=20
請注意,“per_page”是默認(rèn)傳遞的查詢字符串,但也可以使用 $config['query_string_segment'] = '你的字符串' 來配置。
添加封裝標(biāo)簽
如果你希望在整個分頁周圍圍繞一些標(biāo)簽,你可以通過下面的兩種方法:
$config['full_tag_open'] = '<p>';
把打開的標(biāo)簽放在所有結(jié)果的左側(cè)。
$config['full_tag_close'] = '</p>';
把關(guān)閉的標(biāo)簽放在所有結(jié)果的右側(cè)。
自定義起始鏈接
$config['first_link'] = 'First';
你希望在分頁的左邊顯示“第一頁”鏈接的名字。如果你不希望顯示,可以把它的值設(shè)為 FALSE 。
$config['first_tag_open'] = '<div>';
“第一頁”鏈接的打開標(biāo)簽。
$config['first_tag_close'] = '</div>';
“第一頁”鏈接的關(guān)閉標(biāo)簽。
自定義結(jié)束鏈接
$config['last_link'] = 'Last';
你希望在分頁的右邊顯示“最后一頁”鏈接的名字。如果你不希望顯示,可以把它的值設(shè)為 FALSE 。
$config['last_tag_open'] = '<div>';
“最后一頁”鏈接的打開標(biāo)簽。
$config['last_tag_close'] = '</div>';
“最后一頁”鏈接的關(guān)閉標(biāo)簽。
自定義“下一頁”鏈接
$config['next_link'] = '>';
你希望在分頁中顯示“下一頁”鏈接的名字。如果你不希望顯示,可以把它的值設(shè)為 FALSE 。
$config['next_tag_open'] = '<div>';
“下一頁”鏈接的打開標(biāo)簽。
$config['next_tag_close'] = '</div>';
“下一頁”鏈接的關(guān)閉標(biāo)簽。
自定義“上一頁”鏈接
$config['prev_link'] = '<';
你希望在分頁中顯示“上一頁”鏈接的名字。如果你不希望顯示,可以把它的值設(shè)為 FALSE 。
$config['prev_tag_open'] = '<div>';
“上一頁”鏈接的打開標(biāo)簽。
$config['prev_tag_close'] = '</div>';
“上一頁”鏈接的關(guān)閉標(biāo)簽。
自定義“當(dāng)前頁”鏈接
$config['cur_tag_open'] = '<b>';
“當(dāng)前頁”鏈接的打開標(biāo)簽。
$config['cur_tag_close'] = '</b>';
“當(dāng)前頁”鏈接的關(guān)閉標(biāo)簽。
自定義“數(shù)字”鏈接
$config['num_tag_open'] = '<div>';
“數(shù)字”鏈接的打開標(biāo)簽。
$config['num_tag_close'] = '</div>';
“數(shù)字”鏈接的關(guān)閉標(biāo)簽。
隱藏“數(shù)字”鏈接
如果你不想顯示“數(shù)字”鏈接(比如只顯示 “上一頁” 和 “下一頁”鏈接)你可以添加如下配置:
$config['display_pages'] = FALSE;
// 不顯示“數(shù)字”鏈接
給鏈接添加 CSS 類
如果你想要給每一個鏈接添加 CSS 類,你可以添加如下配置:
$config['anchor_class'] = "";
//添加 CSS 類
?