欢迎来到欣怡建站!我们致力于提供优质的网站建站服务
注册

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

相关案例演示

我们在做完织梦自定义表单做城市二级三级联动后,前台页面显示没有问题,不过在后台获得的数据联动类型只显示枚举值,在网上找了很多方法都不行,其实都是只说了一半,没有说全,下面我就对这些方法汇总再给大家讲一下。

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

1、找到dede/templets/diy_list.htm文件中(大约在41行): 

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 egroup='{$field}'");

                while($arr = $db->GetArray(me))

                {

                    $egroup = $arr['egroup'];

                }

                $fields[$field] = Getenums("{$fields[$field]}",$egroup);

            }

 

//联动类型显示修正结束

 

 

在本文件中继续找到: {/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 = 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];

            }

        }

    }

}

?>

 

按照上面的方法修改完成后即可显示!

作者:欣怡建站 挑错 时间:2020-01-09 04:33
首先声明,只要是我们的vip会员所有源码均可以免费下载,不做任何限制
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ(984818011)进行交流。
相关教程
在线客服