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

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

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

1

2

3

4

elseif($fielddata[1]=='addon'😉

{

$fields[$field]="<ahref='{$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];

}

}

}

}

?>

修改完毕。

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

注明:本文为星速云原创版权所有,禁止转载,一经发现将追究版权责任!

(0)
上一篇 2022年8月9日 上午9:01
下一篇 2022年8月9日 上午9:01

相关推荐

发表评论

登录后才能评论
问答社区 QQ客服
微信客服
微信客服
分享本页
返回顶部