帝国CMS实现当前栏目高亮,官网论坛也有一些方法。但都各有缺陷,比如 不支持静态化的栏目页,或不支持内容页。再者就是调用出来的栏目无法自定义排序,也就是只能按栏目ID来排序。很不爽。

最完美的栏目高亮方法。隐藏的栏目不显示、栏目自定义排序、支持首页高亮

于是,自己动手将其改动了一下,支持DIV+CSS。

在模板中引用以下代码调用栏目即可。就这么简单。给力吧。再写CSS定义高亮即可。

<ul>
<li class=<?=$public_r[home]?'on':''?>><a href=[!---news.url--]  title=网站首页>网站首页</a></li>
[e:loop={select classid,classname from {$dbtbpre}enewsclass where bclassid=0  and showclass=0 order by myorder,classid desc,0,24,0}]    <?php    $classurl=sys_ReturnBqClassname($bqr,9);//取得栏目地址    $class=menuo;   if($GLOBALS[navclassid])   {        $fcr=explode('|',$class_r[$GLOBALS[navclassid]][featherclass]);        $topbclassid=$fcr[1]?$fcr[1]:$GLOBALS[navclassid];//取得当前栏目的一级栏目ID        if($bqr[classid]==$topbclassid)        {            $class=on;        }    }    elseif($public_r[home]==1)    {        $class=menuo;   }    ?>   
<li class=<?=$class?>><a href=<?=$classurl?>>      <?=$bqr[classname]?></a></li> 
[/e:loop]
</ul>

 

为了支持首页,在首页模板最顶端<html>以外,加上以下代码:

<?php$public_r[home]=1;?>