scckfzx 发表于 2010-3-23 17:02:37

简单修改,让codeigniter分页类支持URL自定义后缀!

本帖最后由 scckfzx 于 2010-3-23 17:04 编辑

由于CODE的遗留问题,分页类是不支持URL自定义后缀的,假设你设定URL自定义后缀是.html的话,分页产生的链接是这样的:

http://www.xx.com/class/method/par1/par2.htm/page[其中page是页数]

而我们的理想要求是:http://www.xx.com/class/method/par1/par2/page.html

我们可以简单修改下就可以做到了,在:Pagination类的create_links方法中在最后即

return $output;
前加上三行代码:

$url_suffix=$CI->config->item('url_suffix');
$output=str_replace($url_suffix,'',$output);
$output=preg_replace("/\/(+)\"/","/\\1".$url_suffix."\"",$output);
这样就可以获得在分页情况下的:http://www.xx.com/class/method/par1/par2/page.html 理想类型
目前我们的项目中引用还是正确的,没有任何问题

Hex 发表于 2017-1-16 18:11:17

你微笑的看着我 发表于 2017-1-16 13:52
我做分页除了第一页之外之后的页面url最后都有一个数字,而分页的内容有链接页面的,所有除了第一页之外 ...

分页最后有数字是对的,你的需求是什么?

你微笑的看着我 发表于 2017-1-16 12:12:25

Hex 发表于 2017-1-16 11:48
注意看 CI 版本对不对,这个帖子很老了。。。。。

恩   可能版本不对刚好翻到这个   所以没注意看,那最新版本的怎么修改呢

Hex 发表于 2017-1-16 13:39:53

你微笑的看着我 发表于 2017-1-16 12:12
恩   可能版本不对刚好翻到这个   所以没注意看,那最新版本的怎么修改呢 ...

你要修改什么啊?

snllll 发表于 2010-4-11 04:04:00

这个问题我好像看到hex老大提到过,就是你在分页的base_path后面不要加上什么.html,也就是首页形式为:xxx.html其中.html是自定义后缀,你只需要设置分页的base_path还是base_url是xxx就可以了,不要加上.html,系统会自动搞定

jimboy 发表于 2010-4-11 10:17:10

也可以配置下重写

longjianghu 发表于 2010-10-25 16:53:25

谢谢改天试试

onice 发表于 2011-5-11 11:33:32

厉害,正在纠结这个问题呢。感谢帮助

skychf 发表于 2012-3-20 00:03:49

呵,非常好,正需要

Aloghli 发表于 2014-9-15 19:21:30

我也转给别人了哦

你微笑的看着我 发表于 2017-1-16 11:27:42

我在create_links方法中没有找到这句return $output;啊

Hex 发表于 2017-1-16 11:48:16

你微笑的看着我 发表于 2017-1-16 11:27
我在create_links方法中没有找到这句return $output;啊

注意看 CI 版本对不对,这个帖子很老了。。。。。
页: [1] 2
查看完整版本: 简单修改,让codeigniter分页类支持URL自定义后缀!