帝国cms 栏目高级调用 高亮并且二级栏目增加样式
<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>
方案三: (判断是否存在子栏目)
<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]=='|') //判断是否存在子栏目 另外加一句判断。坑爹的帝国cms,有时候会莫名其妙的把终极栏目记录了一个值“|”
{
?><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>
你觉得文章内容怎么样