当前位置:首页 > 文章 > 帝国CMS > 正文内容

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

3年前 (2022-10-21)帝国CMS6270

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

  一、若要取出所有的最顶级的栏目名称选择: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>

扫描二维码推送至手机访问。

版权声明:本文由蓝博发布,如需转载请注明出处。

本文链接:https://www.blueboss.cn/p/344.shtml

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

帝国CMS灵动标签调用当前栏目下子栏目列表

帝国CMS灵动标签调用当前栏目下子栏目列表

灵动标签调用当前栏目下子栏目,支持栏目自定义排序。下面帝国cms模板网就来告诉大家: [e:loop={"select classname,classpath,classid from phome_enewsclass where bclassid='$GLOBALS[navclassid]' a...

帝国cms字段处理函数是怎么处理

帝国cms字段处理函数是怎么处理

帝国cms字段处理函数的方法! 增加/修改字段时可以设置“后台增加信息处理函数”、“后台修改信息处理函数”、“前台增加信息处理函数”、“前台修改信息处理函数”,可以分别设置对字段内容处理的函数,对于对字段内容存放格式有特殊要求的模型用得比较多。下面简单讲解下处理函数制作格式。   基本设置步骤:  ...

帝国CMS几个函数RepPostVarRepPostVar2RepPostStrRepPostStr2的用法

帝国CMS几个函数RepPostVarRepPostVar2RepPostStrRepPostStr2的用法

帝国CMS常用或者经常遇到的几个函数RepPostVar,RepPostVar2,RepPostStr,RepPostStr2的用法! (1)、数字型变量可以用(int)或intval函数处理,例子: $page=(int)$_GET['page']; 或 $page=intval($_GET['p...

帝国cms自定义列表多表查询统计代码

帝国cms自定义列表多表查询统计代码

帝国cms自定义列表多表查询统计代码 统计记录: select count(*) as total from [!db.pre!]ecms_news union select count(*) as total from [!db.pre!]ecms_movie 查询记录: select cl...

帝国CMS列表页模板怎么随机调用插入广告

帝国CMS列表页模板怎么随机调用插入广告

帝国CMS列表页模板怎么随机调用插入广告呢? 列表内容模板(list.var) (*)改造如下: $num='<div class="list"> <a href="[!--titleurl--]"> <img class="img" src="[!--titlepi...

帝国CMS调用读取当天发布信息

帝国CMS调用读取当天发布信息

在帝国cms模板中,某些位置要调用当天发布的信息数量,但是不知道怎么调用实现,下面就来告诉大家怎么调用: 调用代码: <?php   $timedays=strtotime(date("Y-m-d",time()));//今天0点的时间点   $timedaye=$timedays+3600...