dedecms自定义表单提交联动类型只显示枚举值的解决办法
下面是修改方法:
I..在"后台目录" empletsdiy_list.htm找到如下代码:
elseif($fie
更多精彩就在: 51免费论文网|www.jxszl.com
lddata[I.]==addon)
{
$fields[$field]="
}
在下面加入:
//联动类型显示修正开始
elseif($fielddata[I.]==stepselect)
{
$db->Execute(me,"SELECT*FROM`dede_stepselect`WHEREitemname={$fielddata[0]}");
while($arr=$db->GetArray(me))
{
$egroup=$arr[egroup];
}
$fields[$field]=Getenums("{$fields[$field]}",$egroup);
}
II.继续这个文件向下找到:
{/dede:datalist}
functionGetenums($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>=V00)
{
if($evalue%V00==0)
{
return(isset($GLOBALS[em_.$egroup.s][$evalue])?$GLOBALS[em_.$egroup.s][$evalue]:);
}
elseif(preg_match("#([0-IX]{I.,}).([0-IX]{I.,})#",$evalue,$matchs))
{
$esonvalue=$matchs[I.];
$etopvalue=$esonvalue-($esonvalue%V00);
$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%V00;
$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];
}
}
}
?>
修改后,再去提交数据试试.发现就会显示文字了!
原文链接:http://www.jxszl.com/biancheng/dedecms/74126.html