帝国cms官方论坛里提供过方法,只是不适用在帝国cms7.0了
=============这是帝国cms7.0 之前版本的方法=============
演示:
标签下载:
http://www.phome.net/ecms47/bq/echoinfozt/echoinfozt.zip
******************** 标签导入步骤 ********************
登陆后台->“模板管理”->“管理标签”->“导入标签”:
说明:标签文件选择压缩包里的:“echoinfozt1199799878.bq”
(记得导入后将函数内容复制到e/class/userfun.php文件里)
******************** 标签使用 ********************
在内容模板中加上“[echoinfozt]0[/echoinfozt]”此调用标签。
这个/e/class/userfun.php里的代码可以打开看下
function user_EchoInfoZtBq($ecms=0){
global $class_zr,$navinfor;
if(empty($navinfor[ztid])||$navinfor[ztid]=='|')
{
return '';
}
$zt='';
$r=explode('|',$navinfor[ztid]);
$c=count($r);
for($i=1;$i<$c-1;$i++)
{
$ztid=$r[$i];//专题ID
$ztname=$class_zr[$ztid][ztname];
if($ztname)
{
$zr[ztid]=$ztid;
$ztlink=sys_ReturnBqZtname($zr);//专题链接
$zt.="".$class_zr[$r[$i]][ztname].",";
}
}
if($zt)
{
echo substr($zt,0,strlen($zt)-1);
}
}
===================帝国cms7.0调用信息所属专题================
但是很不幸,到了帝国cms7.0 上述方法已经不能用了,因为信息表里已经没有ztid这个字段,之前是根据这个ztid去读取专题的缓存文件
来获取专题名以及专题链接
在帝国cms7.0 里面专题信息已经被放到 _enewsztinfo 这个表里
要调用的话,势必要再读取一次数据表了
下面是我写的代码,可以直接放在内容模板里使用
$sql=$empire->query("SELECT DISTINCT ztid FROM {$dbtbpre}enewsztinfo where id='$navinfor[id]' and classid=$navinfor[classid] ;");
while($r=$empire->fetch($sql))
{
$ztid=$r[ztid];
$ztname=$class_zr[$ztid][ztname];
if($ztname)
{
$zr[ztid]=$ztid;
$ztlink=sys_ReturnBqZtname($zr);//专题链接
$zt.="".$ztname.",";
}
}
if($zt)$zt= substr($zt,0,strlen($zt)-1);
$zt就是带链接的专题信息,用即可显示了