DISCUZ后台添加导航栏和左侧菜单栏 ' N& P- L% |. B" C8 l7 A
discuz后台不存在模板文件,所以我们无法通过追源码的方式来添加导航栏,下面介绍下discuz后台添加导航栏的方法: $ F. P3 j4 Q8 a& y
* n9 I0 w9 ]' `* S% Z& {4 x需要用到的文件就两个: * g$ h# O' _$ V6 ^( i! R
9 X0 D; c" V! D% t
(1)\source\admincp\admincp_menu.php
: V+ K4 s* b% }/ Q5 w% U P/ Z" [1 i4 ]$ v o( |% S/ ?7 l8 J s" F
(2)\source\language\lang_admincp_menu.php
( z8 q+ s& M+ p+ S
- e% G! Y( h, o/ e2 O- T- P
2 e4 \# Z, x, f P$ R
: f2 G4 p8 b; ^/ X5 T5 ~( C6 zadmincp_menu.php中的代码:
0 H" U- _9 L, U2 V* a$ H$ n K! i; p9 H: H2 S& D
- $topmenu = array ( : C9 S; R0 r! }( h
- 'index' => '',
* U2 X- J1 l. L0 N: a - 'global' => '', ) J% w( Y' ~7 I, S# D
- 'style' => '', + t; S- W g! e& c) T D: j9 T
- 'topic' => '',
( [+ a( X% [! |- j H - 'user' => '',
- H' m4 z! Y1 B7 \3 F( b1 ~ - 'portal' => '',
3 w' {" y9 u5 w2 g; D" E - 'forum' => '',
& i# k! h& |/ \5 A% G$ [ - 'group' => '', ) ~8 g* E& c# W% I3 a
- 'safe' => '', / v- ~) K0 H4 j! O8 n4 Q
- 'extended' => '',
2 y7 u4 h, N& K - 'plugin' => '',
2 H) x$ P: ~$ M4 q6 i. K) H" ^2 E - 'tools' => '',
/ G- ~9 Q- _. g* {. d o( L0 Z - 'match' => '', //因为整个导航栏是从数组中循环出来的,在这里做一个初始化,所以我在这新添加一条作为新添加的导航按钮
2 s _& a( n0 D1 W6 ]' o3 X4 H/ P - );
复制代码 根据上面添加的导航,给他添加左侧的菜单:' Y* Z7 T8 a8 R- _0 ?9 Y
- $menu['match'] = array( , t0 m# N( w9 r5 m/ m6 X2 t
- array('menu_work_list', 'match_main_list'), //数组中第一个值就是菜单名称,第二个值会在后面详细解释2 S6 s/ A8 h$ z
- array('menu_work_add', 'match_main_add'),//每一个数组都是一个菜单按钮,可以写很多
; f9 O# \( n8 k% ^7 O - );
复制代码 lang_admincp_menu.php中代码:
; G; k7 P! S6 M5 s, R9 P8 _在 $lang = array() 数组中添加如下代码:
" C8 R# \& b c- 'header_match' => '作品大赛', //给我们添加的导航栏( match )设置中文名称
/ ?7 V& l* e/ w& d - ) g N' n& e3 D" |( _! x5 w( p2 o
- 'menu_work_list' => '作品列表', //对应上面数组中的第一个值,给菜单设置对应的中文名称
/ o3 m& D" t2 C! V/ ]7 b; B6 W - 'menu_work_add' => '添加作品', //对应上面数组中的第一个值,给菜单设置对应的中文名称
复制代码 访问浏览器,会出现如下信息:% a3 q# o$ N1 D
$ |, F4 l7 ^9 m7 ^$ R& S/ c这里需要在 admin.php 文件中 $admincp_actions_normal 数组中添加 ‘match’,就OK了。
7 W8 j) x# c# V% W然后访问
到这里,导航就添加完成了!!! ( r. U( n5 C9 Z' i
接下来我们再说一下上面数组中的第二个值有什么作用? 菜单栏添加完成后,需要给他一个链接,将其信息显示到右侧 那么当我把鼠标移到"作品列表"上时,浏览器左下角会出现 URL 路径,注意圈起来的部分
这时便发现数组中的第二个值 “match_main_list” ,通过下划线区分开,每个值都对应URL路径中圈起来的值, 对应分别是: action --------对应-------- match operation --------对应-------- main do --------对应-------- list (action、operation、do是DISCUZ默认的) 由此我们可以得出:上面数组中的第二个值是给菜单按钮提供URL路径 另注: 如图所示:
( T- o: G# ^6 ]6 I. G% {
圈起来的$action就是我们的URL地址传过来的action的值,下面的路径便是我们新增的菜单访问的位置,我们要在 /source/admincp/目录下创建一个PHP文件(文件名要按照图中那样的格式来起名),php文件中输出的内容就会显示在右侧()。 : ~/ l9 l7 s; t6 R) R; n" @
|