帝国cms模板利用JS使当前栏目无限级高亮控制显示的方法!

发布时间:2021-02-01作者:帝国建站网

首先我们要用到灵动标签从数据库取出对应的栏目名称:

  一、若要取出所有的最顶级的栏目名称选择:bclassid=0,其中 id="cid 就是要拿到当前页面的ID值

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

  二、若要取出固定的栏目:可以将bclassid=59,这个值就是你的父栏目的ID值,其中 id="cid 就是要拿到当前页面的动态ID值,生成的字符是cid28,cid29,cid30等等。

[e:loop={'select classid,classname,classpath from [!db.pre!]enewsclass where bclassid=59 and showclass=0 order by myorder',0,24,0}]
<li> <a id="cid<?=$bqr[classid]?>" href="<?=$public_r[newsurl]?><?=$bqr[classpath]?>" target="_self" >
<?=$bqr[classname]?>
</a> </li>
[/e:loop]

  把js在其下面加载,JS代码如下,其中cur2 就是你的定住并要显示高亮的样式,不过多赘述。

<script type="text/javascript">
var myid = document.getElementById('cid[!--self.classid--]');
myid.className = 'cur2';
</script>

  变量说明:

  [!--self.classid--] 代表当前的栏目ID数值

   代表栏目ID

  其他方法参考:

  首先要在userfun.php文件中加如下代码:

function currentPage($classid,$thisid){
        global $class_r;
        $fr=explode('|',$class_r[$classid][featherclass]);
        $topbclassid=$fr[1]?$fr[1]:$classid;//取得第一级栏目id
        if ($topbclassid==$thisid) {
                  echo "class='menuon'";
                }
else {
}
}
function OnePage($classid,$thisid){
        global $class_r;
        $fr=explode('|',$class_r[$bclassid][featherclass]);
        $topbclassid=$fr[1]?$fr[1]:$classid;//取得子栏目id
        if ($topbclassid==$thisid) {
                  echo "bmenuon";
                }
                else {
                }
}
<ul>
<li class="menuon"><a href="[!--news.url--]" target="_self">首页</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="cid<?=$bqr[classid]?>" <?=currentPage($GLOBALS[navclassid],$bqr[classid])?>>
<a href="<?=$public_r[newsurl]?><?=$bqr[classpath]?>" target="_self" ><?=$bqr[classname]?></a>
</li>
[/e:loop]
</ul>

上一篇:帝国cms模板修改d目录名称的方法

下一篇:帝国cms模板中会员空间调用会员栏目投稿数量的方法!