在修改联动类别里面的信息类型的时候发现只能增加一级选择和三级选择,就是不能增加二级选择,怎么办呢?
首先我们找到我们的模板源码下面的 dede/stepselect_main.php 这个文件,
将这段代码
| 									 										1 																			2 																			3 																			4 																			5 																			6 																			7 																			8 																			9 																			10 																			11 																			12 																			13 																			14 																			15 																			16 																			17 																			18 																			19 																			20 																			21 																			22 																			23 																			24 																			25 																			26 																			27 																			28 																			29 																			30 																			31 																			32 																			33 																			34 																			35 																			36 																			37 																			38 																			39 																			40 																			41 																			42 																			43 																			44 																			45 																			46 																			47 																			48 																			49 																			50 																			51 																			52 																			53 																			54 																			55 																			56 																			57 																			58 																			59 																			60 																			61 																			62 																			63 																			64 																			65 																			66 																			67 																			68 																			69 																			70 																			71 																			72 																			73 																			74 																			75 																			76 								 | 																	 											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 == 2 && $topvalue != 0) 																					{ 																					$minid = $topvalue; 																					$maxnum = 500; // 三级子类最多500个www.CUOxin.com织梦模板下载 																					$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("成功添加枚举分类!", $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(); 																					} 																					} 									 | 							
替换为:
| 									 										1 																			2 																			3 																			4 																			5 																			6 																			7 																			8 																			9 																			10 																			11 																			12 																			13 																			14 																			15 																			16 																			17 																			18 																			19 																			20 																			21 																			22 																			23 																			24 																			25 																			26 																			27 																			28 																			29 																			30 																			31 																			32 																			33 																			34 																			35 																			36 																			37 																			38 																			39 																			40 																			41 																			42 																			43 																			44 																			45 																			46 								 | 																	 											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 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(); 																					} 																					} 									 | 							
然后保存,在系统后台更新系统缓存就可以了的。现在在后台的联动类别管理里面就可以增加二级选择了。



















