织梦导航栏制作下拉菜单

织梦5.7版本的默认模板中,导航栏是没有二级菜单的,其实默认模板中可以设置二级菜单。下面我们就来看看怎样实现织梦默认模板导航栏的二级菜单。
  织梦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后,保存文件,生成一下网站后,网站的导航栏就已经出现二级菜单的样式,样式如下图:
织梦导航栏制作下拉菜单_lazybirdfly.com
现在就有了二级菜单的样式,并且没有背景,是透明的背景。

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

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

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

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


#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导航下拉菜单功能就实现了,祝你好运。






本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

讲解下织梦的 sql数据库 类,近期本来是准备录制一套视频教程的,但由于视频压缩的问题迟迟没有开展工作,如果大家有什么好的视频压缩方式可以通过邮件的方式告诉我.目前视频主要想做成 wmv 或者 rmvb 这种格式的,里面含有ppt文档以及课程的相关附件. 其实数据
当复制文章内容时,自动加版权与文章详细页网址的实现方法: 将下面的js代码插入到文章内容页模板的head与/head标签中间就行 script language='javascript' type='text/javascript' !-- document.body.oncopy = function () { setTimeout( function () {
第一个方法:通过css方法解决: CSS样式如下: img,a img{ border:0; margin:0; padding:0; max-width:590px; width:expression(this.width590?'590px':this.width); max-height:590px; height:expression(this.height590?'590px':this.he
因为最近接了私活,有两个客户都需要有这样的需求,而且都是多选,但是网上并没有多选的教程,都是单选,所以我就无偿的把这篇有价值的二次开发教程分享出来了.这个的功能今后会挺常见,能帮助大家一点算一点,希望大家珍惜这些代码,如果有转载请写明文章来源,首发的
由于最近在接了些私活,有些朋友就有这样一个需求,在织梦会员中心里面如何修改重新发邮件的间隔时间,因为默认是5秒好像,客户觉得太短了,一闪而过,所以想加大点. 网上貌似没这样的教程,这个其实很简单,我就以重新发邮件为例子写下代码,其他的提示时间修改方式也
防采集串混淆设置: 在Dede后台---系统----防采集串混淆,在里面添加自己的混淆字符串。 然后将文章内容模板里面的 {dede:field.body/} 替换成 {dede:field name='body' function='RndString(@me)'/}