手机
当前位置:查字典教程网 >编程开发 >php教程 >改写ThinkPHP的U方法使其路由下分页正常
改写ThinkPHP的U方法使其路由下分页正常
摘要:ThinkPHP3.1.3在启用路由的情况下,其分页地址不是路由的地址,由于thinkphp3.2.1的代码也没有修复,很多人都遇到了这一问...

ThinkPHP3.1.3在启用路由的情况下,其分页地址不是路由的地址,由于thinkphp3.2.1的代码也没有修复,很多人都遇到了这一问题,本文采纳olcms的修改方法解决这一问题,特别感谢phper jack对此做出的贡献,具体解决办法是修改ThinkPHP的functions.php的U方法,在287行左右:

if(!empty($vars)) { // 添加参数 foreach ($vars as $var => $val){ if('' !== trim($val)) $url .= $depr . $var . $depr . urlencode($val); }

后面加入以下代码

/* * tp开启路由之后下一页路由失效问题 分页类URL组装 */ //如果开启路由 if(C('URL_ROUTER_ON')){ foreach (C('URL_ROUTE_RULES') as $zhaolg => $zlig){//遍历路由 if(strstr('/'.GROUP_NAME.$url,$zlig)){//从网址中找路由规则 $lg = strstr($zhaolg,'/:');//分析规则 带参数? if($lg){//如果规则带参数 $tempzlg = str_replace('/:','',$lg);//取参数 //dump($tempzlg); if($tempzlg){ if(C('APP_SUB_DOMAIN_DEPLOY')){ $zlgurl = str_replace($zlig,$zhaolg,'/'.GROUP_NAME.$url); //url替换为路由规则 }else{ $zlgurl = str_replace($zlig,$zhaolg,$url); //url替换为路由规则 } //注 /s/:c/c/4/p/__PAGE__ //dump($zlgurl); $url = str_replace($lg.'/'.$tempzlg,'',$zlgurl);//url替换路由规则参数 } }else{//分析规则 不带参数 if(C('APP_SUB_DOMAIN_DEPLOY')){ $url = str_replace($zlig,$zhaolg,'/'.GROUP_NAME.$url);//url替换为路由规则 }else{ $url = str_replace($zlig,$zhaolg,$url);//url替换为路由规则 } } } } }

至此问题得以解决!

【改写ThinkPHP的U方法使其路由下分页正常】相关文章:

php实现简单的语法高亮函数实例分析

PHP获取数组的键与值方法小结

PHP中的魔术方法总结和使用实例

php 字母大小写转换的方法

基于PHP与XML的PDF文档生成技术

PHP中把对象转换为关联数组代码分享

PHP怎样调用MSSQL的存储过程

编写PHP的安全策略

PHP中的事务使用实例

PHP应用分页显示制作详细讲解

精品推荐
分类导航