帝国CMS模板中想在各个页面调用专题名称和简介。这里说明下使用方法。

首先要知道基础的标签:

专题标题:[!--pagetitle--]

专题简介:[!--class.intro--]

专题缩略图地址:[!--class.classimg--]

专题列表页(当前页)

[e:loop={"select addtime,ztid,ztpath,ztname,ztimg,ztpagekey from [!db.pre!]enewszt where ztid='$GLOBALS[navclassid]' order by ztid desc limit 20",0,24,0}] 专题id:<?=$bqr[ztid]?> 专题名称:<a href="<?=$public_r[newsurl]?><?=$bqr['ztpath']?>/"><?=$bqr['ztname']?></a> 专题图片:<img src="<?=$bqr[ztimg]?>" /> 专题简介:<?=$bqr['intro']?> 关键词:<?=$bqr[ztpagekey]?> 创建时间:<?=date('Y-m-d',$bqr[addtime])?> [/e:loop]

专题内容页(当前页)

[e:loop={"select * from [!db.pre!]enewsztinfo where classid='$navinfor[classid]' and id='$navinfor[id]'",0,24,0}] 专题名称:<a href="<?=$public_r[newsurl]?><?=$class_zr[$bqr[ztid]][ztpath]?>/"><?=$class_zr[$bqr[ztid]][ztname]?></a> [/e:loop]

首页调用专题

​​​​​​​[e:loop={'select * from [!db.pre!]enewszt order by ztid desc limit 5',5,24,1}] 专题图片:<img src="<?=$bqr[ztimg]?>" width="150" height="180"> 专题名称:<a href="[!--news.url--]<?=$bqr[ztpath]?>" target="_self"><?=$bqr[ztname]?></a> 专题介绍<?=$bqr[intro]?> 关键词:<?=$bqr[ztpagekey]?> [/e:loop]

子类调用专题简介和专题缩略图(也可在上级专题调用)

​​​​​​​<?php $selfztid=$GLOBALS['navinfor']['ecmsbid']?$GLOBALS['navinfor']['ecmsbid']:$GLOBALS['navclassid']; $ztr=$empire->fetch1("select * from {$dbtbpre}enewszt where ztid='$selfztid'"); ?>

专题名:<?=$ztr[ztname]?>

专题缩略图:<?=$ztr[ztimg]?>

专题简介:<?=$ztr[ztintro]?>

专题地址:<?=$ztr[ztpath]?>

一、获取当前专题ID:

因为当前专题ID或当前专题子类ID变量是:$GLOBALS['navclassid'],当为专题子类页面时,则所属专题ID变量为“$GLOBALS['navinfor']['ecmsbid']”。所有我们能得出当前专题ID变量为如下:

$selfztid=$GLOBALS['navinfor']['ecmsbid']?$GLOBALS['navinfor']['ecmsbid']:$GLOBALS['navclassid'];

二、通过当前专题ID,就可以获取当前专题的子类列表:

<?php $selfztid=$GLOBALS['navinfor']['ecmsbid']?$GLOBALS['navinfor']['ecmsbid']:$GLOBALS['navclassid']; $uztcsql=$empire->query("select cid,cname,ttype from {$dbtbpre}enewszttype where ztid='$selfztid' order by myorder"); while($uztcr=$empire->fetch($uztcsql)) { ?> <b>专题子类名称:<?=$uztcr['cname']?>,专题子类地址:type<?=$uztcr[cid].$uztcr[ttype]?></b><br><br> <?php } ?>

三、结合索引灵动标签,就可以获取专题子类及子类下的信息:

​​​​​​​<?php $selfztid=$GLOBALS['navinfor']['ecmsbid']?$GLOBALS['navinfor']['ecmsbid']:$GLOBALS['navclassid']; $uztcsql=$empire->query("select cid,cname,ttype from {$dbtbpre}enewszttype where ztid='$selfztid' order by myorder"); while($uztcr=$empire->fetch($uztcsql)) { ?> <a href="type<?=$uztcr[cid].$uztcr[ttype]?>"><b>专题子类名称:<?=$uztcr['cname']?></b></a><br> <table border="0" cellspacing="1" cellpadding="3"> [e:indexloop={$uztcr[cid],10,4,'','',''}] <tr><td> <a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a> (<?=date('Y-m-d',$bqr[newstime])?>) </td></tr> [/e:indexloop] </table> <br><br> <?php } ?>

上面第2条已经实现了调用专题子类,而调用专题子类下的信息我们是用“索引灵动标签”。所以结合如下:

四、教程延伸:

​​​​​​​<?php $ztdiyfval=ReturnZtAddField(0,'savecids'); ?> <?php $uztcsql=$empire->query("select cid,cname,ttype from {$dbtbpre}enewszttype where cid in (".$ztdiyfval.") order by myorder"); while($uztcr=$empire->fetch($uztcsql)) { ?> <a href="type<?=$uztcr[cid].$uztcr[ttype]?>"><b>专题子类名称:<?=$uztcr['cname']?></b></a><br> <table border="0" cellspacing="1" cellpadding="3"> [e:indexloop={$uztcr[cid],10,4,'','',''}] <tr><td> <a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a> (<?=date('Y-m-d',$bqr[newstime])?>) </td></tr> [/e:indexloop] </table> <br><br> <?php } ?>

显示什么专题子类主要看上面的“select cid,cname,ttype from {$dbtbpre}enewszttype where ztid='$selfztid' order by myorder”语句中的where条件。其实我们还可以增加专题自定义字段来实现控制显示子类内容,比如:

我们增加个专题自定义字段“savecids”,用来填写要调用的专题子类ID,那么我们就可以把查询子类的sql改为如下:

附加说明:有关调用专题自定义字段可以看后台管理专题字段页面的说明。如下:

使用内置调用专题自定义字段函数:ReturnZtAddField(专题ID,字段名),专题ID=0为当前专题ID。取多个字段内容可用逗号隔开,例子:

取得'classtext'字段内容:$value=ReturnZtAddField(0,'classtext'); //$value就是字段内容。

取得多个字段内容:$value=ReturnZtAddField(1,'ztid,classtext'); //$value['classtext']才是字段内容。

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系邮箱:312334557@qq.com 我们将配合处理!

原文地址:《帝国CMS模板各页面调用专题名称和简介》发布于2022-10-08 14:19:38