专业的织梦模板下载平台,更多精品模板,超低模板价格,网站建设如此简单!           QQ好友已满,→点此获取提取码←
当前位置:主页 > 建站教程 > 织梦CMS教程 >

织梦联动类别无法添加二级枚举解决方法

发布时间:2019-06-14  来源:六久阁  浏览:0  关键词:织梦联动类别 织梦联动枚举 

第1步:找到并打开织梦后台目录下的dede/stepselect_main.php文件。

第2步:使用/*和*/注释215行至290行代码。

第3步:注释掉,添加如下代码,并保存。

else if($action=='addenum_save')   
{   
  if(empty($ename) || empty($egroup))    
  {   
         Showmsg("类别名称或组名称不能为空!","-1");   
         exit();   
    }   
    if($issign == 1 || $topvalue == 0)   
    {   
        $enames = explode(',', $ename);   
        foreach($enames as $ename)   
        {   
            $arr = $dsql->GetOne("SELECT * FROM `dede_sys_enum` WHERE egroup='$egroup' AND (evalue MOD 500)=0 ORDER BY disorder DESC ");   
            if(!is_array($arr)) $disorder = $evalue = ($issign==1 ? 1 : 500);   
            else $disorder = $evalue = $arr['disorder'] + ($issign==1 ? 1 : 500);   
            $dsql->ExecuteNoneQuery("INSERT INTO `dede_sys_enum`(`ename`,`evalue`,`egroup`,`disorder`,`issign`)    
                                    VALUES('$ename','$evalue','$egroup','$disorder','$issign'); ");    
        }   
        WriteEnumsCache($egroup);                                                             
        ShowMsg("成功添加枚举分类!".$dsql->GetError(), $ENV_GOBACK_URL);   
        exit();   
    } else if ($issign == 3 && $topvalue != 0)   
    {   
        $minid = $topvalue;   
        $maxnum = 500; // 三级子类最多500个    
        $enames = explode(',', $ename);   
        foreach ($enames as $ename)   
        {   
            $arr = $dsql->GetOne("SELECT * FROM `dede_sys_enum` WHERE egroup='$egroup' AND evalue LIKE '$topvalue.%%%' ORDER BY evalue DESC ");   
            if(!is_array($arr))   
            {   
                $disorder = $minid;   
                $evalue = $minid.'.001';   
            }   
            else   
            {   
                $disorder = $minid;   
                preg_match("#([0-9]{1,})\.([0-9]{1,})#", $arr['evalue'], $matchs);   
                $addvalue = $matchs[2] + 1;   
                $addvalue = sprintf("%03d", $addvalue);   
                $evalue = $matchs[1].'.'.$addvalue;   
            }   
            $sql = "INSERT INTO `dede_sys_enum`(`ename`,`evalue`,`egroup`,`disorder`,`issign`)    
                                    VALUES('$ename','$evalue','$egroup','$disorder','$issign'); ";   
            // echo $sql;exit;    
            $dsql->ExecuteNoneQuery($sql);    
        }   
        // echo $minid;    
        WriteEnumsCache($egroup);   
        ShowMsg("成功添加枚举分类!".$issign, $ENV_GOBACK_URL);   
        exit();   
    } else {   
   $minid = $topvalue;   
   $maxid = $topvalue + 500;   
   $enames = explode(',', $ename);   
      foreach($enames as $ename)   
      {   
    $arr = $dsql->GetOne("Select * From `dede_sys_enum` where egroup='$egroup' And evalue>$minid And evalue<$maxid order by evalue desc ");   
    if(!is_array($arr))   
    {   
     $disorder = $evalue = $minid+1;   
    }   
    else   
    {   
     $disorder = $arr['disorder']+1;   
     $evalue = (int)($arr['evalue']+1);   
    }   
    $dsql->ExecuteNoneQuery("Insert into `dede_sys_enum`(`ename`,`evalue`,`egroup`,`disorder`,`issign`)   
                                 values('$ename','$evalue','$egroup','$disorder','$issign'); ");   
       }   
       WriteEnumsCache($egroup);   
   ShowMsg("成功添加枚举分类!".$issign, $ENV_GOBACK_URL);   
   exit();   
 }   
}


第4步:再次打开织梦 dede后台目录/templets/stepselect_main.htm文件,按以下方法修改,并保存。

if($topvalue % 500 != 0) $arr['issign'] = 2; 

修改为 

if($topvalue % 500 != 0) $arr['issign'] = 3; 

if($topvalue % 500 == 0) $arr['issign'] = 2; 

织梦二次开发QQ群

群号(383578617) DedeCMS织梦教程QQ群 如果您有任何织梦问题,请把问题发到群里,阁主将免费为您写解决教程!

有问题在这里提问,阁主会为你解决!
  • 全部评论(0
    还没有评论,快来抢沙发吧!
CopyRight © 2016-2017 六久阁模板下载网 版权所有  备案号:滇ICP备15006281号-4 
本站部份内容来源自网络,文字、素材、图片版权属于原作者,本站转载素材仅供大家欣赏和分享,切勿做为商业目的使用。
如果侵害了您的合法权益,请您及时与我们,我们会在第一时间删除相关内容!