• 河南网站建设-郑州网站设计-郑州网站建设-手机建站-郑州建站-上海建站

  • 专注网站建设 服务热线: 13061801310

当前位置:东东网 > 近期动态 > 建站常见问题 > 正文

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

发布时间:2021-04-30 | 发布者: 东东工作室 | 浏览次数:

打开 /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' 就是枚举组名

转载请标注:东东工作室——织梦前台和后台根据联动枚举数字输出文字的方法