【已验证】帝国cms 7.0 调用本信息所属专题,专题带链接

 更新时间:2013年7月5日 12:25  点击:801 作者:猪先飞

 帝国cms在7.0 以前 调用本信息所属专题,系统本身是没有这样的功能,需要自己写插件或者代码

帝国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就是带链接的专题信息,用即可显示了

原文出处:猪先飞

[!--infotagslink--]

相关文章