帝国cms同时调用一级、二级栏目并当前栏目高亮显示的方法
时间:2023年07月06日
/来源:网络
/编辑:佚名
调用一二级栏目高亮显示
方法一、判断是否 有二级 栏目(判断是否存在子栏)
<nav>
<ul id="starlist">
<li><a href="[!--news.url--]" title="首页">网站首页</a></li>
[e:loop={"select classid,classname,islast,sonclass from {$dbtbpre}enewsclass where bclassid=0 and showclass=0 order by myorder,classid ASC",0,24,0}]
<?php $classurl=sys_ReturnBqClassname($bqr,0);//取得栏目地址 ?>
<?php if($bqr[sonclass]=='' or $bqr[sonclass]=='|') //判断是否存在子栏目 另外加一句判断。有时候会莫名其妙的把终极栏目记录了一个值“|” { ?>
<li><a href="<?=$bqsr[classurl]?>" >
<?=$bqr[classname]?>
</a></li>
<?php } else { ?>
<li class="menu"><a href="<?=$bqsr[classurl]?>" >
<?=$bqr[classname]?>
</a>
<ul class="sub">
<?php $newsclass=$empire->query("select classid,classname from ".$dbtbpre."enewsclass where bclassid=".$bqr[classid]." order by myorder,classid asc"); while($classr=$empire->fetch($newsclass)) { $classrurl=sys_ReturnBqClassname($classr,9); //取得子栏目地址 ?>
<li><a href="<?=$classrurl?>">
<?=$classr[classname]?>
</a></li>
<?php } ?>
</ul>
</li>
<?php } ?>
[/e:loop]
</ul>
</nav>
方法二、帝国cms设置,一级栏目高亮,并且二级栏目增加一个类名,class="sub"。用灵动标签可以实现,先获取一级栏目的地址,然后再判断是否是终极栏目,是的话,就添加样式sub,不是终极栏目就为空
<ul id="starlist">
<li><a href="[!--news.url--]" title="首页">网站首页</a></li>
[e:loop={"select classid,classname,islast,showclass from {$dbtbpre}enewsclass where bclassid=0 and showclass=0 order by myorder,classid asc",0,24,0}]
<?php
$classurl=sys_ReturnBqClassname($bqr,9);//取得栏目地址
$class="";
if($GLOBALS[navclassid]){
$fcr=explode('|',$class_r[$GLOBALS[navclassid]][featherclass]);
$topbclassid=$fcr[1]?$fcr[1]:$GLOBALS[navclassid];//取得当前栏目的一级栏目ID
if($bqr[classid]==$topbclassid)
{
$class='class="selected"';
}
}
?>
<li <?=$class?>><a href="<?=$classurl?>">
<?=$bqr[classname]?>
</a>
<?php
if(!$bqr[islast]) //判断是否终极栏目
{
$classsub='<ul class="sub">';
$classsubend='</ul>';
}
else
{
$classsub='';
$classsubend='';
}
{
?>
<?=$classsub?>
<?php
//取得栏目下的子栏目
$newsclass=$empire->query("select classid,classname from ".$dbtbpre."enewsclass where bclassid=".$bqr[classid]." order by myorder,classid desc");
while($classr=$empire->fetch($newsclass))
{
$classrurl=sys_ReturnBqClassname($classr,9); //取得子栏目地址
?>
<li><a href="<?=$classrurl?>" >
<?=$classr[classname]?>
</a></li>
<?php
}
?>
<?=$classsubend?>
<?php
}
?>
</li>
[/e:loop]
</ul>
方案三:一级栏目高亮“selected”,并且增加样式“menu”
<ul >
<li><a href="[!--news.url--]" title="首页">首页</a></li>
[e:loop={"select classid,classname,islast from {$dbtbpre}enewsclass where bclassid=0 order by myorder,classid asc",0,24,0}]
<?php
$classurl=sys_ReturnBqClassname($bqr,9);//取得栏目地址
$class="";
if($GLOBALS[navclassid]){
$fcr=explode('|',$class_r[$GLOBALS[navclassid]][featherclass]);
$topbclassid=$fcr[1]?$fcr[1]:$GLOBALS[navclassid];//取得当前栏目的一级栏目ID
if($bqr[classid]==$topbclassid)
{
$class='class="selected menu"';
}
else if(!$bqr[islast]) //判断是否终极栏目
{
$class='class="menu"';
}
}
?>
<li <?=$class?>><a href="<?=$classurl?>">
<?=$bqr[classname]?>
</a>
<ul>
<?php
//取得栏目下的子栏目
$newsclass=$empire->query("select classid,classname from ".$dbtbpre."enewsclass where bclassid=".$bqr[classid]." order by myorder,classid desc");
while($classr=$empire->fetch($newsclass))
{
$classrurl=sys_ReturnBqClassname($classr,9); //取得子栏目地址
?>
<li><a href="<?=$classrurl?>" target="_blank">
<?=$classr[classname]?>
</a></li>
<?php
}
?>
</ul>
</li>
[/e:loop]
</ul>
<style>
.selected > a{color:red}
</style>
方案四:父栏目高亮
[e:loop={"select classid,classname from {$dbtbpre}enewsclass where bclassid=0 and showclass=0 order by myorder,classid asc",0,24,0}]
<?php
$classurl=sys_ReturnBqClassname($bqr,9);//取得栏目地址
$class="";
if($GLOBALS[navclassid]){
$fcr=explode('|',$class_r[$GLOBALS[navclassid]][featherclass]);
$topbclassid=$fcr[1]?$fcr[1]:$GLOBALS[navclassid];//取得当前栏目的一级栏目ID
if($bqr[classid]==$topbclassid)
{
$class="on";
}
}
?>
<li class="navSec"><a class="navSecA <?=$class?> " href="<?=$classurl?>"><span><?=$bqr[classname]?></span></ a> </li>
[/e:loop]
方案五:栏目高亮
<li class="<?=$GLOBALS[navclassid]?"":"current-menu-item"?>">< a href=" ">首页</ a></li>
<?php
$sql=$empire->query("select classid,sonclass,classname,islast,islist from {$dbtbpre}enewsclass where bclassid=0 and showclass=0 order by myorder,myorder asc");
while($s=$empire->fetch($sql)){
$classurl=sys_ReturnBqClassname($s,9);
$tclass="";
$fr=explode('|',$class_r[$GLOBALS[navclassid]][featherclass]);
$topbclassid=$fr[1]?$fr[1]:$GLOBALS[navclassid];
if($topbclassid==$s[classid]){
$tclass='current-menu-item';
}
echo '<li class="'.$tclass.'" >< a href="'.$classurl.'">'.$s[classname].'</ a>';
if($s[islast]==0){
$sql2=$empire->query("select classid,classname from {$dbtbpre}enewsclass where bclassid=$s[classid] and showclass=0 order by myorder,myorder asc");
$str="";
while($s2=$empire->fetch($sql2)){
$classurl2=sys_ReturnBqClassname($s2,9);
$str.='<li>< a href="'.$classurl2.'">'.$s2[classname].'</ a></li>';
}
echo '<ul class="sub-menu">'.$str.'</ul>';
}
echo '</li>';
}
?>
方法一、判断是否 有二级 栏目(判断是否存在子栏)
<nav>
<ul id="starlist">
<li><a href="[!--news.url--]" title="首页">网站首页</a></li>
[e:loop={"select classid,classname,islast,sonclass from {$dbtbpre}enewsclass where bclassid=0 and showclass=0 order by myorder,classid ASC",0,24,0}]
<?php $classurl=sys_ReturnBqClassname($bqr,0);//取得栏目地址 ?>
<?php if($bqr[sonclass]=='' or $bqr[sonclass]=='|') //判断是否存在子栏目 另外加一句判断。有时候会莫名其妙的把终极栏目记录了一个值“|” { ?>
<li><a href="<?=$bqsr[classurl]?>" >
<?=$bqr[classname]?>
</a></li>
<?php } else { ?>
<li class="menu"><a href="<?=$bqsr[classurl]?>" >
<?=$bqr[classname]?>
</a>
<ul class="sub">
<?php $newsclass=$empire->query("select classid,classname from ".$dbtbpre."enewsclass where bclassid=".$bqr[classid]." order by myorder,classid asc"); while($classr=$empire->fetch($newsclass)) { $classrurl=sys_ReturnBqClassname($classr,9); //取得子栏目地址 ?>
<li><a href="<?=$classrurl?>">
<?=$classr[classname]?>
</a></li>
<?php } ?>
</ul>
</li>
<?php } ?>
[/e:loop]
</ul>
</nav>
方法二、帝国cms设置,一级栏目高亮,并且二级栏目增加一个类名,class="sub"。用灵动标签可以实现,先获取一级栏目的地址,然后再判断是否是终极栏目,是的话,就添加样式sub,不是终极栏目就为空
<ul id="starlist">
<li><a href="[!--news.url--]" title="首页">网站首页</a></li>
[e:loop={"select classid,classname,islast,showclass from {$dbtbpre}enewsclass where bclassid=0 and showclass=0 order by myorder,classid asc",0,24,0}]
<?php
$classurl=sys_ReturnBqClassname($bqr,9);//取得栏目地址
$class="";
if($GLOBALS[navclassid]){
$fcr=explode('|',$class_r[$GLOBALS[navclassid]][featherclass]);
$topbclassid=$fcr[1]?$fcr[1]:$GLOBALS[navclassid];//取得当前栏目的一级栏目ID
if($bqr[classid]==$topbclassid)
{
$class='class="selected"';
}
}
?>
<li <?=$class?>><a href="<?=$classurl?>">
<?=$bqr[classname]?>
</a>
<?php
if(!$bqr[islast]) //判断是否终极栏目
{
$classsub='<ul class="sub">';
$classsubend='</ul>';
}
else
{
$classsub='';
$classsubend='';
}
{
?>
<?=$classsub?>
<?php
//取得栏目下的子栏目
$newsclass=$empire->query("select classid,classname from ".$dbtbpre."enewsclass where bclassid=".$bqr[classid]." order by myorder,classid desc");
while($classr=$empire->fetch($newsclass))
{
$classrurl=sys_ReturnBqClassname($classr,9); //取得子栏目地址
?>
<li><a href="<?=$classrurl?>" >
<?=$classr[classname]?>
</a></li>
<?php
}
?>
<?=$classsubend?>
<?php
}
?>
</li>
[/e:loop]
</ul>
方案三:一级栏目高亮“selected”,并且增加样式“menu”
<ul >
<li><a href="[!--news.url--]" title="首页">首页</a></li>
[e:loop={"select classid,classname,islast from {$dbtbpre}enewsclass where bclassid=0 order by myorder,classid asc",0,24,0}]
<?php
$classurl=sys_ReturnBqClassname($bqr,9);//取得栏目地址
$class="";
if($GLOBALS[navclassid]){
$fcr=explode('|',$class_r[$GLOBALS[navclassid]][featherclass]);
$topbclassid=$fcr[1]?$fcr[1]:$GLOBALS[navclassid];//取得当前栏目的一级栏目ID
if($bqr[classid]==$topbclassid)
{
$class='class="selected menu"';
}
else if(!$bqr[islast]) //判断是否终极栏目
{
$class='class="menu"';
}
}
?>
<li <?=$class?>><a href="<?=$classurl?>">
<?=$bqr[classname]?>
</a>
<ul>
<?php
//取得栏目下的子栏目
$newsclass=$empire->query("select classid,classname from ".$dbtbpre."enewsclass where bclassid=".$bqr[classid]." order by myorder,classid desc");
while($classr=$empire->fetch($newsclass))
{
$classrurl=sys_ReturnBqClassname($classr,9); //取得子栏目地址
?>
<li><a href="<?=$classrurl?>" target="_blank">
<?=$classr[classname]?>
</a></li>
<?php
}
?>
</ul>
</li>
[/e:loop]
</ul>
<style>
.selected > a{color:red}
</style>
方案四:父栏目高亮
[e:loop={"select classid,classname from {$dbtbpre}enewsclass where bclassid=0 and showclass=0 order by myorder,classid asc",0,24,0}]
<?php
$classurl=sys_ReturnBqClassname($bqr,9);//取得栏目地址
$class="";
if($GLOBALS[navclassid]){
$fcr=explode('|',$class_r[$GLOBALS[navclassid]][featherclass]);
$topbclassid=$fcr[1]?$fcr[1]:$GLOBALS[navclassid];//取得当前栏目的一级栏目ID
if($bqr[classid]==$topbclassid)
{
$class="on";
}
}
?>
<li class="navSec"><a class="navSecA <?=$class?> " href="<?=$classurl?>"><span><?=$bqr[classname]?></span></ a> </li>
[/e:loop]
方案五:栏目高亮
<li class="<?=$GLOBALS[navclassid]?"":"current-menu-item"?>">< a href=" ">首页</ a></li>
<?php
$sql=$empire->query("select classid,sonclass,classname,islast,islist from {$dbtbpre}enewsclass where bclassid=0 and showclass=0 order by myorder,myorder asc");
while($s=$empire->fetch($sql)){
$classurl=sys_ReturnBqClassname($s,9);
$tclass="";
$fr=explode('|',$class_r[$GLOBALS[navclassid]][featherclass]);
$topbclassid=$fr[1]?$fr[1]:$GLOBALS[navclassid];
if($topbclassid==$s[classid]){
$tclass='current-menu-item';
}
echo '<li class="'.$tclass.'" >< a href="'.$classurl.'">'.$s[classname].'</ a>';
if($s[islast]==0){
$sql2=$empire->query("select classid,classname from {$dbtbpre}enewsclass where bclassid=$s[classid] and showclass=0 order by myorder,myorder asc");
$str="";
while($s2=$empire->fetch($sql2)){
$classurl2=sys_ReturnBqClassname($s2,9);
$str.='<li>< a href="'.$classurl2.'">'.$s2[classname].'</ a></li>';
}
echo '<ul class="sub-menu">'.$str.'</ul>';
}
echo '</li>';
}
?>
新闻资讯 更多
- 【帝国cms教程】帝国CMS模板变量$GLOBALS[navclassid]用法分析04-03
- 【帝国cms教程】鲜为人知帝国CMS内容页调用上一篇和下一篇的精华方法汇总04-03
- 【帝国cms教程】怎么快速找出帝国CMS数据库配置文件路径及迁移网站后修改技巧!04-03
- 【帝国cms教程】帝国CMS模板$GLOBALS[navclassid]用法详解04-03
- 【帝国cms教程】帝国cms 7.5版列表页分页样式修改笔记04-02
- 【帝国cms教程】解决帝国CMS搜索页面模板不支持灵动标签和万能标签的方法04-02
- 【帝国cms教程】帝国CMS只备份栏目和模板的方法04-02
- 【帝国cms教程】帝国CMS怎样删除清空数据库记录?04-02
热门文章
- 178Moban源码谈谈免费源码与收费源码的区别
- 2帝国CMS忘记后台登陆用户名、密码、认证码的解决方法
- 3帝国CMS(EmpireCMS) v7.5后台任意代码执行漏洞及具体修复方法
- 4帝国CMS和WordPress 哪个好?哪个适合建站?
- 5如何解决Discuz的密码错误次数过多请15分钟后登陆的问题
- 6帝国cms灵动标签取得内容和栏目链接地址
- 7emlog pro 注册码“开心”教程(如果有一天,emlog官方版 或者 emlog免费版 跑路了,那用户怎么办?)
- 8织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
- 9帝国cms后台登录出现”您还未登录”怎么解决?
- 10帝国cms7.5忘记登录密码 和忘记登录认证码以及多次登录 失败被锁定解决办法