Verzeichnis suchen
Array Array Helper Benchmarking Benchmarking Class Caching Caching Driver Calendaring Calendaring Class CAPTCHA CAPTCHA Helper Config Config Class Cookie Cookie Helper Database Connecting to your Database Custom Function Calls Database Caching Class Database Configuration Database Forge Class Database Metadata Database Quick Start: Example Code Database Reference Database Utility Class DB Driver Reference Generating Query Results Queries Query Builder Class Query Helper Methods Transactions Date Date Helper Directory Directory Helper Download Download Helper Email Email Class Email Helper Encrypt Encrypt Class Encryption Encryption Library File File Helper File Uploading File Uploading Class Form Form Helper Form Validation Form Validation FTP FTP Class Functions compatibility_functions common_functions HTML HTML Helper HTML Table HTML Table Class Image Manipulation Image Manipulation Class Inflector Inflector Helper Input Input Class Javascript Javascript Class Language Language Class Language Helper Loader Loader Class Migrations Migrations Class Number Number Helper Output Output Class Pagination Pagination Class Path Path Helper Security Security Class Security Helper Session Session Library Shopping Cart Shopping Cart Class Smiley Smiley Helper String String Helper Template Parser Template Parser Class Text Text Helper Trackback Trackback Class Typography Typography Class Typography Helper Unit Testing Unit Testing Class URI URL User Agent XML XML-RPC and XML-RPC Server Zip Encoding Zip Encoding Class XML-RPC and XML-RPC Server Classes XML Helper User Agent Class URL Helper URI Class
Figuren

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();

Notes

$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>’;

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

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格式的分页

返回类型:

Vorheriger Artikel: Nächster Artikel: