魔扣论坛

魔扣源码论坛业务
查看: 446|回复: 2

[织梦教程] dedecms自定义表单提交联动类型只显示枚举值的解决办法

[复制链接]
  • TA的每日心情

    19 小时前
  • 签到天数: 2951 天

    [LV.Master]开坛老将

    7万

    主题

    227

    回帖

    27万

    积分

    管理员

    Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

    魔扣币
    745587
    贡献
    157871
    威望
    32799

    最佳新人活跃会员热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2019-12-25 23:42:21 | 显示全部楼层 |阅读模式
    魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    大家在解决织梦后台无法添加显示联动选项后,发现提交表单后,后台枚举值只显示数字。下面我们就来解决这个问题,让提交到后台的数据显示文字。

    下面是修改方法:

    1.在"后台目录"\templets\diy_list.htm找到如下代码:

    else if($fielddata[1]=='addon')
    {
    $fields[$field] = "<a href='{$fields[$field]}' target='_blank'><img src='images/channeladd.gif' border='0' /> 其它附件</a>";
    }

    在下面加入:
    //联动类型显示修正开始 else if($fielddata[1]=='stepselect') { $db->Execute('me',"SELECT * FROM `dede_stepselect` WHERE itemname='{$fielddata[0]}'"); while($arr = $db->GetArray(me)) { $egroup = $arr['egroup']; } $fields[$field] = Getenums("{$fields[$field]}",$egroup); }

    2.继续这个文件向下找到:
    {/dede:datalist}

    <?php
    function Getenums($evalue=0,$egroup)
    {
    if( !isset($GLOBALS['em_'.$egroup.'s']) )
    {
    $cachefile = DEDEDATA.'/enums/'.$egroup.'.php';
    if(!file_exists($cachefile))
    {
    require_once(DEDEINC.'/enums.func.php');
    WriteEnumsCache();
    }
    if(!file_exists($cachefile))
    {
    return '';
    }
    else
    {
    require_once($cachefile);
    }
    }
    if($evalue>=500)
    {
    if($evalue % 500 == 0)
    {
    return (isset($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 = str_replace(".00",".",$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];
    }
    }
    }
    ?>

    修改后,再去提交数据试试。发现就会显示文字了!

    会员购买:>> 点击购买 << | 魔扣币购买:>> 点击购买 <<
    承接业务:服务器代维丨网站托管丨SEO
    联系客服:微信:morko-net | QQ:1367681973

    该用户从未签到

    3

    主题

    231

    回帖

    465

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    231
    贡献
    231
    威望
    0
    发表于 2019-12-25 23:56:10 | 显示全部楼层
    求沙发

    该用户从未签到

    3

    主题

    246

    回帖

    495

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    246
    贡献
    246
    威望
    0
    发表于 2019-12-26 11:11:37 | 显示全部楼层
    我也顶起出售广告位
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表