您的位置:首页 > 其它

dedecms前台调用联动单一类别显示名称

2016-03-21 11:14 429 查看
dedecms前台调用显示某一后台联动参数,是枚举数组类型 6001.001。比如地区 nativeplace
怎么才能显示汉字地区 如 :浙江-杭州-下城区呢??网上搜了段代码: 放到include/extend.fun.php。还是显示不全,浙江-杭州- ,第三级别不显示,原来是 后台用nativeplace.js nativeplace.php 数组中小数点后不一致。一个是6001.001 一个是6001.1所以有加了下面红色代码处理了一下
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];
if(empty($GLOBALS['em_'.$egroup.'s'][$esecvalue])){//lyy nativeplace.php的后面小数不带 2005.008之类的,要去掉小数后0才能找到值
$esecvalue=$matchs[1].".".intval($matchs[2]);
$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];

}

}

}

前台调用, addfields="_xb,_nl,_sg,_xl,nativeplace,_yx"需要的字段加一下就可以了:
{dede:arclist flag='a' row='6'  orderby='pubdate' orderway='desc' typeid='77' titlelen='30' channelid='17' addfields="_xb,_nl,_sg,_xl,nativeplace,_yx"}
<dl class="case_pic clearfix l">
<dt><a target="_blank" href="[field:arcurl/]" title="[field:title/]" looyu_bound="1">
<img src="[field:litpic function='thumb(@me,160,200,false)'/]"  alt="[field:title/]" />
</a></dt>
<dd>
<p>	ID:[field:title/]
<br>
[field:_xb/],[field:_nl/],[field:_sg/],[field:_xl/]
<br>
[field:linkallplace/][field:nativeplace function='Getenums(@me,"nativeplace")' /]
<br>
月薪:[field:_yx/]
<br>
[field:description function='cn_substr(@me,90)'/]...
</p>
</span>
</dd>
</dl>
{/dede:arclist}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: