请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

Discuz! 官方站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

Discuz! X 最新研发动态 通过这个窗口,关注跟踪我们的研发进展 Discuz! 开发技术文库 - 给官方提建议

Discuz! X2 正式版下载 帮助网站实现一站式服务  商业支持服务咨询 下载 - 安装 - 常见问题 - 转换 - 讨论 - 购买

2012站长年会开启报名 限量船票免费发放 Discuz!十大荣誉用户评选 - Discuz!NT3.6发布 漫游引入QQ空间游戏 -一骑新区横扫三国-5d6d免费论坛

查看: 28979|回复: 51

[展示] DIY你的下拉菜单 For 5.0 [复制链接]

Genius

Elder Dragon begins to roar!

Rank: 12Rank: 12Rank: 12

UID
250140
积分
18588
帖子
13226
威望
497
在线时间
3411 小时
注册时间
2005-9-18
发表于 2006-9-9 21:55:09 |显示全部楼层
难度:低(但是需要有HTML基础)
5.0以后DZ就自带了下拉菜单功能,并且有一个很好的接口。下面教大家使用下拉菜单接口。

首先请打开jsmenu.htm
请直接在最下面一行加如下的内容:
document.write('<div class="popupmenu_popup" id="mymenu" style="display:none">');
        document.write('<table cellpadding="4" cellspacing="1" border="0">');
        document.write('</table></div>');


不过唯一需要说明的是红色文字部分,那个ID可以自定义,但是不能重复,这个ID起到在其它模板调用的作用,所以请牢记。

接着就开始做菜单了,请在
  1. document.write('<table cellpadding="4" cellspacing="1" border="0">');
复制代码

下面加如下内容:

document.write('<tr><td class="header">我的菜单</td></tr>');


注意红色的"header",那样表示菜单行的背景带有颜色(就是表格头),这样菜单就有头部了,通常这个头部是没有连接的。
如果需要再加一个菜单项目,请按照下面的格式:

document.write('<tr><td class="popupmenu_option"><a href="discuz.php" class="nav">我的论坛</a></td></tr>');


红色部分原理同上,但是这里是用了表格,就是说可以加连接的地方,相信不难理解。蓝色部分就是菜单连接的内容了,可以用html来处理各种效果,甚至可以用img代码(HTML)加图片。其它部分务必不要修改,一个菜单有多少内容就加多少行。很容易的。

里面的内容可以用if来判断显示,支持全局变量或单个变量的显示。
如果希望仅被管理员看见,那么可以写成:

<!--{if $adminid==1}-->document.write('<tr><td class="header">论坛插件</td></tr>');<!--{/if}-->


现在菜单设计完成,开始在模板去调用吧。

打开一个你需要调用该下拉的模板文件,如header.htm
找到类似的link文字让鼠标悬停去显示:
<a href="memcp.php">{lang memcp}</a>


替换成:
<span id="mymenu"><a href="memcp.php">{lang memcp}</a><script type="text/javascript">menuregister(false, "mymenu")</script></span>


注意红色部分,那个是ID,你定义的。
好了,现在你的下拉完成了,很简单吧。其实下拉可以在任何的模板调用,不一定要局限于头部。

更高级点,如果希望能在系统设置去控制,继续下面的修改:

首先请在admincp.lang.php去定义语言变量,这点不再说明了。
然后打开admin/settings.inc.php
找到:
  1. <br><input type="checkbox" name="settingsnew[jsmenustatus][4]" value="1" '.$jsmenu[4].'> '.$lang['settings_jsmenu_enable_my'].'<br>
复制代码


在后面加:
<input type="checkbox" name="settingsnew[jsmenustatus][5]" value="1" '.$jsmenu[5].'> '.$lang['settings_jsmenu_enable_plug'].'<br>


红色的语言定义,请自行修改。蓝色的数字请牢记,而且不能和已有的重复。

打开jsmenu.htm
找到你的下拉菜单的那段html代码,
在头尾加上
<!--{if $jsmenu[5]}-->
代码段!
<!--{/if}-->


蓝色的数字应该和系统设置的一致,除了jsmenu.htm,连调用的模板文件也应该加相应的if判断代码段,方法差不多。

Rank: 3Rank: 3

UID
406020
积分
284
帖子
355
威望
0
在线时间
0 小时
注册时间
2006-7-23
发表于 2006-9-9 22:03:18 |显示全部楼层
先顶一下

使用道具 举报

Rank: 3Rank: 3

UID
227739
积分
218
帖子
160
威望
0
在线时间
0 小时
注册时间
2005-7-28
发表于 2006-9-9 22:06:44 |显示全部楼层
再顶一下

使用道具 举报

Lord

風9

Rank: 4

UID
391901
积分
738
帖子
622
威望
18
在线时间
1 小时
注册时间
2006-6-26
发表于 2006-9-9 22:06:49 |显示全部楼层
好東西,,,地板位~

使用道具 举报

King

诚信做人,认真做事

Rank: 6Rank: 6

UID
88874
积分
2445
帖子
1541
威望
48
在线时间
238 小时
注册时间
2004-5-31
发表于 2006-9-9 22:10:53 |显示全部楼层
写的很详细 支持哦!

使用道具 举报

King

thbbs.cn

Rank: 6Rank: 6

UID
99289
积分
1422
帖子
913
威望
41
在线时间
29 小时
注册时间
2004-7-13
发表于 2006-9-9 22:52:17 |显示全部楼层
支持.

使用道具 举报

Lord

别跟我装

Rank: 4

UID
361696
积分
849
帖子
831
威望
16
在线时间
0 小时
注册时间
2006-5-7
发表于 2006-9-10 00:18:41 |显示全部楼层
老龙的帖子我是逢贴必顶。

老龙发布的插件才叫真正的插件,质量很高。而且说明非常详细,感谢老龙。

[ 本帖最后由 ovovo 于 2006-9-10 00:20 编辑 ]

使用道具 举报

Forum Legend

飞....

Rank: 8Rank: 8

UID
227945
积分
3305
帖子
2425
威望
101
在线时间
48 小时
注册时间
2005-7-29
发表于 2006-9-10 00:23:58 |显示全部楼层
这个棒..

使用道具 举报

Forum Legend

飞....

Rank: 8Rank: 8

UID
227945
积分
3305
帖子
2425
威望
101
在线时间
48 小时
注册时间
2005-7-29
发表于 2006-9-10 00:25:48 |显示全部楼层
再占一位..

使用道具 举报

Rank: 4

UID
101583
积分
600
帖子
608
威望
0
在线时间
1 小时
注册时间
2004-7-22
发表于 2006-9-10 00:35:08 |显示全部楼层
收下学习

使用道具 举报

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

fastpost

手机版|Archiver|北京康盛新创科技有限责任公司 ( 京ICP证110024号|京网文[2011]0019-007号 )  

GMT+8, 2012-2-13 04:42 , Processed in 0.102057 second(s), 14 queries , Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部