©
本文档使用
php.cn手册 发布
CodeIgniter的分页类非常易于使用,它可以动态地或通过存储的首选项100%定制。
例
笔记
在配置文件中设置首选项
自定义分页
添加封闭标记
自定义第一个链接
定制最后一个链接
自定义“下一步”链接
自定义“上一个”链接
自定义“当前页面”链接
自定义“数字”链接
隐藏页面
将属性添加到锚点
禁用“rel”属性
类参考
如果您对“分页”一词不熟悉,那么它指的是允许您按页面浏览的链接,如下所示:
« 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();
该$config
数组包含您的配置变量。它传递给$this->pagination->initialize()
如上所示的方法。尽管您可以配置大约20个项目,但至少需要显示三个项目。以下是对这些项目所代表的内容的描述:
base_url这是包含分页的控制器类/函数的完整URL。在上面的例子中,它指向一个名为“Test”的控制器和一个名为“page”的函数。请记住,如果您需要不同的结构,则可以重新路由您的URI。
total_rows该数字表示您正在为其创建分页结果集中的总行数。通常这个数字将是数据库查询返回的总行数。
per_page您打算每页显示的项目数。在上面的例子中,你会显示每页20项。
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>’;
“下一个”链接的结束标记。
$config‘prev_link’ = ‘<’;
您希望在“上一页”链接中显示的文字。如果你不想渲染这个链接,你可以将它的值设置为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;
如果你想添加一个额外的属性来添加到分页类呈现的每个链接,你可以在“属性”配置中将它们设置为键/值对:
// Produces: class="myclass"$config['attributes'] = array('class' => 'myclass');
注意
不赞成使用通过“anchor_class”设置类的旧方法。
默认情况下,rel属性是动态生成的,并附加到适当的锚点。如果由于某种原因想要关闭它,可以将布尔值FALSE作为常规属性传递
$config['attributes']['rel'] = FALSE;
class CI_Paginationinitialize([$params = array()])
参数: | $ params(array) - 配置参数 |
---|---|
返回: | CI_Pagination实例(方法链接) |
返回类型: | CI_Pagination |
$ params(array) - 配置参数
Returns: CI\_Pagination instance (method chaining)
Return type: CI\_Pagination
Initializes the Pagination class with your preferred options.
create_links()
返回: | HTML格式的分页 |
---|---|
返回类型: | 串 |