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

罗码gitluo

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索
开启左侧

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

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

# Q7 T( y5 N% A# uheader.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!
& y- ]1 h$ S% @) v0 K: E
4 l1 G7 P5 r# T第1行代码:
2 p. c& l1 P( B/ f9 G8 p* m% |4 u<!–{subtemplate common/header_common}–>
4 y& G: K" |$ q* [" h代码解释:用于调用common文件下的header_common.html文件,0 ^2 m. t2 X1 s; s5 }8 ?' e
备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。
) Q* D2 y& n% W4 v
9 o" Y; V1 S( ^+ c+ [. }/ s第2-29行代码:
8 X, u4 [* D) ^/ f1 A) L/ f$ E从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾# P0 h* D: Q* ~# d& N
代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!  H3 n1 L' {  u* X0 _- g  R
备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写
! T6 y( [  S. ~- L/ |3 y' \6 s; E! D  i3 {; u
第30-186行代码:7 v( p& z; w( Y3 T5 t9 u
从<body>处开始到此文件的最下方8 O+ ~, A; Z4 S* p
代码解释:这是首部文件的核心/ p1 a0 t9 F" z" ]6 {$ U3 x  \
备注:在修改时请注间要提前备份文件
# G" y7 W! h+ Q" P% E2 V
% c) G0 {. i: e5 X第32-44行代码:- P6 M7 j* V* ^' v4 {3 k+ `8 ]: ]
从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾
; T  a$ M$ D, }: h3 l! X0 k7 k* T代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,- m! C- T& W1 L1 e  m; Q2 }# z
备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!
4 ?, X$ j$ W( `) W5 S
1 }' z0 ?- W4 G第32-44行代码:" B, Z( L2 P8 R4 N( r
从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>3 L" J# b# \" q, I7 l  E2 G
代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>0 N9 Q5 Q( ^. n6 _
备注:在后台=》界面=》顶部导航。可以设置7 I6 Z$ |  s, j& r, ?

6 o- @. ~7 I7 j$ @! s4 B第70-78行代码:
! m/ N9 C1 \$ m' H( n) y) A( ^7 t! Q  v  D$ L7 B3 ~9 t6 T7 d
<!–{if !IS_ROBOT}–>: y, j3 {) R( E% l
                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>
) `: L; X; d7 m, J( B                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>. _% `4 q0 z, z8 s6 O" ^$ ?3 B
                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>  y& {  R+ R/ E# Z7 `0 T  t
                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>
5 e6 S% K0 i4 Z                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>
; z8 K1 H6 |8 ]& k* j; I7 f: w                                        <!–{/loop}–>
3 M4 k7 H2 y7 a+ s                                </div>
4 F& p6 C/ {' I8 e$ g- i                        <!–{/if}–>9 L% n! e" f5 K8 Y2 s
3 F7 M$ j7 ?1 _9 U9 {! ?# ?8 ?
代码解释:此处是拓展色的切换的菜单$ j6 ~* Q/ u5 j& @% E4 w: I
备注:如里不需要可以删除$ M) N! H5 k! J' q1 z

; E" W3 ?! Q  H, ?! T  q  p第80-96行代码:" U  N9 c* F  V3 r/ v' x" \
$ l4 T# M# B+ n; ^3 G% S& i
<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>( y" {( h2 P2 g* W0 i5 X9 G# V
                                        <!–{if $_G[‘uid’]}–>2 v7 T) F# q, z
                                        <ul>
" ~0 }# n) Y* `+ s; U5 o                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>
) {" [3 s/ g) ?0 G, ~# |                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>
; x# T! A: J4 r                                                                <li>$nav[code]</li>( [& n8 s1 W! q) W! v. Y0 ^" q8 y
                                                        <!–{/if}–>
0 n& u2 o( W! N% o0 N8 C9 y7 o                                                <!–{/loop}–>
7 @: ^) {9 H) N- f% Q9 a                                        </ul>0 V8 I, u" P( [/ N
                                        <!–{else}–>( \" M2 s: s# i1 ~1 o
                                                <div class=”ptm pbw hm”>
4 e3 _, B* F/ j9 q/ D3 s) R                                                        {lang my_nav_login}# [/ t6 Y: a" N8 g+ u; y. \" [
                                                </div>3 l+ n# J' J0 R  Q8 ~
                                        <!–{/if}–>- J! C+ ~! q, c
                                </div>
  d8 C! o; h# w, f                <!–{/if}–>- A: b7 t' }: X2 n( k  I
) l3 s% I% R0 p2 ^$ w' i
代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈
; u- X2 d% u. Z8 a备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!" n2 _, Q4 @+ P6 J( n" l
; S+ [1 ^  H/ G: w" E1 q
第97行代码:( ]" z3 ^% Z3 v5 x4 r6 A/ i  U$ ~$ u
6 @$ ~+ }7 C/ b) r/ o* Y( N
<!–{ad/headerbanner/wp a_h}–>1 O6 p1 K! J/ H2 i9 g- D3 c

! L' S, ^2 |" N8 H  _  O代码解释:头部的广告代码,
0 ]. \% Z% P6 H: d  p2 q备注:可以在后台=》运营=站内广告添加第98-184行代码:
4 ?) I  U* L3 `, Z/ C' n1 t从<div id=”hd”>到 </div><!–{/if}–>
  O' o6 |% i' S- i9 S4 a+ N2 Y代码解释:头部的核心文件
1 R: w) U; Z/ P' V$ c% k, Z备注:下面是头部核心的DIV指引) E( V7 h  [: L- F& |+ }* p4 T
<div id=”hd”>) F- a: [" w% s# d0 y) I9 t9 ~
<div class=”wp”>  c' ?" w, z' s" ^8 V
<div class=”hdc cl”>
* d5 T) v' P- Y; Y! o: Z# L9 C<h2>logo</h2>———————————->logo
$ O' }& M# I* m' p! k                 <div id=”um”>
4 J1 }2 n) h+ k: ~( G<div class=”avt y”>头像</div>—————————–头像4 \9 \- @( v4 b2 O' D9 D9 I' L" P, _
                       <p>6 p4 E+ g. l& e7 s
<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点1  W% A/ t9 L+ K2 f' u2 v& B
                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2
* a, r) q  d# D个人信息—————————————->个人信息0 j% T5 ^, b$ s0 Z
</p>
& T4 k/ E* S$ |+ ]4 T- w& W' y' K- {<p>0 u6 V* L. `' c# C! B0 d4 H8 _1 _
<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点38 k0 x( z5 u# g; ]1 V
个人信息—————————————->个人信息5 Q0 w& h& W* _5 K! m5 W# F
</p>/ c: e8 n& c) V  ]+ ^0 P9 N9 z& Z
</div>% W4 ~& g+ _6 s4 ]/ X
<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>
* K: Y0 J0 o, e9 W' ?<div id=”nv”>
3 S; f3 }) Z" p; L7 ~! k8 E<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航
# n" o) A# w0 K* I2 Q                <ul>7 B: T. z- f6 [4 A6 d8 R
<li>栏目导航</li>———————————>栏目导航! V( `8 M$ K1 a& x3 M
                 </ul>
* U$ g1 h: U( b</div>8 u" X( A* s: a/ e$ N( W! V$ I
<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>, N6 e# Q2 N/ ~- `$ _" x7 D$ c
二级导航菜单样式——————————————————>二级导航菜单样式
" j7 W4 v4 u7 C9 t* T( W3 w</ul>0 ^/ E) O9 p9 C$ L
< div id=”mu” class=”cl”>
# x0 {4 H) m% n二级导航横排>————->二级导航横排样式
! p1 c$ N$ P- y* D& }              </div>
1 _% D& @: Q* {# A<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)8 f6 q) h, \1 S
<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>( \! L1 E5 K; `/ v/ e! L& ]
</div><!–{hook/global_header}–>插件嵌入点6 {6 ^1 D- m' P9 Z% ?4 g
" Y$ n9 v5 E( t1 n1 ^7 t
总结:大家在修改的时候他的每个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-3-23 01:12 , Processed in 0.158816 second(s), 59 queries .

Powered by 罗码网络! X3.4

© 2001-2017

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