用户
 找回密码
 入住 CI 中国社区
搜索
查看: 5508|回复: 13
收起左侧

[讨论/交流] CI分页有个小的问题。

[复制链接]
发表于 2011-7-11 14:40:17 | 显示全部楼层 |阅读模式
本帖最后由 xushre 于 2011-7-28 10:55 编辑

当然,这应该不是BUG,只是他的逻辑是否有问题我就不能断定了。只是觉得他的代码出了一点小的差错!

config.php中的$config['url_suffix']设置:
PHP复制代码
 
        $config['url_suffix'] = '.do';
 
复制代码


分页代码
PHP复制代码
 
        $this->load->library('pagination');
        /** 参数设置 **/
        $config['total_rows'] = 100;
        $config['per_page']  = 10;
        $config['base_url']    = site_url('news/index');
        $this->pagination->initialize($config);
        echo $this->pagination->create_links();
 
复制代码


如果像上面这样传递,得出的下一页URL会变成 http://www.my.com/news/index.do/10;

而我们实际上应该得出的结果是 http://www.my.com/news/index/10.do 才是正确的

而且我发现,他并不能直接调用config/config.php中的$config['url_suffix']。那么我是否应该再传一个$config['url_suffix']给分页类呢?

有些纠结!

最后自己修改了一个分页代码:
PHP复制代码
 
        $this->load->library('pagination');
        /** 参数设置 **/
        $config['total_rows']  = 100;
        $config['per_page']  = 10;
        $config['suffix']  = $this->config->item('url_suffix');
        $config['base_url']  = str_replace($config['suffix'], '', site_url('news/index'));
        $this->pagination->initialize($config);
        echo $this->pagination->create_links();
 
复制代码


出来的代码才是正确的 http://www.my.com/news/index/10.do


发表于 2011-7-11 14:44:56 | 显示全部楼层
这个问题一直存在的
发表于 2011-7-12 10:50:30 | 显示全部楼层
不知道你在 当前分页数后加个后缀 意义何在?
发表于 2011-7-14 16:54:46 | 显示全部楼层
 楼主| 发表于 2011-7-17 17:33:28 | 显示全部楼层
zfm1988 发表于 2011-7-12 10:50
不知道你在 当前分页数后加个后缀 意义何在?

意义就是保持分页和不分页的文件都带有正确的后缀,如果不加,URL就错了!
发表于 2011-7-20 22:59:01 | 显示全部楼层
这个应该不算是问题吧.
只是个人爱好..
发表于 2011-7-26 12:36:08 | 显示全部楼层
分页类确实是没有考虑到带后缀的情况,我认为是BUG,但不知道官方为什么不修复。
 楼主| 发表于 2011-7-28 10:50:23 | 显示全部楼层
是呀是呀,你们英文好的,给他发个E-mail说一下噻
 楼主| 发表于 2011-7-28 10:51:15 | 显示全部楼层
as3291363 发表于 2011-7-20 22:59
这个应该不算是问题吧.
只是个人爱好..

这个不是爱好,而是为了保持程序的一致性。
发表于 2012-8-22 17:46:14 | 显示全部楼层
这也遇到这个问题,看来只能先用楼主的方法解决了。
我的配置是:
  1. $config['url_suffix'] = '/';
复制代码

本版积分规则