坏蛋网络

 找回密码
 立即注册

微信登录

只需一步,快速开始

手机动态码快速登录

手机号快速注册登录

搜索

[DZ教程] Discuz!模板代码解析–header(头部文件)

[复制链接]
坏蛋网络官方 发表于 2020-1-20 03:01:00 来自手机 | 显示全部楼层 |阅读模式
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板制作无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是制作模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的模板文件进行解剖!在这里希望大家支持一下!随便AD下!9 E$ p4 [1 h' n4 F, g
/ A  K+ [+ m$ p. s! V! d- `+ Q  X
header.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!: b% T& Z+ C  l
: n( W; S+ u* U) e) k- h) N5 I
第1行代码:
. E( {" f9 y3 V4 m; O+ W<!–{subtemplate common/header_common}–># V$ p6 N% J- g2 Q4 e
代码解释:用于调用common文件下的header_common.html文件,' v( j3 H( C+ f; o0 T1 N/ X
备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。' t1 t2 J, e3 {/ z+ m
; h3 F$ R% ^( V% @0 q
第2-29行代码:
! d1 g5 \4 t8 q6 i从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾' \! t4 e# {* u9 ~$ P1 w3 C
代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!
. X  l% A, {5 J& C- b2 q备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写
2 m. [3 j5 r( r7 y/ o: |& Q  H& F/ @1 _
第30-186行代码:4 D  d2 Q9 E8 a7 f  i4 d/ t5 F/ k
从<body>处开始到此文件的最下方
8 ^) X9 I/ z4 C8 k" x& L代码解释:这是首部文件的核心
$ e. h& y% T. s备注:在修改时请注间要提前备份文件
0 V. s7 R+ `! Z8 X+ a; {7 f* }' L* t+ z
第32-44行代码:
1 j/ C  b+ w8 f! J6 H) T# F+ ]9 t从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾5 j& _9 o4 u9 [
代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,( ?# n' g1 Y/ u" y' L- w
备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!" y, a8 J: W, r2 m  }* ]1 Q
9 Z, k% u2 v( e6 E4 z
第32-44行代码:2 }. C! m- t0 @4 v$ a5 w; t
从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>$ I1 ^; o/ U* U3 M4 }6 q% W, \
代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>) T. S) X0 A; Y) ~
备注:在后台=》界面=》顶部导航。可以设置
; M/ _# N, G  Z4 L8 {; C
# o/ \! S- g; z0 i第70-78行代码:
: V% y/ U: i2 B4 Y( s' Y
6 Y( E, V) H2 E* M2 R<!–{if !IS_ROBOT}–>
* R6 q0 {) m% |3 J4 _                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>
" {; B0 ^! N" _1 o( z                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>
3 `/ ]2 Q/ B: c0 D                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>$ k, [* D8 f; L) D9 D# E
                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>$ {, ^  W) i4 F* o5 M8 c8 B
                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>) s+ S: R* |$ L0 D
                                        <!–{/loop}–>
$ I8 s3 v+ k% P" p, p+ H5 T2 g" L                                </div>
! I; |& I. C/ q" y" W2 P; ~% B                        <!–{/if}–>2 U+ L& p1 o$ P- E2 i5 j
5 Z; q4 P: r, a4 |
代码解释:此处是拓展色的切换的菜单2 T6 I. `4 x# C+ Y7 n; x/ q, {; p
备注:如里不需要可以删除* L5 G4 H# @: a3 e3 p
: Q/ G: |% B: h" Q2 u0 E! i+ e
第80-96行代码:
. n: G9 s) [' q9 F$ j+ M
8 T( h& p# ?' a/ C0 m! _<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>2 ~1 V* A3 ^9 |  Z
                                        <!–{if $_G[‘uid’]}–>2 Y9 E0 z9 H3 Y9 e$ e
                                        <ul>- T8 r; P+ ^2 W" s
                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>& u! A6 @5 s. V; _, N
                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>
, Y5 _) ?% B5 O  r6 q  z                                                                <li>$nav[code]</li>
" E  S) o( s0 M* L6 B$ S                                                        <!–{/if}–>
( Z2 s' w$ s; \9 a: H7 R2 M                                                <!–{/loop}–>! \; G; \/ |5 v1 T+ E9 N
                                        </ul>
0 e- ?6 n" `; R. b                                        <!–{else}–>
' b7 O0 _- M* n; m9 X) C1 B  I+ V                                                <div class=”ptm pbw hm”>
$ f1 B. _6 i0 E. k! V  ?$ I1 J                                                        {lang my_nav_login}' ~$ B+ d) a7 {: R
                                                </div>
6 v: x) l# [. r% Q( a& \                                        <!–{/if}–>* a3 M- ?9 J/ M9 P9 O
                                </div>7 t5 d3 A4 z* D# h3 O5 M, n# I% E
                <!–{/if}–># D0 U9 l! e8 `9 F
- E+ x$ `3 P, i9 i+ Y) b
代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈* O0 H9 \6 y  \* F; i. u
备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!
2 h; Q6 Y3 ~1 M: t7 C7 m0 q2 S, a5 I
第97行代码:
3 _  s0 J/ O: O; F/ {/ O2 D7 h& e% J. K+ e4 p
<!–{ad/headerbanner/wp a_h}–>
2 P* r8 k# G6 K' S1 M+ B
; \! O! x9 e+ Z. }' [4 v9 [# F, A代码解释:头部的广告代码,
6 L5 Y( H4 t# V, F) k$ ~1 n备注:可以在后台=》运营=站内广告添加第98-184行代码:  m( m1 [! Q6 p: b$ @$ r
从<div id=”hd”>到 </div><!–{/if}–>* p$ P3 E2 P: H
代码解释:头部的核心文件, Q, a5 k' t9 c: _8 p
备注:下面是头部核心的DIV指引: a# q: g5 s: u1 {+ K# S
<div id=”hd”>1 ~# y" M" `' c
<div class=”wp”>
' f# V; o3 _. G# i/ \( Z% k8 \; N<div class=”hdc cl”>
3 J# H7 m/ l9 P$ h<h2>logo</h2>———————————->logo
+ `3 Y4 r6 ^/ X- V                 <div id=”um”>
& y4 m1 s) ^$ W8 u<div class=”avt y”>头像</div>—————————–头像8 L# ^0 B' T' K2 G& c
                       <p>
& o: l4 Z' R5 }* Z4 [$ s( _<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点1/ L1 M- E% m) q& C  r/ @8 z
                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2
5 b, ?: ^. c9 D3 U& }/ A. u个人信息—————————————->个人信息
3 W) E) D* h  j' E7 v2 j</p>& L  z. w+ h7 I, U9 g/ J5 |
<p>% J  p$ F3 v) z% |0 [! ~- m
<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点3
' w' _( M$ e  ~个人信息—————————————->个人信息, b: N) n9 v& B( W8 m. e1 k: r
</p>
+ l. O% J3 ?- l</div>, P4 V& {9 M0 U/ |- u
<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>" t/ \, F+ r+ m
<div id=”nv”>8 V* A& _$ E4 Z1 \* S+ M% S2 \* H
<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航/ r, P- b% X1 L- g- m8 Z
                <ul>7 T- e0 J/ h5 J& |% {6 B' n
<li>栏目导航</li>———————————>栏目导航
, J2 u- O: ]5 L$ \& r0 l                 </ul>
& `; s: \. d" L2 t5 _5 t0 [</div>
( X" W6 a$ @! u: S: O1 x# Q<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>0 y5 A' {3 |/ I/ Z! B9 R9 M8 i' b: }* s
二级导航菜单样式——————————————————>二级导航菜单样式" N4 H5 f. ^7 \- U
</ul>
9 e' {# P: x5 A1 |! M< div id=”mu” class=”cl”>
3 x* |& \% |* C* j+ H# Y二级导航横排>————->二级导航横排样式1 {1 j( F- k, O$ H, o+ }& W
              </div>
; @% u; I1 s9 U, N7 C) _( i<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)
3 p' J3 w; N) Z8 v1 c- i<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>
. s9 a3 h3 T" o  j</div><!–{hook/global_header}–>插件嵌入点
6 \* y% \# z, c- w0 V; P0 Z; @; E9 K' ^  ?- U& L, R9 K% }! `
总结:大家在修改的时候他的每个DIV和ul、li、和会有if语句,大家在看明白以上图后,在添加的时候要注意一下IF语句的作用,我就没有把代码复制到上面一一解析,希望大家去妍究下!利用这些资源,自己可以做出很漂亮的头部,举一反三!
想说又不敢说,说了又怕被拒绝,拒绝了又怕尴尬,就是这样的。内心很痛苦的那种。
起什么名字呢? 发表于 2020-1-20 13:44:18 | 显示全部楼层
沙发!沙发!
回复

使用道具 举报

MR.Z 发表于 2020-1-21 08:00:48 | 显示全部楼层
有道理。。。
回复

使用道具 举报

hgfhgf 发表于 2020-1-21 17:55:29 | 显示全部楼层
我是个凑数的。。。
回复

使用道具 举报

1287252690 发表于 2020-1-22 10:59:32 | 显示全部楼层
支持一下
回复

使用道具 举报

雨后晴天 发表于 2020-1-22 21:38:49 | 显示全部楼层
学习了,不错,讲的太有道理了
回复

使用道具 举报

岁月神偷 发表于 2020-1-23 11:01:26 | 显示全部楼层
过来看看的
回复

使用道具 举报

瑾瑾 发表于 2020-1-26 03:05:05 | 显示全部楼层
路过,支持一下啦
回复

使用道具 举报

 shu1332725 发表于 2020-1-26 04:06:46 | 显示全部楼层
过来看看的
回复

使用道具 举报

张红霞 发表于 2020-1-26 11:12:24 | 显示全部楼层
我是个凑数的。。。
回复

使用道具 举报

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