帝国CMS 二级栏目列表导航中调用同级栏目,无二级栏目调用当前栏目

我们采用帝国CMS列表页的时候,同一个列表页可能会用到不同的栏目上,遇到有的列表页为顶级栏目,而有的列表页为二级栏目。当二级栏目列表调用同级栏目时,采用的sql方式可以实现,并通过判断当前ID的模式给当前栏目添加样式达到高亮显示。

二级栏目列表导航中调用同级栏目效果

但是当同样的列表模板用于顶级栏目的时候,我们会发现,把所有顶级栏目全部列出来了。

这里我们通过判断语句,判断当前栏目是否为顶级栏目即可,代码如下:

帝国cms顶级栏目的bclassid字段值是‘0’,我们通过它判断就行了。

列表页为顶级栏目时候调用的效果

<?php
$bclassid = $class_r[$GLOBALS[navclassid]][bclassid];
$classname = $class_r[$GLOBALS[navclassid]][classname];

if ($bclassid!='0'){
$ecms_sql = sys_ReturnEcmsLoopBq("select classid,classname from {$dbtbpre}enewsclass where bclassid=($bclassid) order by myorder,myorder desc",0,24,0);
while($bqr=$empire->fetch($ecms_sql)){
$bqsr=sys_ReturnEcmsLoopStext($bqr);
$active='';
if($bqr[classid]==$GLOBALS[navclassid]){
$active='active';
}
?>
<li class="nav-item">
<a class="<?=$active?>" href="<?=$bqsr['classurl']?>"><?=$bqr['classname']?></a>
</li>
<?php
}
}
else{
$active = 'active';
$navlink = $class_r[$GLOBALS[navclassid]][classpath];
$navclassname = $class_r[$GLOBALS[navclassid]][classname];
?>
<li class="nav-item">
<a class="<?=$active?>" href="[!--news.url--]<?=$navlink?>/"><?=$navclassname?></a>
</li>
<?php
}
?>

本文由 飓风网络 作者:飓风网络 发表,其版权均为 飓风网络 所有,文章内容系作者个人观点,不代表 飓风网络 对观点赞同或支持。如需转载,请注明文章来源。

发表评论