完美解决:帝国cms当前栏目高亮 自动适应各级栏目

时间:2022-06-01 17:50:30

帝国官网论坛有很多关于当前栏目高亮的代码,但很多都要修改程序文件,容易影响程序的稳定。而且一旦重装程序,势必又要重新设置。非常麻烦。网上关于高亮的代码也大都是从官网论坛抄的。说是原创,其实就是抄的。

本代码综合了所有的优点。不修改程序文件。只须将代码粘贴到相应模板位置即可。修改方便。自动适应各级栏目。

该代码有如下优点:

1.不修改程序文件,将代码粘贴到网站模板上即可。

2.自动适当各级栏目。不论是一级还是二级还是三级,都可以实现高亮。

3.自动寻找当前栏目ID。无须人工指定。相比官方代码,更实用。

4.支持栏目自定义排序。

5.支持隐藏栏目。

<li><a href="[!--news.url--]">网站首页</a></li>

[e:loop={"select classid,classname from {$dbtbpre}enewsclass where bclassid='$this_bclass' and showclass=0 order by myorder",0,24,0}]

    <?php

$classurl=sys_ReturnBqClassname($bqr,9);//取得栏目地址

$bgcolor="";

if($bqr[classid]==$GLOBALS[navclassid])//当前栏目ID

{

$bgcolor="#6CF";

?>

    <li style="background-color:<?=$bgcolor?>"> <a href="<?=$classurl?>">

      <?=$bqr[classname]?>

      </a> </li>

    [/e:loop]  

使用方法:

对于老手来说,这简单是小菜一碟。但对于新手来说,这个代码怎么放,放在哪里,却是一对雾水。现来老李来教教大家。

1.假如你的导航代码如下,并做好了css样式。

<div id="nav">

<ul>

    <li><a href="#" id="current">网站首页</a></li>

    <li><a href="#">栏目一</a></li>

    <li><a href="#">栏目二</a></li>

    <li><a href="#">栏目三</a></li>

    <li><a href="#">栏目四</a></li>

  </ul>

 

</div>

 

2.将上述代码复制后站粘贴于<ul></ul>之中。原来的<li>代码要全部删除。最终效果如下:

<div id="nav">

<ul>

<li><a href="[!--news.url--]">网站首页</a></li>

[e:loop={"select classid,classname from {$dbtbpre}enewsclass where bclassid='$this_bclass' and showclass=0 order by myorder",0,24,0}]

    <?php

$classurl=sys_ReturnBqClassname($bqr,9);//取得栏目地址

$bgcolor="";

if($bqr[classid]==$GLOBALS[navclassid])//当前栏目ID

{

$bgcolor="#6CF";

?>

    <li style="background-color:<?=$bgcolor?>"> <a href="<?=$classurl?>">

      <?=$bqr[classname]?>

      </a> </li>

    [/e:loop]  

  </ul>

 

</div>

 

3.以上代码中,$bgcolor="#6CF";为高亮时背景颜色修改。