花魁直播高品质美女在线视频互动社区 - 花魁直播官方版

 歡迎來(lái)到素材無(wú)憂網(wǎng),按 + 收藏我們
登錄 注冊(cè) 退出 找回密碼

DedeCms自定義表單聯(lián)動(dòng)類型只顯示枚舉值的問(wèn)題

時(shí)間: 2018-12-07 23:49 閱讀: 作者:素材無(wú)憂網(wǎng)

首先,如果沒(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)題

標(biāo)簽:  
相關(guān)文章
模板推薦