评论

收藏

[帝国CMS] 帝国cms 7.0 调用本信息所属专题,专题带链接

建站程序 建站程序 发布于:2021-07-19 12:35 | 阅读数:252 | 评论:0

帝国cms官方论坛里提供过方法,只是不适用在帝国cms7.0了
=============这是帝国cms7.0 之前版本的方法=============
演示:
DSC0000.gif

DSC0001.gif


标签下载:

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