坏蛋网络

 找回密码
 立即注册

微信登录

只需一步,快速开始

手机动态码快速登录

手机号快速注册登录

搜索

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

[复制链接]
坏蛋网络官方 发表于 2020-1-20 03:01:00 来自手机 | 显示全部楼层 |阅读模式
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板制作无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是制作模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的模板文件进行解剖!在这里希望大家支持一下!随便AD下!3 u: d* V# A, I6 C$ ?4 u
, ]) T+ T2 ~) P. r* C" ^% `
header.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!
+ [+ V# |0 d4 p, x5 r$ |, P' F2 h( [/ H7 O! I  j, O
第1行代码:, p, }8 G" b- }0 ?
<!–{subtemplate common/header_common}–>, v  @' h9 B3 y
代码解释:用于调用common文件下的header_common.html文件,8 `" u) x; H3 t* S
备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。
0 p- Y5 y* m7 S% o2 A! p' T3 w( O# x9 p0 {
第2-29行代码:
: E4 Y3 p2 M! x$ x8 |1 P9 C从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾* T6 M8 w* r/ \  r/ A; L
代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!$ @* x- Z  F% y9 J; c
备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写: G3 V, ^* ~8 ~) k
2 H; @' p- ?; @5 o3 ]
第30-186行代码:
! z, B' V( W! F0 n; t4 R) f& X从<body>处开始到此文件的最下方* R3 b9 g7 [, Q' X7 H# l
代码解释:这是首部文件的核心7 K; E0 v6 D/ J
备注:在修改时请注间要提前备份文件
# O$ g" o: m8 @6 j; k6 o, d# Y, J* r' q, l, u; e' t# m* o0 ]6 H- ]
第32-44行代码:7 l5 v+ B, Y: l4 s+ \
从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾
% l) Y' v5 \# F0 X9 V代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,8 Q3 @8 }1 B4 d4 O' d" u
备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!
$ y  G% R0 ~- f; x5 t: B: I" ~& I; F$ D5 M9 G
第32-44行代码:$ n; h+ g! v( c0 u
从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>
7 {) v& p1 C3 u+ V- }7 D, `# {代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>- J' I" @# p- C# h" l
备注:在后台=》界面=》顶部导航。可以设置
" x! u3 o' L6 q% _) R0 W" f4 D
7 O! D! R. t7 K! g8 ^6 E' M第70-78行代码:  s4 K7 T* j* R0 }2 l
* y0 f9 u9 ^0 x" L( X" I) w
<!–{if !IS_ROBOT}–>
# z8 L- i/ m7 U) O3 N8 N* j7 a  Y1 g                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>
( ]6 R7 n  v" Q- g4 Z! ^                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>
+ V! V7 V3 w2 I8 f0 t3 U( a" G" L                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>
; k7 m+ D$ z  N                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>  n$ s7 ~- e# k$ g( K
                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>" T: U8 [6 d+ u8 L8 x: A
                                        <!–{/loop}–>
5 h! N/ G0 M& Y! V9 ]+ ^$ Q" X                                </div>
% \; f- X" I: P9 `8 x                        <!–{/if}–>5 p3 n- V4 a# ]' P4 y
* ]; R& [2 y; A, L1 ~" V9 H
代码解释:此处是拓展色的切换的菜单
( I  N! k* P( p9 \备注:如里不需要可以删除: {! R* J* G1 L5 t* Y) M+ C. g& A

4 }- R6 g' V4 j: V第80-96行代码:8 C$ H+ C6 N& o3 R4 c5 j

1 U1 }0 M% E5 Z. z0 G<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>
9 T" N) e5 ^; r                                        <!–{if $_G[‘uid’]}–>
9 o/ M/ Y  l7 O6 a, M5 U. M                                        <ul>
& T+ n  F2 g: o/ S, d                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>5 B) X' ~" q5 \) {; E0 i$ Q
                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>+ W+ D  @! d" S; z# N
                                                                <li>$nav[code]</li>
' A* q& N9 Z  |5 B; m                                                        <!–{/if}–>7 c( n, K: x$ u1 c5 n  K, c6 Q
                                                <!–{/loop}–>
  l, ]/ u* C. _# g- ]" b                                        </ul>
' K, h: p9 W4 Z# _: [; @/ }4 f                                        <!–{else}–>1 d. O+ X$ @- N' k% a
                                                <div class=”ptm pbw hm”>
) |" \1 N  W( \5 c$ J* a2 l4 T                                                        {lang my_nav_login}
3 M/ D2 c/ M$ y1 V                                                </div>
3 E1 W( ]4 F3 j; c+ m1 a+ l                                        <!–{/if}–>1 L& Z/ q7 T4 ?3 }
                                </div>
6 e9 G( y+ y, c- M6 A                <!–{/if}–>( y, d, z6 s/ |& T
; N# f' |2 P: U4 P
代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈
- r& V' M. h5 b1 U4 M* ~2 _备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!
8 ~* u( F; ^  U# o7 r5 m# ^0 ?2 ^
8 N3 L+ I0 U) j第97行代码:3 d) o  B* u% j" `( U, G" i
# ?8 z( Z( \6 B1 d+ W* G
<!–{ad/headerbanner/wp a_h}–>) i$ b% q- f0 c. h

& L5 _  |& E. o' N- x: O2 G代码解释:头部的广告代码,
* ]! ]# s5 S0 @: b4 Z3 z备注:可以在后台=》运营=站内广告添加第98-184行代码:' f5 p1 J3 K, V1 X: g
从<div id=”hd”>到 </div><!–{/if}–>
% I. l4 `# z' J6 E代码解释:头部的核心文件
% R. M; s8 U; X" U8 C备注:下面是头部核心的DIV指引6 t5 w# u$ O" A1 f2 r& z0 Z
<div id=”hd”>) V* w0 P$ c; s7 b3 g  m8 z" \: q
<div class=”wp”>
/ k! S! m7 i4 e. W2 X<div class=”hdc cl”>7 @* L% v' \& j& x% G8 q4 ~
<h2>logo</h2>———————————->logo6 X7 b1 f  E  [2 Q0 A5 }
                 <div id=”um”>/ D) I! [  S1 e$ A) d' B5 Z+ u% @
<div class=”avt y”>头像</div>—————————–头像1 x7 J# p  |6 S) q9 S  ^3 C
                       <p>
0 i1 G+ U% u5 i# n' C  h& ]* c, Q, }9 ^<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点1
0 _& G8 w; ?* g( h) L/ P4 C                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2" @# x2 ?# \$ {7 Y  W- b. M
个人信息—————————————->个人信息
8 E; X+ t! c3 d. X* j9 k</p>
7 n; A8 S) f% s# ?3 [( ~. a, P/ D<p>! Y3 y: D8 v- Z# b
<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点3& \: L  q2 g' J6 N8 D
个人信息—————————————->个人信息. t% F6 G& X; ^. r) W+ Q0 W
</p>
- u6 `8 o# H5 i</div>' B0 L) Y$ H- M/ y6 W6 L9 z" R' O
<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>% `1 K2 N/ g( |$ E: I% C) w
<div id=”nv”>
9 _& k) k# Q2 F! t* e$ O- J<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航
& Q" X* K, v4 F                <ul>: S6 c+ S7 D* P# R) f- b6 w
<li>栏目导航</li>———————————>栏目导航
% y5 P  K& g4 G( F% C/ [9 ]( z                 </ul>
1 X4 {! P! R; f/ N+ S" g5 s</div>  k0 ?2 T  J0 C& B
<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>+ t- M/ e0 S" P/ h1 c3 f$ D; V& ^- w; W; W
二级导航菜单样式——————————————————>二级导航菜单样式
9 L- [  s" B$ ^% Q' ^7 T! T</ul>
+ N- Y' r  l% z< div id=”mu” class=”cl”>) G+ N4 G9 n1 z% X# K$ h
二级导航横排>————->二级导航横排样式
" f+ S5 v2 M1 n; m1 o" i              </div>+ h* D8 J* t7 z$ Z5 n) ^
<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)4 R, a1 z) H1 d6 Q
<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>. b& ^+ a+ S/ n$ ^
</div><!–{hook/global_header}–>插件嵌入点
  i( l& p8 Y8 f. p5 W& U$ _3 d% b* v- U; c* X: q( \$ a: m
总结:大家在修改的时候他的每个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 | 显示全部楼层
我是个凑数的。。。
回复

使用道具 举报

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