找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2586|回复: 0

[分享] 织梦导航栏制作下拉菜单

[复制链接]
发表于 2018-4-4 14:03:57 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
织梦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后,保存文件,生成一下网站后,网站的导航栏就已经出现二级菜单的样式,样式如下图:
1.webp
现在就有了二级菜单的样式,并且没有背景,是透明的背景。

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

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

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

4、通过上面的下拉菜单的css样式,我们可以看到,下拉菜单的背景是名称为mmenubg.Gif 的图片,我们可以把下面的图片复制到default的images文件夹下,命名为mmenubg.Gif ,这样下拉菜单就出现背景了。
3.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: progidXImageTransform.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导航下拉菜单功能就实现了,祝你好运。

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-12-23 17:44 , Processed in 0.051418 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表