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

罗码gitluo

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索
开启左侧

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

[复制链接]
罗码男神 实名认证 官方 发表于 2020-1-20 03:01:00 来自手机 | 显示全部楼层 |阅读模式
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板制作无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是制作模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的模板文件进行解剖!在这里希望大家支持一下!随便AD下!" w  w+ C$ t& e" b' [

! O$ {  _; {" Oheader.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!0 T; {2 S: K+ O  \: I1 j( }: d- k

  h0 O; `' V% Q. V7 n0 h1 d- J  C8 c第1行代码:
0 K6 O: A  v/ [- B8 {. F<!–{subtemplate common/header_common}–>
" Q- o1 A, ?  n0 a' ]- _代码解释:用于调用common文件下的header_common.html文件,
) {6 C2 Y- J  l& E2 _0 }9 U/ g备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。
5 {$ [/ E2 o; ?  @6 A/ t. O" G3 E8 `5 M% [* Q% ~
第2-29行代码:7 Z; H2 v& t6 C9 F9 T; M& S& h5 n
从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾! w/ Q: p( A( d! N/ M8 @8 S
代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!+ x3 P8 S: x8 A
备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写& ]  X1 G& H1 t! E+ Y  q& I
6 d7 {- b, s6 X! X) ^
第30-186行代码:
7 H2 d7 o2 R2 s& R; S. k0 I. y从<body>处开始到此文件的最下方8 ^+ u, D# _, ~# g4 L
代码解释:这是首部文件的核心
7 @4 a0 ^. t+ j0 O: }/ h备注:在修改时请注间要提前备份文件3 J& I, s' g6 v/ P' c, C: t6 }

! f! K; K* C! m, P0 V+ e+ Z1 p7 Q第32-44行代码:+ A9 A# D, d2 r/ F# V1 y
从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾& q) N- V7 l4 y; G
代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,
: j! x! c# j' w) y9 d备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!
9 p) b  Z, z2 C6 Q
" i0 b& d* O3 k* t/ r: i% K) s7 g第32-44行代码:  z4 R5 s' _! Y1 ~( Z  \" P
从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>
) ^5 b% g* x$ x2 n) f% L代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>
! y: h3 `9 r+ i4 Z" N" F备注:在后台=》界面=》顶部导航。可以设置
% K& N( r. P) ]- T0 s% f7 K) r4 L5 b3 w0 y) G4 k! C
第70-78行代码:
6 y6 V7 U5 I& b
  O( v: D' l+ c, Z, z8 r<!–{if !IS_ROBOT}–>
' X# A' Y" c. u7 l# G; X. |6 J                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>
. [5 v% Y- m6 u' z5 J                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>3 {" z: H0 M2 K" \( H
                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>! |& C' s9 g- q% S# Z
                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>$ e& g6 E$ \1 k$ L3 c
                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>
( e( ^: L$ `6 R  s                                        <!–{/loop}–>
* @% V7 n; i) W# n" B5 E                                </div>
' d! ?& v5 x! [, a5 X7 k7 S  r                        <!–{/if}–>0 Y+ v! z; ]  @& Z. s
( j7 z  W: n9 d/ u
代码解释:此处是拓展色的切换的菜单
9 ^1 H+ K8 r! z, h! c" Q* z; Q备注:如里不需要可以删除
. r$ V+ z- W: V7 y" k9 [5 Y0 s
5 [& u, o  ]+ J/ m- N: _% q第80-96行代码:" X4 p5 r1 y/ ?0 ]0 ?8 i
+ v# y- E8 X- x7 D- e7 k. ^/ H" N
<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>
% J+ K* j, W& S( ~: V9 k# P                                        <!–{if $_G[‘uid’]}–>
$ }$ s* l* x  K  X                                        <ul>
% x8 J; A+ R8 e3 X/ j! |1 o                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>
8 c' T1 r- z% T# r$ Q2 ~. }                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>
: ~* [: V7 Y" V& b                                                                <li>$nav[code]</li># ]1 H- O) Y  ]3 ?6 g* p
                                                        <!–{/if}–>
% A  }+ q7 w# Y                                                <!–{/loop}–>
0 s1 f: I- [" t                                        </ul>4 o) K! q' a. ^; H) Q" Y% [3 s' }8 {
                                        <!–{else}–>2 @3 q% S! |  {  C: X6 S/ E
                                                <div class=”ptm pbw hm”>; i3 f9 N' N* {9 ]% l! \1 ~8 p
                                                        {lang my_nav_login}
4 P' |; H+ K9 a1 E/ \8 @- \7 J' y                                                </div>
; A% ^8 H! k7 M: n4 J                                        <!–{/if}–>
  m1 k* z  F; c                                </div>* K9 L0 V2 a- ?, B& J
                <!–{/if}–>& |* [( o- O1 F8 ?+ l5 I+ |

1 }) H4 {5 Q" E& q1 ~" r代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈" ?1 c& a) Q" f" y. A7 b0 z
备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!
3 b$ \: z: e. ^9 K0 `6 ]
- E4 @' x% S' `$ @' j) M6 h第97行代码:7 u' P/ Q5 [  s; [

& Y0 {7 B( a2 J& ?. |<!–{ad/headerbanner/wp a_h}–>0 O% @% j2 l5 n7 q, G

& }3 H1 \3 I: r$ P3 A# V6 S4 }代码解释:头部的广告代码,
5 t/ f+ ?# I( [+ N% e: e备注:可以在后台=》运营=站内广告添加第98-184行代码:6 F+ R# p/ n9 o+ Q) q  |1 r/ q
从<div id=”hd”>到 </div><!–{/if}–>1 u9 Q8 y; e% F5 P; x6 M# R7 |$ B
代码解释:头部的核心文件
2 z) Z6 c& b- o% P  l备注:下面是头部核心的DIV指引6 Q6 `- l$ _0 c, }- ?
<div id=”hd”>, a# W, d/ t  E5 s0 j
<div class=”wp”>
+ a+ F0 N$ f: Q; U<div class=”hdc cl”>
5 X2 q8 o6 h* K1 r. F<h2>logo</h2>———————————->logo
, Y( ]8 i4 a' E! H                 <div id=”um”>
4 y: R& Q6 B$ a. F/ l3 c& I<div class=”avt y”>头像</div>—————————–头像4 u4 w7 S& D4 \, \
                       <p>
  M8 I4 [* W" d! j2 t<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点14 U+ E, ]: z; w- R5 d5 g  \& \
                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2
+ x& z, E. B' a  E4 T( e个人信息—————————————->个人信息
- l: M# }- Y3 C; U7 K</p>. l& N# q% ?/ m
<p>5 @; y+ t, n" p* l, F
<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点3
4 {$ ]) J6 D) G- r0 U! c个人信息—————————————->个人信息/ X! U) E2 J0 Q+ B  D
</p>
, n4 j9 o, i6 N# _</div>
1 Z, e( Q3 c3 f% X. Z<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>
1 Y* X5 m0 S# Y. {, b<div id=”nv”>
+ }# o( ?+ U7 R<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航
- [$ C- d* _; D; O' b% P                <ul>, w( J  X  d# M7 B8 @
<li>栏目导航</li>———————————>栏目导航% }% d% S. X. {$ ?. _
                 </ul>
( k; C1 u1 \5 h1 H</div>& ?- m5 t: K0 `
<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>6 y: h+ D* P# l6 n& W! L
二级导航菜单样式——————————————————>二级导航菜单样式
1 K( g8 M: c6 ~7 }% d! e! y9 \</ul>
$ @2 |+ |5 [3 m) y9 n: `< div id=”mu” class=”cl”>4 O+ c0 ]: z. l
二级导航横排>————->二级导航横排样式- q; R- t  r- ^2 a# H
              </div>
7 v( b& U6 i% q<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)
0 ~6 K% c: l( g<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>4 X6 B+ t4 u* _6 d) o% l1 L
</div><!–{hook/global_header}–>插件嵌入点
! P$ \; L3 ~* r2 C* w+ x, y- X. e2 j% y. e; c6 y/ ]6 B
总结:大家在修改的时候他的每个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-13 08:21 , Processed in 0.154239 second(s), 59 queries .

Powered by 罗码网络! X3.4

© 2001-2017

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