?
This document uses PHP Chinese website manual Release
CodeIgniter的分頁類非常易于使用,它可以動(dòng)態(tài)地或通過存儲(chǔ)的首選項(xiàng)100%定制。
例
筆記
在配置文件中設(shè)置首選項(xiàng)
自定義分頁
添加封閉標(biāo)記
自定義第一個(gè)鏈接
定制最后一個(gè)鏈接
自定義“下一步”鏈接
自定義“上一個(gè)”鏈接
自定義“當(dāng)前頁面”鏈接
自定義“數(shù)字”鏈接
隱藏頁面
將屬性添加到錨點(diǎn)
禁用“rel”屬性
類參考
如果您對“分頁”一詞不熟悉,那么它指的是允許您按頁面瀏覽的鏈接,如下所示:
? First < 1 2 3 4 5 > Last ?
下面是一個(gè)簡單的例子,展示了如何在你的一個(gè)控制器方法中創(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ù)組包含您的配置變量。它傳遞給$this->pagination->initialize()
如上所示的方法。盡管您可以配置大約20個(gè)項(xiàng)目,但至少需要顯示三個(gè)項(xiàng)目。以下是對這些項(xiàng)目所代表的內(nèi)容的描述:
base_url這是包含分頁的控制器類/函數(shù)的完整URL。在上面的例子中,它指向一個(gè)名為“Test”的控制器和一個(gè)名為“page”的函數(shù)。請記住,如果您需要不同的結(jié)構(gòu),則可以重新路由您的URI。
total_rows該數(shù)字表示您正在為其創(chuàng)建分頁結(jié)果集中的總行數(shù)。通常這個(gè)數(shù)字將是數(shù)據(jù)庫查詢返回的總行數(shù)。
per_page您打算每頁顯示的項(xiàng)目數(shù)。在上面的例子中,你會(huì)顯示每頁20項(xiàng)。
create_links()
當(dāng)沒有分頁顯示時(shí),該方法返回一個(gè)空字符串。
如果您不想使用上述方法設(shè)置首選項(xiàng),則可以將它們放入配置文件中。只需創(chuàng)建一個(gè)名為pagination.php的新文件,$config
在該文件中添加數(shù)組。然后將文件保存在application / config / pagination.php中,它將自動(dòng)使用。$this->pagination->initialize()
如果您將首選項(xiàng)保存在配置文件中,則不需要使用。
以下是您可以傳遞給初始化函數(shù)以調(diào)整顯示的所有首選項(xiàng)的列表。
$config‘uri_segment’ = 3;
分頁功能自動(dòng)確定您的URI的哪個(gè)部分包含頁碼。如果你需要不同的東西,你可以指定它。
$config‘num_links’ = 2;
所選頁碼之前和之后所需的“數(shù)字”鏈接數(shù)。例如,數(shù)字2將在兩側(cè)放置兩位數(shù)字,如本頁最頂部的示例鏈接。
$config‘use_page_numbers’ = TRUE;
默認(rèn)情況下,URI段將為您正在分頁的項(xiàng)目使用起始索引。如果您希望顯示實(shí)際的頁碼,請將其設(shè)置為TRUE。
$config‘page_query_string’ = TRUE;
默認(rèn)情況下,分頁庫假定您使用的是URI Segments,并且構(gòu)建您的鏈接如下所示:
http://example.com/index.php/test/page/20
如果$config['enable_query_strings']
設(shè)置為TRUE,則鏈接將自動(dòng)使用查詢字符串重新編寫。該選項(xiàng)也可以明確設(shè)置。使用$config['page_query_string']
set為TRUE,分頁鏈接將變?yōu)椋?/p>
http://example.com/index.php?c=test&m=page&per_page=20
請注意,“per_page”是傳遞的默認(rèn)查詢字符串,但可以使用 $config['query_string_segment'] = 'your_string'
$config‘reuse_query_string’ = FALSE;
默認(rèn)情況下,您的查詢字符串參數(shù)(與其他查詢字符串選項(xiàng)無關(guān))將被忽略。將此配置設(shè)置為TRUE會(huì)將現(xiàn)有的查詢字符串參數(shù)添加到URI段之后和后綴之前的URL中。
http://example.com/index.php/test/page/20?query=search%term
這有助于將標(biāo)準(zhǔn)URI段和查詢字符串參數(shù)混合在一起,直到3.0不可能。
$config‘prefix’ = ‘’;
自定義前綴添加到路徑。前綴值將在偏移段之前。
$config‘suffix’ = ‘’;
添加到路徑的自定義后綴。sufix值將在偏移段之后。
$config‘use_global_url_suffix’ = FALSE;
設(shè)置為TRUE時(shí),它將覆蓋該$config['suffix']
值,而將其設(shè)置為您$config['url_suffix']
在application / config / config.php文件中具有的值。
如果你想用一些標(biāo)記來包圍整個(gè)分頁,你可以用以下兩個(gè)首選項(xiàng)來完成:
$config‘full_tag_open’ = ‘<p>’;
開標(biāo)簽放置在整個(gè)結(jié)果的左側(cè)。
$config‘full_tag_close’ = ‘</p>’;
結(jié)束標(biāo)簽放置在整個(gè)結(jié)果的右側(cè)。
$config‘first_link’ = ‘First’;
您希望顯示在左側(cè)“第一個(gè)”鏈接中的文字。如果你不想渲染這個(gè)鏈接,你可以將它的值設(shè)置為FALSE。
注意
該值也可以通過語言文件進(jìn)行翻譯。
$config‘first_tag_open’ = ‘<div>’;
“第一個(gè)”鏈接的開始標(biāo)記。
$config‘first_tag_close’ = ‘</div>’;
“第一個(gè)”鏈接的結(jié)束標(biāo)記。
$config‘first_url’ = ‘’;
用于“首頁”鏈接的替代網(wǎng)址。
$config‘last_link’ = ‘Last’;
您想要在右側(cè)的“最后”鏈接中顯示的文字。如果你不想渲染這個(gè)鏈接,你可以將它的值設(shè)置為FALSE。
注意
該值也可以通過語言文件進(jìn)行翻譯。
$config‘last_tag_open’ = ‘<div>’;
“最后”鏈接的開始標(biāo)記。
$config‘last_tag_close’ = ‘</div>’;
“最后”鏈接的結(jié)束標(biāo)記。
$config‘next_link’ = ‘>’;
您希望在“下一頁”鏈接中顯示的文字。如果你不想渲染這個(gè)鏈接,你可以將它的值設(shè)置為FALSE。
注意
該值也可以通過語言文件進(jìn)行翻譯。
$config‘next_tag_open’ = ‘<div>’;
“下一個(gè)”鏈接的開始標(biāo)記。
$config‘next_tag_close’ = ‘</div>’;
“下一個(gè)”鏈接的結(jié)束標(biāo)記。
$config‘prev_link’ = ‘<’;
您希望在“上一頁”鏈接中顯示的文字。如果你不想渲染這個(gè)鏈接,你可以將它的值設(shè)置為FALSE。
注意
該值也可以通過語言文件進(jìn)行翻譯。
$config‘prev_tag_open’ = ‘<div>’;
“上一個(gè)”鏈接的開始標(biāo)記。
$config‘prev_tag_close’ = ‘</div>’;
“上一個(gè)”鏈接的結(jié)束標(biāo)記。
$config‘cur_tag_open’ = ‘<b>’;
“當(dāng)前”鏈接的開始標(biāo)記。
$config‘cur_tag_close’ = ‘</b>’;
“當(dāng)前”鏈接的結(jié)束標(biāo)記。
$config‘num_tag_open’ = ‘<div>’;
“數(shù)字”鏈接的開始標(biāo)簽。
$config‘num_tag_close’ = ‘</div>’;
“數(shù)字”鏈接的結(jié)束標(biāo)記。
如果您不想列出特定頁面(例如,您只需要“下一個(gè)”和“前一個(gè)”鏈接),則可以通過添加以下內(nèi)容來抑制其呈現(xiàn):
$config['display_pages'] = FALSE;
如果你想添加一個(gè)額外的屬性來添加到分頁類呈現(xiàn)的每個(gè)鏈接,你可以在“屬性”配置中將它們設(shè)置為鍵/值對:
// Produces: class="myclass"$config['attributes'] = array('class' => 'myclass');
注意
不贊成使用通過“anchor_class”設(shè)置類的舊方法。
默認(rèn)情況下,rel屬性是動(dòng)態(tài)生成的,并附加到適當(dāng)?shù)腻^點(diǎn)。如果由于某種原因想要關(guān)閉它,可以將布爾值FALSE作為常規(guī)屬性傳遞
$config['attributes']['rel'] = FALSE;
class CI_Paginationinitialize([$params = array()])
參數(shù): | $ params(array) - 配置參數(shù) |
---|---|
返回: | CI_Pagination實(shí)例(方法鏈接) |
返回類型: | CI_Pagination |
$ params(array) - 配置參數(shù)
Returns: CI\_Pagination instance (method chaining)
Return type: CI\_Pagination
Initializes the Pagination class with your preferred options.
create_links()
返回: | HTML格式的分頁 |
---|---|
返回類型: | 串 |