织梦自定义表单联动之城市表单名称只显示数字或枚举值的解决方法
我们在做完织梦自定义表单做城市二级三级联动后,前台页面显示没有问题,不过在后台获得的数据联动类型只显示枚举值,在网上找了很多方法都不行,其实都是只说了一半,没有说 […]
我们在做完织梦自定义表单做城市二级三级联动后,前台页面显示没有问题,不过在后台获得的数据联动类型只显示枚举值,在网上找了很多方法都不行,其实都是只说了一半,没有说全,下面我就对这些方法汇总再给大家讲一下。
织梦自定义表单联动之城市表单名称只显示数字或枚举值的解决方法:
1、找到dede/templets/diy_list.htm文件中(大约在41行):
- else if($fielddata[1]=='addon')
- {
- $fields[$field] = " 其它附件";
- }
在下面加入:
- //联动类型显示修正开始
- 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];
- }
- }
- }
- }
- ?>
按照上面的方法修改完成后即可显示!
免责声明:
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!侵删请致信E-mail:2934755286@qq.com