坏蛋网络

 找回密码
 立即注册

微信登录

只需一步,快速开始

手机动态码快速登录

手机号快速注册登录

搜索

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

[复制链接]
坏蛋网络官方 发表于 2020-1-20 03:01:00 来自手机 | 显示全部楼层 |阅读模式
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板制作无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是制作模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的模板文件进行解剖!在这里希望大家支持一下!随便AD下!
# ?0 x7 v- D5 O" h2 x3 P, n: v. g
! n/ Y8 t) Z4 V# Mheader.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!) l/ H5 F  a' f. }5 h5 X. Q

0 V* _- B( o9 A2 b第1行代码:
2 G/ k1 G2 M, R& i5 a5 w( u<!–{subtemplate common/header_common}–>
# ]! K" s4 C  ^- H* O+ `& U代码解释:用于调用common文件下的header_common.html文件,
! v+ r& T5 d& {& Y, c' @9 D, V7 D备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。# D1 C9 f+ `6 ]% ~, L  w* B

' G+ p6 ^( f/ V第2-29行代码:, }" S- x6 k& w* ]
从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾+ W% S) M- e# ^+ D8 u6 E" r
代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!
& r6 A' V$ Z. u& V备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写
! c6 D* V9 P! r* Y  P$ q# c4 ?7 |* r8 W; ]4 N, T, ?" q
第30-186行代码:
) `" V6 P( r7 D: Y从<body>处开始到此文件的最下方. M  x0 t  m. I9 d) x+ I% l+ Y3 R; c
代码解释:这是首部文件的核心
7 D' P3 |/ U' X: j& c! [2 @备注:在修改时请注间要提前备份文件; ^- C1 r* _  B6 P) p; t) \2 t

0 E$ }4 C" J/ i. \3 C' C3 H" _第32-44行代码:
& ~5 L; U1 j4 I& D从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾' J, a4 R4 M9 M' v' c7 Y8 r
代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,8 s& a/ p& t% P. f- y; [6 M# w
备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!
. U8 H" d/ A* ~9 Q0 U1 N; U0 B" N; ^! g+ Q6 T8 w
第32-44行代码:7 R3 R5 G! C! }3 a, E3 _3 H
从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>' ]! x( V* l3 J, ?2 A2 B3 t
代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>
* K2 H7 _, |# `备注:在后台=》界面=》顶部导航。可以设置7 N1 z3 V/ h2 e5 W$ k
/ Z, K. I6 [+ T) H+ O# d" |& m
第70-78行代码:' E1 A- u5 S! y6 T

/ b* Z! C" x- n0 Z4 O6 ?2 E" A<!–{if !IS_ROBOT}–>; P  I; k: E4 c/ N6 Q
                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>% ]( d7 X) F$ |. C: f: Q
                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>1 c- N6 W8 R7 r; s5 v7 I
                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>
$ `& I. q& a5 A% e/ V9 @                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>
: u7 |( T! _+ F) U1 V; F2 J9 O( \                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span># E8 u: j- J5 {2 ?5 q
                                        <!–{/loop}–>+ ?, a- Z8 k) D" E+ @
                                </div>& p' N, h6 f$ l4 R9 R  k& L/ e
                        <!–{/if}–>3 w, w+ w/ K, k3 Q- Z
; K8 _; u/ H/ _1 b4 l# u
代码解释:此处是拓展色的切换的菜单. x! O1 u- o& Q2 u! C. \
备注:如里不需要可以删除2 p# \* j' ?8 L5 n

' F; r3 m* @, ]1 u1 O# u第80-96行代码:
" w: n5 y  v7 _# G3 ]- Q# a2 |
7 S2 b( @2 l5 }) G<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>
. U) n  @# p4 ]; {! |4 C                                        <!–{if $_G[‘uid’]}–>
- ~3 t3 j4 y; ~# S                                        <ul>4 H  Y6 E* P# j2 c5 T
                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>
9 z9 d; O' [8 C" ~! {                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>9 A5 S3 |) }+ |: W1 b
                                                                <li>$nav[code]</li>* ]" R  P) S/ J2 U
                                                        <!–{/if}–># T+ `2 E  y4 C7 v% d  X+ v' n
                                                <!–{/loop}–>- s* Q( w1 x: y% U: g, B& W
                                        </ul>
  D5 f$ n+ j  W+ V6 m                                        <!–{else}–>
: Y1 r# g  W2 E1 i; y; U                                                <div class=”ptm pbw hm”>
% K: {4 C/ h' ?/ N4 w6 {* P                                                        {lang my_nav_login}
6 x( m' H. _% z' W                                                </div>
$ `1 f2 x( s, I& x/ z: _                                        <!–{/if}–>
+ Z/ m, ?0 f) L& [                                </div>
4 i, q- F! e' ~: Q- S4 ^                <!–{/if}–>" t- y" i* a4 K1 n

4 S, W& z8 c; m4 g+ |  C代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈
% \% T2 M; Y! t8 ?9 B备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!
+ J6 ^7 N2 R& M7 ?/ E# ~4 G& D. L. g4 B3 ~
第97行代码:6 B* W+ d( g8 N/ h
; ^0 r) F# x9 R% D
<!–{ad/headerbanner/wp a_h}–>
- C# m) G5 M% q: A: o: c& O: v6 L! Q1 C3 F* b: c7 F, e
代码解释:头部的广告代码,, h' y8 k1 {2 B* a! Y9 @  m
备注:可以在后台=》运营=站内广告添加第98-184行代码:% R! `" E! t1 X1 |, x8 t; L
从<div id=”hd”>到 </div><!–{/if}–>
7 _  \9 m4 l4 T7 b代码解释:头部的核心文件
( u. y! I( i: c, V2 x8 `' \% W/ M! g备注:下面是头部核心的DIV指引
+ U6 O' L# X& L; c<div id=”hd”>
" J1 C9 ^. ], C/ F0 d$ p<div class=”wp”>* N, ]; z4 T4 M4 A6 a4 Z% F
<div class=”hdc cl”>5 `( N9 A" C& ]/ y0 |
<h2>logo</h2>———————————->logo
5 I$ V3 u& i3 i# }7 Z                 <div id=”um”>
* ^: _6 ~$ h# J* r/ B0 n; i<div class=”avt y”>头像</div>—————————–头像
: w( P# X/ E6 X# h) V3 g! E                       <p>' l3 U1 H  r- a
<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点11 X4 G: m. j5 `) N6 t' x9 ~
                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2
) {* Z# v' P# B4 c- h; A! z个人信息—————————————->个人信息
) I) u. U) U5 k  m/ z+ a</p>
* l2 Z/ |. y6 d<p>5 ]9 c! d; M( V: ^
<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点3' f- h% z' h( E- ^& `* s
个人信息—————————————->个人信息
" _' [$ R8 C/ d) t8 J- p1 P& \1 f</p>
# W  u7 H5 N$ p* ]</div>
4 i# t8 }) M2 ]# z# Z, e) q2 r' f<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>8 o' ~4 v6 J; c7 s) r
<div id=”nv”>+ s6 n- j( I' k, @) g
<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航" `' H) n3 K6 S7 T4 l- K7 _: N  }
                <ul>
0 r# b' G5 K; I; F3 m8 z<li>栏目导航</li>———————————>栏目导航1 m: r! ^, ?+ a- ~0 F' z  ~9 G. N+ j7 h
                 </ul>; j- t3 f% m$ S1 P
</div>
8 k' P" n1 b+ o. N5 C<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”># r$ A7 N; G! a# m
二级导航菜单样式——————————————————>二级导航菜单样式* f, m( y0 ?$ l% K; y  q% Q$ T
</ul>
# y% O. |1 d* d( }( v. ]+ }< div id=”mu” class=”cl”>( R( e# W% |0 u' X* d+ @) @' G
二级导航横排>————->二级导航横排样式
- N" @' p; S; h2 I( k5 `              </div>! f% s3 Z  l4 x* C- |2 Z
<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)
( A6 r2 \' F) X4 C% [" _8 p<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>" Z; ?1 d4 N- K8 j) i
</div><!–{hook/global_header}–>插件嵌入点: u: i+ R5 e. N+ D* p" I2 G) P5 l
, X/ X! j: ?! m. D& l# g# M: r
总结:大家在修改的时候他的每个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 | 显示全部楼层
我是个凑数的。。。
回复

使用道具 举报

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