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

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

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

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

  一、若要取出所有的最顶级的栏目名称选择: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用SQL语句调用栏目导航一级栏目和二级栏目

帝国cms用SQL语句调用栏目导航一级栏目和二级栏目

帝国cms调用一级栏目及下面的二级栏目调用方法如下: SQL语句 <?php  $ecms_bq_sql=sys_ReturnEcmsLoopBq("select * from [!db.pre!]enewsclass where bclassid=0 order by myorder li...

帝国CMS专题页面调用当前专题页面地址

帝国CMS专题页面调用当前专题页面地址

当前专题页面地址 <?=$public_r[newsurl]?><?=$class_zr[$GLOBALS[navclassid]][ztpath]?> <?=$public_r[newsurl]?>网站地址 <?=$class_zr[$GLOBALS[n...

帝国CMS列表页判断是否有标题图片没有则显示指定的图片

帝国CMS列表页判断是否有标题图片没有则显示指定的图片

帝国CMS列表页模板里面怎么判断文章是否有标题图片,如果没有图片就调用显示默认或者指定的一张图片!   第一种方法、用php判断:   ①、复制以下代码带到“列表内容模板” if(empty($r[titlepic])) { $pic=''; } else { $pic='<img src=...

帝国CMS使用esub/substr截取前面(或后面)两个字符(或多个字符)

帝国CMS使用esub/substr截取前面(或后面)两个字符(或多个字符)

帝国CMS怎么用灵动标签使用esub/substr截取前面,或者截取后面两个字符或者多个字符呢? ①、帝国网站 显示是"帝国" (这是灵动标签默认的截取标签字段“esub”), [e:loop={'select * from phome_enewsclass where bclassid=0 or...

帝国cms栏目自定义字段调用标签

帝国cms栏目自定义字段调用标签

内容页和列表页调用当前栏目自定义字段的标签都是一样的,调用代码如下: <?=ReturnClassAddField(0,'自定义字段')?>没什么说的,这很简单。...

帝国CMS模板中内容关键字加粗显示加背景颜色等

帝国CMS模板中内容关键字加粗显示加背景颜色等

帝国cms模板内容里面,要关键词加粗,加背景颜色,调整下css即可。 关键字的class在 e/class/functions.php,搜索 function ReplaceKey 或 class=infotextkey 找到后在自己css文件中定义这个(class=infotextkey)css...