QQ咨询 官方微信

添加微信好友

官方小程序

百度小程序

微信小程序

头条小程序

关于我们

PHPCMS

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

 admin  2022-06-03 19:29:19
网上的自定义栏目伪静态基本都是互相抄袭的,都存在一个问题,如果当两个栏目重复的时候,会造成伪静态错误,虽然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.     }   



¥ 打赏
×
如果您觉得文章帮助了您就打赏一下吧
非常感谢你的打赏,我们将继续分享更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

本文《修复网上自定义栏目名称伪静态的bug》发布于石头博客文章,作者:admin,如若转载,请注明出处:https://www.pweb123.com/cms/phpcms/824.html,否则禁止转载,谢谢配合!

文章点评

我来说两句 已有0条评论
点击图片更换

添加微信好友

添加微信好友

微信小程序

百度小程序