分页后缀在以前的链接上不起作用

时间:2013-03-05 18:22:40

标签: codeigniter

这是我的分页代码

$config['base_url']    = base_url().'cp/orders/';
$config['suffix'] = '?'.http_build_query($_GET, '', "&");
$config['uri_segment'] = 3;
$config['total_rows']  = $count_all;
$config['per_page']    = 20 ;
$this->pagination->initialize($config);
echo $this->pagination->create_links();

所以在第一页中,当我点击第2页时它会正常工作

http://mysite.com/cp/orders/20?sort=id&adc=desc

但是在第二页中,如果我点击第一页或上一页(<),则转到

http://mysite.com/cp/orders/20

$config['suffix'] = '?'.http_build_query($_GET, '', "&");

在以前的链接中不起作用!

2 个答案:

答案 0 :(得分:3)

我发现并修复了与第一页链接与其他页面链接不一致相关的错误。我建议使用Github repo中的当前版本扩展Pagination库,直到CodeIgniter 3.0发布,此时它将内置,你可以删除你的扩展库。

新版本还有一个名为reuse_query_string的配置选项,设置为TRUE时会保留任何现有的查询字符串。因此,当您到达页面时它们已经存在,您无需担心将它们指定为后缀。

$config['reuse_query_string'] = TRUE;

当前库文件:https://github.com/EllisLab/CodeIgniter/blob/develop/system/libraries/Pagination.php 带有信息的相关拉取请求:https://github.com/EllisLab/CodeIgniter/pull/2199

答案 1 :(得分:3)

如果您不想更改库,可以将first_url设置如下:

$config['first_url'] = $config['base_url'] . $config['suffix'];