返回旧版| 微信建站| 我要建站 | 建站学习 | 加入收藏
PHPCMS当前位置:首页 > cms教程 > 综合cms > PHPCMS > 正文

修复网上自定义栏目名称伪静态的bug

发布时间:2021-06-08 14:20:14   来源:   点击:
网上的自定义栏目伪静态基本都是互相抄袭的,都存在一个问题,如果当两个栏目重复的时候,会造成伪静态错误,虽然phpcms不允许一级栏目重复,但是二级栏目一下就不能判断了。所以我们需要多校验一级栏目,当然还有极端1情况,那就是网上栏目还是有重复的,这种暂时不考虑

修复代码:

  1. private function _getCategoryId($catdir){ 
  2.         if(!strpos($catdir,'/')) {   
  3.                     $dirname = $catdir;   
  4.         }else {   
  5.                 $dirname = end(explode('/',$catdir)); 
  6.                 $dirlist = explode('/',$catdir);//获取全部栏目用于校验重复栏目 
  7.         }   
  8.         $this->category_db = pc_base::load_model('category_model');  
  9.         $this->siteid = get_siteid()
  10.         $CATEGORYS = getcache('category_content_' . $this->siteid, 'commons'); 
  11.         //$result = $this->category_db->get_one(array('catdir'=>$dirname)); 
  12.         $res = $this->category_db->select(array('catdir'=>$dirname),'*','','listorder desc'); 
  13.         if(count($res) > 1){ 
  14.             $end2 = $dirlist[count($dirlist)-2]; 
  15.             $res2 = $this->category_db->get_one(array('catdir'=>$end2)); 
  16.             foreach($res as $k =>$r){ 
  17.                 $pid = $r['parentid']; 
  18.                 if($CATEGORYS[$pid]['catdir'] == $end2){ 
  19.                     $catid = $r['catid']; 
  20.                     break
  21.                 } 
  22.             } 
  23.         }else
  24.             $catid = $res[0]['catid']; 
  25.         } 
  26.         return $catid;  
  27.     }   



相关栏目
热门文章
最新图文
评论排行
版权所有:郑州腾石网络科技有限公司 备案信息:豫ICP备18019117号-2
站长QQ:2863868475 业务合作咨询:15137100750(同微信)
本站所有投放的广告是有其他网站提供,不代表本站立场,同时网站首页广告位对外出租详情咨询本站站长!同时欢迎广大站长加入个人建站团队
  • 建站客服
  • CMS仿站
  • CMS学习
  • 技术交流群:336572814