帝国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;?>