帝国CMS 调用当前专题的子类及信息列表,获取当前专题和子分类链接地址

一、获取当前专题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))

{

?>

专题子类名称:<?=$uztcr['cname']?>,专题子类地址:type<?=$uztcr[cid].$uztcr[ttype]?>

<?php

}

?>

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

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

<?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))

{
$zfl='';
if($uztcr[tfile]){
$zfl=''.$uztcr[tfile].$uztcr[ttype].'';
}else{
$zfl='type'.$uztcr[cid].$uztcr[ttype].'';
}

?>

<a href="<?=$zfl?>"><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>

<?php

}

?>

效果图如下

效果预览:https://www.wentong.org/nidongde/

四、教程延伸

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

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

<?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>

<?php

}

?>

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

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

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

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

人吐槽 人点赞

猜你喜欢

发表评论

用户名: 密码:
验证码: 匿名发表

你可以使用这些语言

查看评论:帝国CMS 调用当前专题的子类及信息列表,获取当前专题和子分类链接地址