织梦前台和后台根据联动枚举数字输出文字的方法

织梦技巧
根据联动枚举的数字写一个自定义方法函数来自由输出联动枚举的文字值

打开 /include/extend.func.php 在最下面加入个方法

if(!function_exists('Getenums')){	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];			}		}	}}

2、在任何你想要调用的地方写上调用即可,例如:

{dede:loop table=dede_diyform2 row=10}     地区:[field:nativeplace function=Getenums(@me,'nativeplace')/]     行业:[field:vocation function=Getenums(@me,'vocation')/]     信息类型:[field:infotype function=Getenums(@me,'infotype')/] {/dede:loop}

调用说明:

Getenums(@me,'nativeplace')

@me 就是数字

'nativeplace' 就是枚举组名
 

标签:
吃喝网尾部