我的站长站以前在模板内调用当前信息字段内容的时候都是一个个的判断,比如下面的字段。
以前都是这样写的
<? if ($navinfor[fl] == 1){ $name='V10版本'; } else if ($navinfor[fl] == 2){ $name='V8版本'; } else if ($navinfor[fl] == 3){ $name='V7版本'; } ?>
当一个页面这种字段多了或者每个页面都需要这样写就很复杂,所以我的站长站写了一个帝国CMS调用字段内容函数,不用在每个模板都写判断了。
函数代码
function nrtitle($classid,$zd,$val){ global $empire,$class_r,$dbtbpre; $tbname=$class_r[$classid][tbname]; $classname=$class_r[$classid][classname]; if(!$tbname){ return ""; } /*分割数据表字段*/ $tbnameZd=$empire->fetch1("select fvalue from {$dbtbpre}enewsf where tbname='$tbname' and f='$zd' limit 1"); $tbnameExp=explode('|',str_replace(':default','',$tbnameZd[fvalue])); //复选框 if (strpos($val, '|') !== false) { /*分割复选框字段,去除前后|*/ $valExp=explode('|',substr(substr($val,1),0,-1)); for($i=0;$i<count($valExp);$i++){ $fh=''; if($i!=count($valExp)-1){ if($classid==6){ $fh='、'; }else{ $fh='|'; } } $tbnameExp2=explode('==',$tbnameExp[$valExp[$i]-1]); $title.=$tbnameExp2[1].$fh; } return $title; } //单选框 else{ $tbnameExp2=explode('==',$tbnameExp[$val-1]); return $tbnameExp2[1]; } }
模板调用方法:
<?=nrtitle($navinfor[classid],'fl',$navinfor[fl])?>
当前栏目ID,需要查询的字段名称,当前需要查询的字段值