首先,如果沒(méi)有顯示聯(lián)動(dòng)選項(xiàng)的話,請(qǐng)您先閱讀《DedeCms自定義表單中聯(lián)動(dòng)類型不可用的解決方法》,下面我們討論DedeCms自定義表單聯(lián)動(dòng)類型只顯示枚舉值的問(wèn)題,本文的解決方法適用于DedeCms5.5、5.6,其它版本沒(méi)有測(cè)試。
相對(duì)于上面的方法,解決以下問(wèn)題:
1、有多少個(gè)自定義的模板,建立多少個(gè)diy_list'.$diyid.'.htm,很不靈活
2、每個(gè)自定義表單只能建一個(gè)聯(lián)動(dòng)類型
UTF-8的懶人可以下載附件:diy_list.rar,直接替換,diy_list.htm文件替換到\dede\templets下。
下面是修改方法:
1.在"后臺(tái)目錄"\templets\diy_list.htm找到(大約在41行):
$fields[$field] = "<a href='{$fields[$field]}' target='_blank'><img src='p_w_picpath/channeladd.gif' border='0' /> 其它附件</a>";
}
在下面加入:
//聯(lián)動(dòng)類型顯示修正開(kāi)始
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); } |
//聯(lián)動(dòng)類型顯示修正結(jié)束
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 = $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]; } } } ?> |
修改完畢。
需要注意的是:添加新字段時(shí)候,表單提示文字必須和聯(lián)動(dòng)的組類別名一致,比如我要添加一個(gè)表單提示文字是“課程”,那么新增類別組的時(shí)候 類別名也要填寫(xiě)“課程”
版權(quán)聲明: 本站資源均來(lái)自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!
轉(zhuǎn)載請(qǐng)注明: DedeCms自定義表單聯(lián)動(dòng)類型只顯示枚舉值的問(wèn)題