帝国ECMS教程:当前栏目高亮显示


当前栏目高亮显示应该是现代站点的一个很普通的特色及需求,即增加美感又增强了用户体验度,目前市面上的主流cms基本上都提供了这样一个基本的功能,可以在做模版时通过简单的标签设置而实现。作为主流的cms,很不解帝国为什么连这么基本的功能都没给出一个简单直接的实现方法,期待以后可以在这些看似微末的地方下点功夫。

抱怨完了,其实在帝国官方论坛上已经有了一些相关的解决方法,所谓站在巨人的肩膀上,冰少就直接放一段官网上网友提供的一个解决方法,冰少亲自实验了一把,的确挺不错。

1、在 e/class/userfun.php 中加入以下代码:

01 function currentPage($classid,$thisid){

02 global $class_r;

03 $fr=explode('|',$class_r[$classid][featherclass]);

04 $topbclassid=$fr[1]?$fr[1]:$classid;//取得第一级栏目id

05 if ($topbclassid==$thisid) {

06 echo "class=on"; //这里是关键部分,在导航的当前栏目上输出

07 }

08 else {

09 }

10 }

2、在头部模版的导航位置输入

<ul>
< li><a href="/" title="首页" target="_self">首 页</a></li>
[e:loop={'select classid,classname,classpath from [!db.pre!]enewsclass where bclassid=0 order by classid',0,24,0}]
< li <?=currentPage($GLOBALS[navclassid],$bqr[classid])?> id="cid<?=$bqr[classid]?>"><a href="<?=$public_r[newsurl]?><?=$bqr[classpath]?>" title="<?=$bqr[classname]?>" target="_self" ><?=$bqr[classname]?></a></li>
[/e:loop]
< /ul>

注:红色部分是关键,就是输出上面函数里面返回的class=on,当然这个样式也可以改为其他的。

至此,顺利实现导航栏目高亮显示!


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3