分页类 | Pagination Class

Pagination Class

CodeIgniter的分页类非常易于使用,它可以动态地或通过存储的首选项100%定制。

如果您对“分页”一词不熟悉,那么它指的是允许您按页面浏览的链接,如下所示:

« First  < 1 2 3 4 5 >  Last »

下面是一个简单的例子,展示了如何在你的一个控制器方法中创建分页:

$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(

Notes

该$config数组包含您的配置变量。它传递给$this->pagination->initialize()如上所示的方法。尽管您可以配置大约20个项目,但至少需要显示三个项目。以下是对这些项目所代表的内容的描述:

  • base_url这是包含分页的控制器类/函数的完整URL。在上面的例子中,它指向一个名为“Test”的控制器和一个名为“page”的函数。请记住,如果您需要不同的结构,则可以重新路由您的URI。

create_links()当没有分页显示时,该方法返回一个空字符串。

在配置文件中设置首选项

如果您不想使用上述方法设置首选项,则可以将它们放入配置文件中。只需创建一个名为pagination.php的新文件,$config在该文件中添加数组。然后将文件保存在application / 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']set为TRUE,分页链接将变为:

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

请注意,“per_page”是传递的默认查询字符串,但可以使用 $config['query_string_segment'] = 'your_string'

$config‘reuse_query_string’ = FALSE;

默认情况下,您的查询字符串参数(与其他查询字符串选项无关)将被忽略。将此配置设置为TRUE会将现有的查询字符串参数添加到URI段之后和后缀之前的URL中。

http://example.com/index.php/test/page/20?query=search%term

这有助于将标准URI段和查询字符串参数混合在一起,直到3.0不可能。

$config‘prefix’ = ‘’;

自定义前缀添加到路径。前缀值将在偏移段之前。

$config‘suffix’ = ‘’;

添加到路径的自定义后缀。sufix值将在偏移段之后。

$config‘use_global_url_suffix’ = FALSE;

设置为TRUE时,它将覆盖$config['suffix']值,而将其设置为您$config['url_suffix']application / config / config.php文件中具有的值。

添加封闭标记

如果你想用一些标记来包围整个分页,你可以用以下两个首选项来完成:

$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‘first_url’ = ‘’;

用于“首页”链接的替代网址。

定制最后一个链接

$config‘last_link’ = ‘Last’;

您想要在右侧的“最后”链接中显示的文字。如果你不想渲染这个链接,你可以将它的值设置为FALSE。

注意

该值也可以通过语言文件进行翻译。

$config‘last_tag_open’ = ‘<div>’;

“最后”链接的开始标记。

$config‘last_tag_close’ = ‘</div>’;

“最后”链接的结束标记。

自定义“下一步”链接

$config‘next_link’ = ‘>’;

您希望在“下一页”链接中显示的文字。如果你不想渲染这个链接,你可以将它的值设置为FALSE。

注意

该值也可以通过语言文件进行翻译。

$config‘next_tag_open’ = ‘<div>’;

“下一个”链接的开始标记。

$config‘next_tag_close’ = ‘</div>’;

“下一个”链接的结束标记。

Customizing the “Previous” Link

$config‘prev_link’ = ‘<’;

您希望在“上一页”链接中显示的文字。如果你不想渲染这个链接,你可以将它的值设置为FALSE。

注意

该值也可以通过语言文件进行翻译。

$config‘prev_tag_open’ = ‘<div>’;

“上一个”链接的开始标记。

$config‘prev_tag_close’ = ‘</div>’;

“上一个”链接的结束标记。

Customizing the “Current Page” Link

$config‘cur_tag_open’ = ‘<b>’;

“当前”链接的开始标记。

$config‘cur_tag_close’ = ‘</b>’;

“当前”链接的结束标记。

Customizing the “Digit” Link

$config‘num_tag_open’ = ‘<div>’;

“数字”链接的开始标签。

$config‘num_tag_close’ = ‘</div>’;

“数字”链接的结束标记。

隐藏页面

如果您不想列出特定页面(例如,您只需要“下一个”和“前一个”链接),则可以通过添加以下内容来抑制其呈现:

$config['display_pages'] = FALSE;

将属性添加到锚点

如果你想添加一个额外的属性来添加到分页类呈现的每个链接,你可以在“属性”配置中将它们设置为键/值对:

// Produces: class="myclass" $config['attributes'] = array('class' => 'myclass'

注意

不赞成使用通过“anchor_class”设置类的旧方法。

禁用“rel”属性

默认情况下,rel属性是动态生成的,并附加到适当的锚点。如果由于某种原因想要关闭它,可以将布尔值FALSE作为常规属性传递

$config['attributes']['rel'] = FALSE;

类参考

class CI_Paginationinitialize([$params = array()])

参数:$ params(array) - 配置参数
返回:CI_Pagination实例(方法链接)
返回类型:CI_Pagination

  • $ paramsarray) - 配置参数

Returns: CI\_Pagination instance (method chaining)

Return type: CI\_Pagination

Initializes the Pagination class with your preferred options.

create_links()

返回:HTML格式的分页
返回类型: