27岁,山西运城人,职业电商经理人,前端开发工作者,从事过网站建设、网络推广、SEO、SEM、信息流推广、二类电商、网络运维、软件开发,等相关电商工作,经验较为丰富,小米技术社区致力于为广大从事Web前端开发的人员提供一些力所能及的引导和帮助 ...[更多]
E-mail:mzze@163.com
Q Q:32362389
W X:xiaomi168527
27岁,山西运城人,职业电商经理人,网络工程师兼运维,从事过运营商网络建设,企业网络建设、优化。数据中心网络维护等通过,经验丰富,座右铭:当自己休息的时候,别忘了别人还在奔跑。 ...[更多]
大于花一样的年龄,河南郑州是我家,2010年在北京接触团购网,2011年进入天猫淘宝一待就是四年,如今已经将设计走向国际化(ps:误打误撞开始进入阿里巴巴国际站的设计,嘿嘿)五年电商设计,丰富经验,从事过天猫淘宝阿里各项设计,店铺运营,产品拍摄;我将我的经历与您分享是我的快乐!座右铭:越努力越幸运! ...[更多]
E-mail:97157726@qq.com
Q Q:97157726
今天用帝国cms出现了需要同时调用1,2级栏目并给当前栏目高亮显示的需求,经过一番搜索,用以下代码即可实现(包含首页高亮) 而且可以无限嵌套
<nav> <ul id="show"> <li<?=$GLOBALS[navclassid]==0?" class='on'":""?>><a href="[!--news.url--]">Home</a></li> [e:loop={"select classid,classname,islast from {$dbtbpre}enewsclass where bclassid='0' and showclass=0 order by myorder,classid ASC limit 11",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='on'"; } } ?><li<?=$class?>><a href="<?=$classurl?>"><span><?=$bqr[classname]?></span></a><?php if(!$bqr[islast]) //判断是否终极栏目 { ?><div class="menu"> <?php //取得栏目下的子栏目 $newsclass=$empire->query("select classid,classname from ".$dbtbpre."enewsclass where bclassid=".$bqr[classid]." order by myorder,classid desc limit 11"); while($classr=$empire->fetch($newsclass)) { $classrurl=sys_ReturnBqClassname($classr,9); //取得子栏目地址 ?><div class="item"><a href="<?=$classrurl?>"><?=$classr[classname]?></a></div> <?php } ?></div><?php } ?></li> [/e:loop] </ul> </nav>
另一种写法
<nav> <ul id="show"> <ul class="w-f"> <li<?=$GLOBALS[navclassid]==0?" class='on'":""?>> <a href="#">首页</a> </li> [e:loop={"select classid,classname from {$dbtbpre}enewsclass where bclassid=0 and classid<>17 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='on'"; } } ?> <li<?=$class?>> <a href="<?=$classurl?>" class="tit link"><?=$bqr[classname]?></a> <div class="menu"> <?php $ecms_bq_sql2=sys_ReturnEcmsLoopBq("select classid,classname,classpath,classurl from [!db.pre!]enewsclass where bclassid='$bqr[classid]' order by myorder limit 10",20,24,0); $bqno2=0; while($bqr2=$empire->fetch($ecms_bq_sql2)) { $bqsr2=sys_ReturnEcmsLoopStext($bqr2); $bqno2++; ?> <a href="/<?=$bqr2[classpath]?>/"><?=$bqr2[classname]?></a> <?php } ?> </div> </li> [/e:loop] </ul> </nav>
html
<nav> <ul id="show"> <li class="on"><a href="index.html" title="">Home</a></li> <li><a href="about.html" title="">About us</a></li> <li><a href="products.html" title="">Products</a> <div class="menu"> <a href="">bearing</a> <a href="">tools</a> </div> </li> <li><a href="news.html" title="">News</a></li> <li><a href="faq.html" title="">FAQ</a></li> <li><a href="application.html" title="">Application</a></li> <li><a href="service.html" title="">Service</a></li> <li><a href="contact.html" title="">Contact</a></li> </ul> </nav>
拓展
如果是当前栏目是on 是首页class是menuo
if($bqr[classid]==$topbclassid) { $class="on"; } } elseif($public_r[home]==1) { $class="menuo"; }
23.02.20拓展,以上只支持一级栏目高亮,二级栏目高亮用这个
<ul class="accordion"> [e:loop={"select classid,classname from {$dbtbpre}enewsclass where bclassid=2 and classid<>17 order by myorder,classid asc",0,24,0}] <?php $classurl=sys_ReturnBqClassname($bqr,9);//取得栏目地址 $class=""; if($bqr[classid]==$GLOBALS[navclassid])//当前栏目ID { $class=" class='on'"; } ?> <li<?=$class?>> <div class="links"><a href="<?=$classurl?>"><?=$bqr[classname]?></a></div> <ul class="submenu" style="display: block;"> <?php $ecms_bq_sql2=sys_ReturnEcmsLoopBq("select classid,classname,classpath,classurl from [!db.pre!]enewsclass where bclassid='$bqr[classid]' order by myorder limit 10",20,24,0); $bqno2=0; while($bqr2=$empire->fetch($ecms_bq_sql2)) { $bqsr2=sys_ReturnEcmsLoopStext($bqr2); $bqno2++; ?> <li<?=$class2?>><a href="/<?=$bqr2[classpath]?>/"><?=$bqr2[classname]?></a></li> <?php } ?> </ul> </li> [/e:loop]</ul>
本站内容均为小米原创,转载请注明出处:小米技术社区>> 帝国cms同时调用一级、二级栏目并当前栏目高亮显示的方法