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

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

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

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

  一、若要取出所有的最顶级的栏目名称选择: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上传生成的随机文件名前面怎么实现增加自定义前缀呢?如何实现?帝国CMS默认上传文件后生成一个32位的随机名称,今天教大家的方法可以在这个32位的随机名称前增加固定名称。 比如,增加 lexiw_ 那么生成后的文件名称就是: lexiw_3445645iuiu567567u5pou5675...

帝国cms模板内容页灵动标签调用当前栏目文章排除当前文章

帝国cms模板内容页灵动标签调用当前栏目文章排除当前文章

解决方法:调用当前栏目信息,栏目ID用:'selfinfo',排除当前信息标签附加sql条件参数用:"id<>'$navinfor[id]'" 举例: [e:loop={'selfinfo',10,0,0,"id<>'$navinfor[id]'"}] <a href...

帝国CMS下载不弹出窗口的修改方法

帝国CMS下载不弹出窗口的修改方法

帝国CMS在下载模板的时候,如果不采用弹出式下载的话,可以试试下面的方法: 步骤如下: 1.修改下载地址模板("公共模板" -> "修改下载地址模板"): 将: [ <a href=#edown onclick="window.open('[!---down.url--]','','w...

帝国cms模板使用的灵动标签常用的变量

帝国cms模板使用的灵动标签常用的变量

[e:loop={栏目ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序}] <?=$bqno?><a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?><...

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

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

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

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

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

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