在使用帝国cms做网站时,我们要时当前栏目成选中状态。
使用如下代码:
<ul> [e:loop={"select classid,classname from {$dbtbpre}enewsclass where bclassid=0 order by myorder,classid asc",0,24,0}] <?php $classurl=sys_ReturnBqClassname($bqr,9);//取得栏目地址 $class=""; if($GLOBALS[navclassid]) { $fcr=explode('|',$class_r[$GLOBALS[navclassid]][featherclass]); $topbclassid=$fcr[1]?$fcr[1]:$GLOBALS[navclassid];//取得当前栏目的一级栏目ID if($bqr[classid]==$topbclassid) { $class="class=curr"; } } ?> <li <?=$class?>><a href="<?=$classurl?>"><?=$bqr[classname]?></a></li> [/e:loop] </ul>
上面代码查询sql语句bclassid=0,表示查询一级栏目。然后使当前栏目成选中状态,class=”curr”。
1,当一级栏目下有二级栏目时,要改变bclassid;
bclassid=11,表示查询栏目id为11的一级栏目下面的栏目。
这时就要改变if语句为if($bqr[classid]==$GLOBALS[navclassid]),因为$GLOBALS[navclassid]才是获取的当前栏目了。
2,当二级栏目下有三级栏目时,同样再改变bclassid;
bclassid=11,表示查询栏目id为11的一级栏目下面的栏目。
这时就要改变if语句为if($bqr[classid]==fcr[2]),为什么是2,因为我们是获取当前栏目下的二级栏目,循环显示二级栏目,当当前栏目id等于该栏目时,当前二级栏目成选中状态。fcr[1]为获取一级栏目,fcr[2]为二级栏目。