3.2.2的分页url简化 奇葩方法 求批判求优化

浏览:657 发布日期:2014/09/13 分类:求助交流
我们的目标是,没有蛀牙~ http://127.0.0.1/document/list_1.html
http://127.0.0.1/document/list_2.html
http://127.0.0.1/document/list_3.html
想要实现如上的分页url,使用的默认的分页类,先来观赏一下默认分页的urlhttp://127.0.0.1/Article/lists/cid/document/m/Home/p/2.html这个url给了一个大大:(,打不开呀,肿么办,果断替换,于是$show = $Page->show();
 $show = str_replace("Article/lists/cid/{$cid}/m/Home/p/","{$cid}/list_",$show);
url果然给力变成了想要的,http://127.0.0.1/document/list_2.html配置个路由先'/^(\w+)\/list_(\d+)$/' => 'Home/Article/lists?cid=:1&p=:2',点击进入,顿时悲剧了,第一页的链接变成了http://127.0.0.1/Article/lists/cid/document/p/1/m/Home.html百撕不得骑姐,为甚模块名上了后面去了,导致无法替换,而且后面的模块名貌似是去不掉的影子一样,抽个烟,脑补一下,反复尝试之后,终于$show = $Page->show();
$show = str_replace("m/Home/","",$show);
$show = str_replace("Article/lists/cid/{$cid}/p/","{$cid}/list_",$show);
$show = str_replace("m/Home","",$show);
$show = str_replace("/.html",".html",$show);
多次拆分替换终于得到了想要的结果。

只是,这种解决方法自我感觉有点奇葩,
另注:调试模式的开启和关闭会影响控制器名的首字母大小写,这个要对应。
求大神给力,给一个简洁的方法吧。
最佳答案
评论( 相关
后面还有条评论,点击查看>>