织梦cms5.7bug修补:后台管理连动不可以加上二级频道的处理方式
织梦cms园模版 / 2020-07-06 / 个人收藏
我还在应用的归类信息内容的情况下必须加上连动特性,結果去加上连动特性的情况下,发觉只能够加上一联级动和三联级动。
二联级动没法加上了。
在自身的5.6的后台管理加上的情况下,发觉是能够的。估算也是5.7版本号的bug了。
因此剖析了编码,和大伙儿共享下处理的方法:
最先大家寻找大家的模版源代码下边的 这一文档,
将这一段编码
$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 == 2 $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( d , $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( 取得成功加上枚举类型归类! , $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 = $arr[ evalue ]+1;
$dsql- ExecuteNoneQuery( INSERT INTO `dede_sys_enum`(`ename`,`evalue`,`egroup`,`disorder`,`issign`)
VALUES( $ename , $evalue , $egroup , $disorder , $issign
WriteEnumsCache($egroup);
ShowMsg( 取得成功加上枚举类型归类! , $ENV_GOBACK_URL);
exit();
}
$arr = $dsql- GetOne( Select * From `dede_sys_enum` where egroup= $egroup And (evalue mod 500)=0 order by evalue 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
$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 = $arr[ evalue ]+1;
$dsql- ExecuteNoneQuery( Insert into `dede_sys_enum`(`ename`,`evalue`,`egroup`,`disorder`,`issign`)
values( $ename , $evalue , $egroup , $disorder , $issign
WriteEnumsCache($egroup);
ShowMsg( 取得成功加上枚举类型归类! , $ENV_GOBACK_URL);
exit();
}
随后储存,在系统软件后台管理升级系统软件缓存文件便可以了的。如今在后台管理的连动类型管理方法里边便可以提升二级挑选了。