• 技术文章 >后端开发 >php教程

    改写ThinkPHP的U方法使其路由下分页正常_PHP教程

    2016-07-13 10:26:28原创334
    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('//m.sbmmt.com/m/'.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,'//m.sbmmt.com/m/'.GROUP_NAME.$url); //url替换为路由规则 
              }else{
                $zlgurl = str_replace($zlig,$zhaolg,$url); //url替换为路由规则 
              }                
              //注 /s/:c/c/4/p/__PAGE__
              //dump($zlgurl);
              $url = str_replace($lg.'//m.sbmmt.com/m/'.$tempzlg,'',$zlgurl);//url替换路由规则参数
                            
            }  
          }else{//分析规则 不带参数
            if(C('APP_SUB_DOMAIN_DEPLOY')){
              $url = str_replace($zlig,$zhaolg,'//m.sbmmt.com/m/'.GROUP_NAME.$url);//url替换为路由规则
            }else{
              $url = str_replace($zlig,$zhaolg,$url);//url替换为路由规则 
            }          
          }
        }
      }
     }

    至此问题得以解决!

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/824664.htmlTechArticleThinkPHP3.1.3在启用路由的情况下,其分页地址不是路由的地址,由于thinkphp3.2.1的代码也没有修复,很多人都遇到了这一问题,本文采纳olcm...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:ThinkPHP U方法 路由
    上一篇:PHP中使用TCPDF生成PDF文档实例_PHP教程 下一篇:ThinkPHP框架实现session跨域问题的解决方法_PHP教程
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 用PHP来统计在线人数的四个方法详解• win7 php solr解决办法 • :怎么限定来自某页的提交 • php批改表单中的内容不成功 • 为什么这段代码调试的时候提示上载?
    1/1

    PHP中文网