罗码网络discuz插件模板教程微信小程序安卓电脑软件htmlphp源码下载

罗码gitluo

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索
开启左侧

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

[复制链接]
罗码男神 实名认证 官方 发表于 2020-1-20 03:01:00 来自手机 | 显示全部楼层 |阅读模式
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板制作无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是制作模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的模板文件进行解剖!在这里希望大家支持一下!随便AD下!
( x  b. w& }; s8 E/ G8 ^
2 p( d) e: ~# l  B! {) L; @8 A8 jheader.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!% g1 L) F/ K$ u5 i  A; i
% v/ }& C+ a! B0 o! W  C  t
第1行代码:
5 e2 [+ f& ]2 ]# w- B<!–{subtemplate common/header_common}–>
7 X' T, S6 ^2 h: |0 ]+ b2 O代码解释:用于调用common文件下的header_common.html文件,+ g+ e* C7 f  v. |8 w
备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。' O& {' r7 l5 f4 u

3 Q% S/ n# s# v& Z* d第2-29行代码:7 d( M9 {8 Y, T3 u0 d; g
从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾
. P; o: s+ _+ M5 I. X7 w4 K& Y代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!
1 G( O" t9 Q% V. b5 @% u备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写
5 D6 Y2 m, H5 s; s" U
! O6 g2 r7 ~' h5 J% g) O( J第30-186行代码:1 j; x1 V2 j- E0 z- [
从<body>处开始到此文件的最下方
0 @, M9 H! Y% \; w( W5 Y/ U代码解释:这是首部文件的核心
! s' b' d! j  O0 G. a4 d备注:在修改时请注间要提前备份文件' E- K4 T; ?1 f
) V* A  l' Z" K9 y4 b. E
第32-44行代码:1 ?0 |1 r5 J  r% D- P8 ^
从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾* G& G1 S3 c  T) G4 ~
代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,- u+ Z: s# s7 u* ]
备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!
: t. ]9 |' E2 z. @3 ~' H# Y0 c$ ?8 z/ A
第32-44行代码:$ g. f1 U% o* U& w( \0 G# j
从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>5 A( Q; e! O6 v+ q6 c, F. O' `% n
代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>
) F. n2 X/ H* v+ x备注:在后台=》界面=》顶部导航。可以设置' d# v+ ]6 T; R+ a
5 c+ K0 P* b  v" Q
第70-78行代码:
) \: f* U* s9 w" ~. o6 k' R0 A- M& L* r  |+ r/ I. x
<!–{if !IS_ROBOT}–>/ W9 Y# d9 Y3 E
                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>
0 S* _' v9 q8 [6 F2 ?- X2 i3 b% ?7 Y                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>$ M8 {1 L- d! P5 F; D& n0 ?
                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>
) p0 a. o2 u% P# ?) j                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>
* c  m: |7 X; K0 W                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>( r( i# o! Z8 J& h% y- @: Q
                                        <!–{/loop}–>
7 v4 A# b# b8 X' z2 w                                </div>
8 U" }7 }3 x. b- o  Z; m                        <!–{/if}–>4 A  c; w/ F6 m" @9 o/ O
; c# J+ F. h  ]  n
代码解释:此处是拓展色的切换的菜单/ g( r: w& n$ |. P2 J, Q5 e
备注:如里不需要可以删除
! y! c, P( v0 G! G; G
8 M, D' O8 b: D第80-96行代码:; b+ \6 d) Y) B! |, M, q

6 k1 D8 D0 ?+ S5 K" g2 ~<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>1 J# s6 F9 g8 c
                                        <!–{if $_G[‘uid’]}–>! f2 J4 K$ t0 C4 Q" X# N
                                        <ul>/ c9 n$ m5 Y9 T) i6 e7 l" K0 y
                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>
4 i" x7 ^: T5 H9 V) m                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>9 {% z2 E# y5 y0 u. n# x% @
                                                                <li>$nav[code]</li>7 H1 F9 A4 C: ?5 R1 X
                                                        <!–{/if}–>" \0 H$ D. _8 h, @. i
                                                <!–{/loop}–>2 q( R% B  H. r8 ~' d; _
                                        </ul>
/ d/ o9 ?9 o& M3 v8 H& {4 E; C                                        <!–{else}–># @9 f1 _# U9 u9 S
                                                <div class=”ptm pbw hm”>! Y- b2 T" Q' Y0 b! e
                                                        {lang my_nav_login}5 l4 c5 _# W' u, t8 i, w
                                                </div>
2 P1 T3 y0 M- |6 P  T# y3 S                                        <!–{/if}–>4 C( s2 u; ?' C% f1 r  [  L
                                </div>* D& |8 F& S4 Y; l9 v( w  Y
                <!–{/if}–>0 ], c/ n8 N# l% m" t
( w5 g9 F  |' s; O3 b, b
代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈7 v/ `" v) ]/ }8 E/ d4 R
备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!
5 P( n8 x# A) V. k" g0 X$ r/ K7 q
+ f* r5 g- a. q! f, O7 O/ [第97行代码:
. l" x- H) k% \+ F# \. r# @! Y' c( e" z  A5 r) d
<!–{ad/headerbanner/wp a_h}–>
7 h  e( w, C# \; T% o$ r" m- x$ i
- O; \! \4 A0 G9 `3 R4 z: t代码解释:头部的广告代码,
9 o+ k% w, V# d' z备注:可以在后台=》运营=站内广告添加第98-184行代码:
9 |5 w* b, C& J7 N  o从<div id=”hd”>到 </div><!–{/if}–>
+ \/ h6 L" S, j0 t8 \5 s代码解释:头部的核心文件
/ _+ V  m! b: w3 e6 m# k备注:下面是头部核心的DIV指引* n% e: Q% r( T( K8 x! ]; \4 p
<div id=”hd”>" F, h& N; S) I7 f3 \
<div class=”wp”>
% \: O- T7 {- E<div class=”hdc cl”>
& C, d/ B) I% }& p<h2>logo</h2>———————————->logo* I- p6 m/ F! d8 W
                 <div id=”um”>! j# ?6 |5 J0 m5 b0 L
<div class=”avt y”>头像</div>—————————–头像1 n6 y1 Y, s3 U0 X8 B/ V1 i+ ~, P# J- l
                       <p>3 Z- u5 l4 n1 g6 u
<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点1
- ~; {5 T1 J9 U1 H3 I  Z2 {                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2
& M( S' g3 i3 f& D个人信息—————————————->个人信息
' V! I( E& B( m! x, }1 Y# |9 ?7 W) R</p>$ Y/ x- ~8 [# f3 m
<p>/ \" T5 d% {% Y# D. }& l" f4 M
<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点3
& x4 S- u+ y: A, F$ Q/ h( U个人信息—————————————->个人信息
* |/ u* B9 m7 n6 ?' K</p>0 f! D# d9 j8 L- ^3 l. j; C7 C
</div>
. p- d" @! I: l9 m: J2 `$ P4 V! ]% e<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>
9 x) N. U# s0 \. |4 x<div id=”nv”>$ P. M8 d9 E8 q
<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航
8 E% }$ _2 C. `/ \" h6 A  O                <ul>: n  A: V' `, C7 N+ C0 N; s& s
<li>栏目导航</li>———————————>栏目导航
) T8 K! v/ G) J, h. ]( x! R& B; Q                 </ul>5 D& s0 H1 {% _- k: t
</div>
8 a& l4 l5 O) c. J: |: X/ {1 ]7 w<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>- j% t! T  Z1 k  Z1 {
二级导航菜单样式——————————————————>二级导航菜单样式
9 S. s) h  |  c0 C" U</ul># O$ g7 i# \0 }* B( f0 i+ L
< div id=”mu” class=”cl”>2 |9 B  p3 @: q' f
二级导航横排>————->二级导航横排样式+ a  L( _! a/ I7 G7 t- W' y7 ]1 G. c& s
              </div>
) q4 D' |6 _" y$ W<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)
2 B7 V: L! W6 g/ ~5 M<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>, w6 G( h% h6 g7 f
</div><!–{hook/global_header}–>插件嵌入点& d0 V: T1 E5 A! ^& ?4 z
  b! B4 z+ R4 Q
总结:大家在修改的时候他的每个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 | 显示全部楼层
我是个凑数的。。。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录 手机动态码快速登录

本版积分规则

QQ|Archiver|手机版|小黑屋|罗码 ( 粤ICP备17073043号 )https://beian.miit.gov.cn/#/home

GMT+8, 2026-1-14 20:57 , Processed in 0.140306 second(s), 59 queries .

Powered by 罗码网络! X3.4

© 2001-2017

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