魔扣论坛

查看: 26|回复: 2

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

[复制链接]
  • TA的每日心情
    难过
    23 小时前
  • 签到天数: 1421 天

    [LV.10]论坛老兵

    7300

    主题

    7517

    帖子

    5万

    积分

    管理员

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

    魔扣币
    226454
    贡献
    24462
    威望
    18878

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

    发表于 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

    主题

    193

    帖子

    383

    积分

    中级魔扣

    Rank: 3Rank: 3

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

    该用户从未签到

    3

    主题

    203

    帖子

    403

    积分

    中级魔扣

    Rank: 3Rank: 3

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

    本版积分规则

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