CodeIgniter 用户指南 版本 2.0.0

PHP100中文网
查看原文

分页类

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

提示:

$config 数组包含了你的配置参数。这些参数被 $this->pagination->initialize 方法传递,如上面的例子所展示。以下是对这些项目的描述:

当你没有分页需要显示时,create_links() 方法会返回一个空的字符串。

在配置文件中设置参数

如果你不喜欢用以上的方法设定你的喜欢,你可以用简单的创建一个新的文件叫做 pagination.php,把 $config 数组加到这个文件中。把文件保存至 config/pagination.php 可以让它被自动使用。用这个方法,你不在需要使用 $this->pagination->initialize 方法。

自定义分页

下面是一个参数列表,你可以通过初始化方法来定制你喜欢的显示效果。

$config['uri_segment'] = 3;

分页方法自动测定你 URI 的哪个部分包含页数。如果你需要一些不一样的,你可以明确指定它。

$config['num_links'] = 2;

放在你当前页码的前面和后面的“数字”链接的数量。比方说值为 2 就会在每一边放置 2 个数字链接,就像此页顶端的示例链接那样。

$config['page_query_string'] = TRUE

默认情况下,分页类库假设你使用 URI 段,并像这样构造你的链接:

http://example.com/index.php/test/page/20

如果你把 $config['enable_query_strings'] 设置为 TRUE,你的链接将自动地被用查询字符串重写。这个选项也可以被明确地设置。把 $config['page_query_string'] 设置为 TRUE,分页链接将变成:

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

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

添加封装标签

如果你希望在整个分页周围围绕一些标签,你可以通过下面的两种方法:

$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['last_link'] = 'Last';

你希望在分页的右边显示“最后一页”链接的名字。If you do not want this link rendered, you can set its value to FALSE.

$config['last_tag_open'] = '<div>';

“最后一页”链接的打开标签。

$config['last_tag_close'] = '</div>';

“最后一页”链接的关闭标签。

自定义“下一页”链接

$config['next_link'] = '&gt;';

你希望在分页中显示“下一页”链接的名字。If you do not want this link rendered, you can set its value to FALSE.

$config['next_tag_open'] = '<div>';

“下一页”链接的打开标签。

$config['next_tag_close'] = '</div>';

“下一页”链接的关闭标签。

自定义“上一页”链接

$config['prev_link'] = '&lt;';

你希望在分页中显示“上一页”链接的名字。If you do not want this link rendered, you can set its value to 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; 不显示“数字”链接

给链接添加 CSS 类

如果你想要给每一个链接添加 CSS 类,你可以添加如下配置:If you want to add a class attribute to every link rendered by the pagination class, you can set the config "anchor_class" equal to the classname you want.

$config['anchor_class'] = ""; 添加 CSS 类
翻译贡献者: Fanbin, Hex, roln, sankai
最后修改: 2011-02-01 01:50:31