织梦导航栏制作下拉菜单

  织梦5.7版本的默认模板中,导航栏是没有二级菜单的,其实默认模板中可以设置二级菜单。下面我们就来看看怎样实现织梦默认模板导航栏的二级菜单。


1、为了演示二级菜单的样式,我们创建一个栏目“新闻中心”,其下有3个子栏目“公司新闻”、“行业咨询”、“视频中心” ,创建完成后,生成网站,导航栏没有下拉菜单的样式。下面就是二级菜单的添加方法。

2、首先在默认模板文件夹default的footer.htm文件中的头部加上这段代码<!-- //二级子类下拉菜单,考虑SEO原因放置于底部 -->

<script type='text/javascript' src='{dede:global.cfg_cmsurl/}/images/js/dropdown.js'></script>

{dede:channelartlist typeid='top' cacheid='channelsonlist'}
<ul id="dropmenu {dede:field.typeid/}" class="dropMenu">
{dede:channel type='son' noself='yes'} 

<li><a href="[field:typelink/]">[field:typename/]</a></li>
{/dede:channel}

</ul>
{/dede:channelartlist}
<script type="text/javascript">cssdropdown.startchrome("navMenu")</script>

把上面代码放入footer.htm后,保存文件,生成一下网站后,网站的导航栏就已经出现二级菜单的样式,样式如下图:
织梦导航栏制作下拉菜单zuola.net
现在就有了二级菜单的样式,并且没有背景,是透明的背景。

3、通过看上面添加的代码,其中调用了一个js文件,是织梦系统的/images/js/dropdown.js ,通过这个路径你会发现文件是织梦系统自带的,不是模板中的,所以我们就算用其他的模板也可以调用这个js样式。

另外我们现在也可以对这个透明的二级菜单做调整,因为二级菜单的样式在织梦默认模板default的style中的dedecms.css中也是默认存在的,打开dedecms.css查询“下拉菜单” 这个词,就可以找到代码,如下图
织梦导航栏制作下拉菜单zuola.net

.dropMenu就是下拉菜单的样式,懂div+css的朋友应该知道怎样修改,不懂的请学习一下css。

4、通过上面的下拉菜单的css样式,我们可以看到,下拉菜单的背景是名称为mmenubg.Gif 的图片,我们可以把下面的图片复制到default的images文件夹下,命名为mmenubg.Gif ,这样下拉菜单就出现背景了。
织梦导航栏制作下拉菜单zuola.net


#p#副标题#e#

备注:
    聪明的朋友可能发现了,其实,我们可以直接借用织梦默认的下拉菜单资源,放到自己的模板中,就可以在自己模板中实现下拉菜单的效果。具体步骤和上面差不多:

1、在自己的模板头部导航中,用下面代码调用导航(其实这些代码就是默认模板的导航调用代码):
<div id="navMenu">
<UL>
<LI><A href="{dede:global.cfg_indexurl/}">首页</A> </LI>
{dede:channel row='10' type ='top'}
<LI><a href="[field:typeurl/]" [field:rel/]>[field:typename/]</a></LI>
{/dede:channel}
</UL>
</div>

      需要注意的是注意的是<LI><a href="[field:typeurl/]" [field:rel/]>[field:typename/]</a></LI>这一行,这个是输出导航栏栏目的,需要在这里添加上红色的部分[field:rel/] 想要更多样式就需要自己慢慢测试了。
   提醒:这里首页必须用id="navMenu",在css表里把头部的id或者class更改为默认这个id="navMenu",因为第三步我会讲到CSS部分的修改。

2、在你网站正在使用的底部模板(如footer.htm)添加如下代码(其实就是上面第二步中的下拉菜单js代码)
<script type='text/javascript' src='{dede:global.cfg_cmsurl/}/images/js/dropdown.js'></script>
{dede:channelartlist typeid='top' cacheid='channelsonlist'}<ul id="dropmenu{dede:field.typeid/}" class="dropMenu">
{dede:channel type='son' noself='yes'}  <li><a href="[field:typelink/]" >[field:typename/]</a></li>
{/dede:channel}
</ul>
{/dede:channelartlist}
<script type="text/javascript">cssdropdown.startchrome("navMenu")</script>

3、到templets/default/style中打开dedecms.css文件,寻找“.dropMenu”这个类,复制它的所有代码到你自己的css中,你也可以直接复制下面的代码到你的css中。
  如下:
.dropMenu {
 position:absolute;
 top: 0;
 z-index:100;
 width: 80px;
 visibility: hidden;
 filter: progid:DXImageTransform.Microsoft.Shadow(color=#CACACA, direction=135, strength=4);
 margin-top: -1px;
 border: 3px solid #FF0000;
 border-top: 0px solid #3CA2DC;
 background-color: #FFF;
 background:url(templets/sdgwy/index_files/mmenubg.gif);
 padding-top:6px;
 padding-bottom:6px;
}
.dropMenu li {
 margin-top:2px;
 margin-bottom:4px;
 padding-left:6px;
}
.dropMenu a {
 width: auto;
 display: block;
 color: black;
 padding: 2px 0 2px 1.2em;
}
* html .dropMenu a {
 width: 100%;
}
.dropMenu a:hover {
 color:red;
 text-decoration: underline;
}
  
    当然这里面可以修改下拉菜单样式,包括下拉菜单的背景颜色或背景图片以及字体样式等,具体的可以自己调试。

完成上面的三个步骤,你的dede导航下拉菜单功能就实现了,祝你好运。