织梦导航栏制作下拉菜单
时间:2014-12-26
织梦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后,保存文件,生成一下网站后,网站的导航栏就已经出现二级菜单的样式,样式如下图:
现在就有了二级菜单的样式,并且没有背景,是透明的背景。
3、通过看上面添加的代码,其中调用了一个js文件,是织梦系统的/images/js/dropdown.js ,通过这个路径你会发现文件是织梦系统自带的,不是模板中的,所以我们就算用其他的模板也可以调用这个js样式。
另外我们现在也可以对这个透明的二级菜单做调整,因为二级菜单的样式在织梦默认模板default的style中的dedecms.css中也是默认存在的,打开dedecms.css查询“下拉菜单” 这个词,就可以找到代码,如下图
.dropMenu就是下拉菜单的样式,懂div+css的朋友应该知道怎样修改,不懂的请学习一下css。
4、通过上面的下拉菜单的css样式,我们可以看到,下拉菜单的背景是名称为mmenubg.Gif 的图片,我们可以把下面的图片复制到default的images文件夹下,命名为mmenubg.Gif ,这样下拉菜单就出现背景了。
#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导航下拉菜单功能就实现了,祝你好运。
相关文章
- 织梦二次开发必备教程-Dedesql数据库类详解大全讲解下织梦的 sql数据库 类,近期本来是准备录制一套视频教程的,但由于视频压缩的问题迟迟没有开展工作,如果大家有什么好的视频压缩方式可以通过邮件的方式告诉我
- 织梦dedecms复制文章内容自动加版权代码当复制文章内容时,自动加版权与文章详细页网址的实现方法: 将下面的js代码插入到文章内容页模板的head与/head标签中间就行 script language='javascript' type
- 二种方法解决织梦DedeCMS文章图片太大撑破内容页第一个方法:通过css方法解决: CSS样式如下: img,a img{ border:0; margin:0; padding:0; max-width:590px; width:expression(this.width590?'590px':this.wid
- DedeCMS二次开发联动筛选(单选和多选)功能的实现因为最近接了私活,有两个客户都需要有这样的需求,而且都是多选,但是网上并没有多选的教程,都是单选,所以我就无偿的把这篇有价值的二次开发教程分享出来了.这个的
- DedeCMS织梦会员中心更改重新发邮件验证提醒的间隔时间由于最近在接了些私活,有些朋友就有这样一个需求,在织梦会员中心里面如何修改重新发邮件的间隔时间,因为默认是5秒好像,客户觉得太短了,一闪而过,所以想加大点.
- DedeCMS防采集串混淆设置防采集串混淆设置: 在Dede后台---系统----防采集串混淆,在里面添加自己的混淆字符串。 然后将文章内容模板里面的 {dede:field.body/} 替换成 {dede:field name