• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    织梦自定义表单联动之城市表单名称只显示数字或枚举值的解决方法
    POST TIME:2021-05-23 01:50
    我们在做完织梦自定义表单做城市二级三级联动后,前台页面显示没有问题,不过在后台获得的数据联动类型只显示枚举值,在网上找了很多方法都不行,其实都是只说了一半,没有说全,下面我就对这些方法汇总再给大家讲一下。
    织梦自定义表单联动之城市表单名称只显示数字或枚举值的解决方法:
    1、找到dede/templets/diy_list.htm文件中(大约在41行): 
    1. else if($fielddata[1]=='addon')
    2. {
    3.     $fields[$field] = "<a href='{$fields[$field]}' target='_blank'><img src='images/channeladd.gif' border='0' /> 其它附件</a>";
    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. <?php
    2. function Getenums($evalue = 0, $egroup)
    3. {
    4.     if (!isset($GLOBALS['em_' . $egroup . 's'])) {
    5.         $cachefile = DEDEDATA . '/enums/' . $egroup . '.php';
    6.         if (!file_exists($cachefile)) {
    7.             require_once DEDEINC . '/enums.func.php';
    8.             WriteEnumsCache();
    9.         }
    10.         if (!file_exists($cachefile)) {
    11.             return '';
    12.         } else {
    13.             require_once $cachefile;
    14.         }
    15.     }
    16.     if ($evalue >= 500) {
    17.         if ($evalue % 500 == 0) {
    18.             return isset($GLOBALS['em_' . $egroup . 's'][$evalue]) ? $GLOBALS['em_' . $egroup . 's'][$evalue] : '';
    19.         } else {
    20.             if (preg_match('#([0-9]{1,})\\.([0-9]{1,})#', $evalue, $matchs)) {
    21.  
    22. $esonvalue = $matchs[1];
    23. $etopvalue = $esonvalue - $esonvalue % 500;
    24. $esecvalue = preg_replace('/(?<=\.)[0]+/', '', $evalue);
    25.  
    26. $GLOBALS['em_' . $egroup . 's'][$etopvalue] = empty($GLOBALS['em_' . $egroup . 's'][$etopvalue]) ? '' : $GLOBALS['em_' . $egroup . 's'][$etopvalue];
    27.  
    28. $GLOBALS['em_' . $egroup . 's'][$esonvalue] = empty($GLOBALS['em_' . $egroup . 's'][$esonvalue]) ? '' : $GLOBALS['em_' . $egroup . 's'][$esonvalue];
    29.  
    30. $GLOBALS['em_' . $egroup . 's'][$esecvalue] = empty($GLOBALS['em_' . $egroup . 's'][$esecvalue]) ? '' : $GLOBALS['em_' . $egroup . 's'][$esecvalue];
    31.  
    32. return $GLOBALS['em_' . $egroup . 's'][$etopvalue] . ' - ' . $GLOBALS['em_' . $egroup . 's'][$esonvalue] . ' - ' . $GLOBALS['em_' . $egroup . 's'][$esecvalue];
    33.             }
    34.             else
    35.             {
    36. $elimit = $evalue % 500;
    37. $erevalue = $evalue - $elimit;
    38. $GLOBALS['em_' . $egroup . 's'][$erevalue] = empty($GLOBALS['em_' . $egroup . 's'][$erevalue]) ? '' : $GLOBALS['em_' . $egroup . 's'][$erevalue];
    39. $GLOBALS['em_' . $egroup . 's'][$evalue] = empty($GLOBALS['em_' . $egroup . 's'][$evalue]) ? '' : $GLOBALS['em_' . $egroup . 's'][$evalue];
    40. return $GLOBALS['em_' . $egroup . 's'][$erevalue] . ' - ' . $GLOBALS['em_' . $egroup . 's'][$evalue];
    41.             }
    42.         }
    43.     }
    44. }
    45. ?>
     
    按照上面的方法修改完成后即可显示!

    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!