帝国CMS实现一二级导航及其高亮

  • A+
所属分类:帝国cms教程

可以用以下方法实现一二级导航

帝国CMS实现一二级导航及其高亮
 <li id="<?=$GLOBALS[navclassid]==0?'nav_select':''?>"><a href="/">首页</a></li>
 [e:loop={'select classid,classname,classpath from [!db.pre!]enewsclass where bclassid=0 and showclass=0 order by myorder',0,24,0}]
        <li id="<?=(($GLOBALS[navclassid]==$bqr[classid]) || ($class_r[$GLOBALS[navclassid]][bclassid] == $bqr[classid]))  ?'nav_select':''?>"><a href="<?=$public_r[newsurl]?><?=$bqr[classpath]?>/" title="<?=$bqr[classname]?>"><?=$bqr[classname]?></a></li>
 [/e:loop]
帝国CMS实现一二级导航及其高亮

使用 $GLOBALS[navclassid] 来判断当前栏目的ID

如果是"0",说明当前栏目没有ID,那么肯定就是首页了。

使用灵动标签,循环输出属于根目录下的一级栏目。

其中:

<?=(($GLOBALS[navclassid]==$bqr[classid]) || ($class_r[$GLOBALS[navclassid]][bclassid] == $bqr[classid]))  ?'nav_select':''?>

用来做当前栏目页面和相应的导航项高亮。 $bqr是通过灵动标签循环出来的每个栏目的ID,如果其与当前栏目相等则高亮之。

但是如果进入了二级栏目,$GLOBALS[navclassid]为二级栏目的ID,所以需要

$class_r[$GLOBALS[navclassid]][bclassid] == $bqr[classid]

来进行判断,

$class_r 为所有栏目的信息,索引为栏目ID,bclassid为当前栏目的父栏目ID。

那么就可以在二级栏目时判断其父栏目的ID为多少,是否高亮一级栏目选项的高亮了。

 

二级栏目通过如下输出:

 [showclasstemp]'selfinfo',14,0,0[/showclasstemp]

这个标签是专门输出栏目的,selfinfo表示输出当前父栏目下的二级栏目。14代表模板的序号。

 

如上几条代码,放在合适的位置即可实现一二级栏目,及其高亮的设置了。

 

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: