• 0712-2888027 189-8648-0214
    微信公眾號

    孝感風信網絡科技有限公司微信公眾號

    當前位置:主頁 > 技術支持 > DedeCMS > DEDECMSv5.7的聯動信息類型只能增加一級和三級選擇的解決辦法

    DEDECMSv5.7的聯動信息類型只能增加一級和三級選擇的解決辦法

    時間:2024-03-29來源:風信官網 點擊: 516次

    織夢系統默認聯動類別里有一級二級三級選擇,但是不管是我們自己添加新的二級選擇,還是新建個一級選擇后再添加二級選擇均是無法添加新的二級選擇,而是直接二級變三級了,這是織夢程序的一個bug,本文就說一下如何解決這個bug程序。

    演示版本:dede5.7 UTF8

    適用范圍: dede5.7(其他版本自己嘗試)

    ps:按官方的說法,二級選擇只能添加到自己新建的一級選擇中,但是作者試了一下,根本就不行,最后還是得改代碼才行。

    第1步:找到并打開織夢后臺目錄下的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;

    第5步:更新系統緩存,即可生效。

    電腦維修技術注:此方法只能添加到最多三級選擇。

    欄目列表
    推薦內容
    熱點內容
    展開
    动漫h精品无码一区二区三区,欧美日韩精品一区二区,午夜麻豆国产精品,加勒比中文字幕无码,亚洲日本va中文字幕区