西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > dedecms教程 >

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

时间:2017-02-18 10:15来源:未知 作者:好模板编辑 点击:
织梦dedecms自定义表单联动之城市表单名称只显示数字或枚举值的解决方法 。 我们在做完织梦dedecms自定义表单做城市二级三级联动后,前台页面显示没有问题,不过在后台获得的数据联

织梦dedecms自定义表单联动之城市表单名称只显示数字或枚举值的解决方法 。
 
我们在做完织梦dedecms 自定义表单做城市二级三级联动后,前台页面显示没有问题,不过在后台获得的数据联动类型只显示枚举值,


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

在网上找了很多方法都不行,其实都是只说了一半,没有说全,下面我就对这些方法汇总再给大家讲一下。
织梦自定义表单联动之城市表单名称只显示数字或枚举值的解决方法:

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

$fields[$field] = "<a href=&rsquo;{$fields[$field]}&rsquo; target=&rsquo;_blank&rsquo;><img src=&rsquo;p_w_picpath/channeladd.gif&rsquo; border=&rsquo;0&rsquo; /> 其它附件</a>"; 


在下面加入:

//联动类型显示修正开始 
else if($fielddata[1]==&rsquo;stepselect&rsquo;) 

$db->Execute(&rsquo;me&rsquo;,"SELECT * FROM `dede_stepselect` WHERE itemname=&rsquo;{$fielddata[0]}&rsquo;"); 
while($arr = $db->GetArray(me)) 

$egroup = $arr[&rsquo;egroup&rsquo;]; 

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

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

在本文件中继续找到: {/dede:datalist}
在下面加入一下代码:

<?php 
function Getenums($evalue=0,$egroup) 

if( !isset($GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;]) ) 

$cachefile = DEDEDATA.&rsquo;/enums/&rsquo;.$egroup.&rsquo;.php&rsquo;; 
if(!file_exists($cachefile)) 

require_once(DEDEINC.&rsquo;/enums.func.php&rsquo;); 
WriteEnumsCache(); 

if(!file_exists($cachefile)) 

return &rsquo;&rsquo;; 

else 

require_once($cachefile); 


if($evalue>=500) 

if($evalue % 500 == 0) 

return (isset($GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$evalue]) ? $GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$evalue] : &rsquo;&rsquo;); 

else if (preg_match("#([0-9]{1,}).([0-9]{1,})#", $evalue, $matchs)) 

$esonvalue = $matchs[1]; 
$etopvalue = $esonvalue - ($esonvalue % 500); 
$esecvalue = $evalue; 
$GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$etopvalue] = empty($GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$etopvalue])? &rsquo;&rsquo; 
: $GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$etopvalue]; 
$GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$esonvalue] = empty($GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$esonvalue])? &rsquo;&rsquo; 
: $GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$esonvalue]; 
$GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$esecvalue] = empty($GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$esecvalue])? &rsquo;&rsquo; 
: $GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$esecvalue]; 
return $GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$etopvalue].&rsquo; - &rsquo;.$GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$esonvalue].&rsquo; - &rsquo;.$GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$esecvalue]; 

else 

$elimit = $evalue % 500; 
$erevalue = $evalue - $elimit; 
$GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$erevalue] = empty($GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$erevalue])? &rsquo;&rsquo; 
: $GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$erevalue]; 
$GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$evalue] = empty($GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$evalue])? &rsquo;&rsquo; 
: $GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$evalue]; 
return $GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$erevalue].&rsquo; - &rsquo;.$GLOBALS[&rsquo;em_&rsquo;.$egroup.&rsquo;s&rsquo;][$evalue]; 



?> 


网上一般都只是到这,就说OK了,可以解决问题了!其实不然,大家试过就会发现,  表单名称还是只显示数字或枚举值,那么我们就接着看下面内容吧!
(责任编辑:好模板)

顶一下
(1)
20%
踩一下
(4)
80%
------分隔线----------------------------
栏目列表
热点内容