在修改联动类别里面的信息类型的时候发现只能增加一级选择和三级选择,就是不能增加二级选择,怎么办呢?
首先我们找到我们的模板源码下面的?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.dede58.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`,'$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`,'$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`,`issign`)
values('$ename',?$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`,?$ENV_GOBACK_URL);
exit();
}
}
|
然后保存,在系统后台更新系统缓存就可以了的。现在在后台的联动类别管理里面就可以增加二级选择了。