栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP > php开源框架 > dedecms

织梦自定义表单联动之城市表单名称只显示数字或枚举值的解决方法

dedecms 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

织梦自定义表单联动之城市表单名称只显示数字或枚举值的解决方法

我们在做完织梦自定义表单做城市二级三级联动后,前台页面显示没有问题,不过在后台获得的数据联动类型只显示枚举值,在网上找了很多方法都不行,其实都是只说了一半,没有说全,下面我就对这些方法汇总再给大家讲一下。 织梦自定义表单联动之城市表单名称只显示数字或枚举值的解决方法:
1、找到dede/templets/diy_list.htm文件中(大约在41行): 
  1. else if($fielddata[1]=='addon')
  2. {
  3.     $fields[$field] = " 其它附件";
  4. }
  在下面加入:
  1. //联动类型显示修正开始
  2.  
  3.             else if($fielddata[1]=='stepselect')
  4.             {
  5.                 $db->Execute('me',"SELECT * FROM `dede_stepselect` WHERe egroup='{$field}'");
  6.                 while($arr = $db->GetArray(me))
  7.                 {
  8.                     $egroup = $arr['egroup'];
  9.                 }
  10.                 $fields[$field] = Getenums("{$fields[$field]}",$egroup);
  11.             }
  12.  
  13. //联动类型显示修正结束
    在本文件中继续找到: {/dede:datalist} 在下面加入一下代码:
  1. function Getenums($evalue = 0, $egroup)
  2. {
  3.     if (!isset($GLOBALS['em_' . $egroup . 's'])) {
  4.         $cachefile = DEDEDATA . '/enums/' . $egroup . '.php';
  5.         if (!file_exists($cachefile)) {
  6.             require_once DEDEINC . '/enums.func.php';
  7.             WriteEnumsCache();
  8.         }
  9.         if (!file_exists($cachefile)) {
  10.             return '';
  11.         } else {
  12.             require_once $cachefile;
  13.         }
  14.     }
  15.     if ($evalue >= 500) {
  16.         if ($evalue % 500 == 0) {
  17.             return isset($GLOBALS['em_' . $egroup . 's'][$evalue]) ? $GLOBALS['em_' . $egroup . 's'][$evalue] : '';
  18.         } else {
  19.             if (preg_match('#([0-9]{1,})\.([0-9]{1,})#', $evalue, $matchs)) {
  20.  
  21. $esonvalue = $matchs[1];
  22. $etopvalue = $esonvalue - $esonvalue % 500;
  23. $esecvalue = preg_replace('/(?<=.)[0]+/', '', $evalue);
  24.  
  25. $GLOBALS['em_' . $egroup . 's'][$etopvalue] = empty($GLOBALS['em_' . $egroup . 's'][$etopvalue]) ? '' : $GLOBALS['em_' . $egroup . 's'][$etopvalue];
  26.  
  27. $GLOBALS['em_' . $egroup . 's'][$esonvalue] = empty($GLOBALS['em_' . $egroup . 's'][$esonvalue]) ? '' : $GLOBALS['em_' . $egroup . 's'][$esonvalue];
  28.  
  29. $GLOBALS['em_' . $egroup . 's'][$esecvalue] = empty($GLOBALS['em_' . $egroup . 's'][$esecvalue]) ? '' : $GLOBALS['em_' . $egroup . 's'][$esecvalue];
  30.  
  31. return $GLOBALS['em_' . $egroup . 's'][$etopvalue] . ' - ' . $GLOBALS['em_' . $egroup . 's'][$esonvalue] . ' - ' . $GLOBALS['em_' . $egroup . 's'][$esecvalue];
  32.             }
  33.             else
  34.             {
  35. $elimit = $evalue % 500;
  36. $erevalue = $evalue - $elimit;
  37. $GLOBALS['em_' . $egroup . 's'][$erevalue] = empty($GLOBALS['em_' . $egroup . 's'][$erevalue]) ? '' : $GLOBALS['em_' . $egroup . 's'][$erevalue];
  38. $GLOBALS['em_' . $egroup . 's'][$evalue] = empty($GLOBALS['em_' . $egroup . 's'][$evalue]) ? '' : $GLOBALS['em_' . $egroup . 's'][$evalue];
  39. return $GLOBALS['em_' . $egroup . 's'][$erevalue] . ' - ' . $GLOBALS['em_' . $egroup . 's'][$evalue];
  40.             }
  41.         }
  42.     }
  43. }
  44. ?>
  按照上面的方法修改完成后即可显示!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/6114.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号