织梦自定义表单联动地区后台显示为数字的真正如何解决方法亲测可用

荣誉就像河流:轻浮的和空虚的荣誉浮在河面上,沉重的和厚实的荣誉沉在河底里。雨会停,心会晴,没有什么会永远糟糕透顶。

网络上有类似的文章,但是都是不全,错误的方法。以下是本站长整理出来亲身验证无误的方法.

1.在\dede\templets\diy_list.htm找到(大约在41行):

1
2
3
4
elseif($fielddata[1]=='addon')
{
$fields[$field]="<arel="nofollow noopener noreferrer" href='{$fields[$field]}'target='_blank'><imgsrc='images/channeladd.gif'border='0'/>其它附件</a>";
}

在下面加入:

1
2
3
4
5
6
7
8
9
10
11
12
13
//联动类型显示修正开始
elseif($fielddata[1]=='stepselect')
{
$db->Execute('me',"SELECT*FROM`dede_stepselect`WHEREegroup='{$field}'");
while($arr=$db->GetArray(me))
{
$egroup=$arr['egroup'];
}
$fields[$field]=Getenums("{$fields[$field]}",$egroup);
}
//联动类型显示修正结束www.dede58.com织梦模板下载

继续找到:

1
{/dede:datalist}

在下面加入:

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
<?php
functionGetenums($evalue=0,$egroup)
{
if(!isset($GLOBALS['em_'.$egroup.'s'])){
$cachefile=DEDEDATA.'/enums/'.$egroup.'.php';
if(!file_exists($cachefile)){
require_onceDEDEINC.'/enums.func.php';
WriteEnumsCache();
}
if(!file_exists($cachefile)){
return'';
}else{
require_once$cachefile;
}
}
if($evalue>=500){
if($evalue%500==0){
returnisset($GLOBALS['em_'.$egroup.'s'][$evalue])?$GLOBALS['em_'.$egroup.'s'][$evalue]:'';
}else{
if(preg_match('#([0-9]{1,})\\.([0-9]{1,})#',$evalue,$matchs)){
$esonvalue=$matchs[1];
$etopvalue=$esonvalue-$esonvalue%500;
$esecvalue=preg_replace('/(?<=\.)[0]+/','',$evalue);
$GLOBALS['em_'.$egroup.'s'][$etopvalue]=empty($GLOBALS['em_'.$egroup.'s'][$etopvalue])?'':$GLOBALS['em_'.$egroup.'s'][$etopvalue];
$GLOBALS['em_'.$egroup.'s'][$esonvalue]=empty($GLOBALS['em_'.$egroup.'s'][$esonvalue])?'':$GLOBALS['em_'.$egroup.'s'][$esonvalue];
$GLOBALS['em_'.$egroup.'s'][$esecvalue]=empty($GLOBALS['em_'.$egroup.'s'][$esecvalue])?'':$GLOBALS['em_'.$egroup.'s'][$esecvalue];
return$GLOBALS['em_'.$egroup.'s'][$etopvalue].'-'.$GLOBALS['em_'.$egroup.'s'][$esonvalue].'-'.$GLOBALS['em_'.$egroup.'s'][$esecvalue];
}
else
{
$elimit=$evalue%500;
$erevalue=$evalue-$elimit;
$GLOBALS['em_'.$egroup.'s'][$erevalue]=empty($GLOBALS['em_'.$egroup.'s'][$erevalue])?'':$GLOBALS['em_'.$egroup.'s'][$erevalue];
$GLOBALS['em_'.$egroup.'s'][$evalue]=empty($GLOBALS['em_'.$egroup.'s'][$evalue])?'':$GLOBALS['em_'.$egroup.'s'][$evalue];
return$GLOBALS['em_'.$egroup.'s'][$erevalue].'-'.$GLOBALS['em_'.$egroup.'s'][$evalue];
}
}
}
}
?>

修改完毕。

需要注意的是:添加新字段时候,表单提示文字必须和联动的组类别名一致,比如我要添加一个表单提示文字是“课程”,那么新增联动类别组的时候类别名也要填写“课程”

以上就是织梦自定义表单联动地区后台显示为数字的真正如何解决方法亲测可用。把你的脸迎旭日光,那就不会有暗影。更多关于织梦自定义表单联动地区后台显示为数字的真正如何解决方法亲测可用请关注haodaima.com其它相关文章!

标签: 方法