-
帝国CMS实现当前栏目无限级高亮控制
- 时间:2025-03-29 00:44:25 来源: 人气:0
在构建网站时,实现栏目高亮显示是一项常见的需求。以下将详细介绍如何通过灵动标签从数据库中提取栏目名称,并结合JavaScript代码实现当前页面栏目的高亮效果。
首先,我们需要使用灵动标签来从数据库中取出对应的栏目名称。以下是两种常见场景的实现方法:
一、如果需要取出所有最顶级的栏目名称,可以设置bclassid=0。这里的 id="cid<?=$bqr[classid]?>" 是用来获取当前页面的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<?=$bqr[classid]?>" 用于动态获取当前页面的ID值,生成如 cid28、cid29 等等。
[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脚本。这段脚本的作用是为当前选中的栏目添加高亮样式。其中,cur2 是定义好的高亮样式类名。
<script type="text/javascript">
var myid = document.getElementById('cid[!--self.classid--]');
myid.className = 'cur2';
</script>
变量说明:
[!--self.classid--] 表示当前栏目的ID数值。
<?=$bqr[classid]?> 表示栏目的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 {}
}
最后,结合以上方法,完整的HTML结构如下:
<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>
通过以上步骤,您可以轻松实现栏目导航的高亮显示功能,提升用户体验的同时也增强了网站的专业感。
相关文章
-
在留言板和后台留言审核面板中显示留言者的IP地址,是增强网站安全性和管理效率的重要功能。通过记录和展示IP地址,管理员可以更方便地追踪留言来源,确保内容的真实性和合法性。本文将详细介绍如何实现这一功能,并优化搜索引擎排名(SEO)。 首先,我们需要了解如何在代码中正确插入IP地址的显示逻辑。以下是...2025-03-29
-
在网站开发中,保护用户隐私是一个重要的考虑因素。当您在分类信息内容页添加了发布人的IP显示功能时,可能会面临如何隐藏IP地址的部分数字以保护用户隐私的问题。本文将介绍一种方法,让您能够像处理评论中的IP地址一样,将IP地址的最后一位数字替换为“*”。 为了实现这一功能,您可以使用PHP代码对IP地...2025-03-29
-
创建符合SEO标准的Google Sitemap对于提高网站在搜索引擎中的可见性至关重要。以下是一篇经过改写的文章,详细介绍了如何利用栏目分别创建不同的Sitemap,并确保其符合Google的要求。 技术整理:24mp3技术支持:wm_chief, hicode 制作Google Sitema...2025-03-29
-
在构建动态网站时,使用循环结构来展示数据是一种常见的做法。例如,在EmpireCMS中,我们可以利用[e:loop]标签来实现这一功能。下面是一篇关于如何使用[e:loop]标签生成友情链接列表的文章,旨在优化搜索引擎排名(SEO),同时确保代码的可读性和功能性。 在EmpireCMS中,[e:l...2025-03-29