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

罗码gitluo

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索
开启左侧

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

[复制链接]
罗码男神 实名认证 官方 发表于 2020-1-20 03:01:00 来自手机 | 显示全部楼层 |阅读模式
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板制作无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是制作模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的模板文件进行解剖!在这里希望大家支持一下!随便AD下!
  ~1 [) r4 @7 H0 T; N6 U$ @5 P' i3 [; ]/ P# x
header.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!
! G1 N3 ^( c% G9 m4 U
2 a7 d+ _" ?, d第1行代码:
, x2 R1 O9 b, d1 b<!–{subtemplate common/header_common}–>
2 ?+ U' f. y% e9 r代码解释:用于调用common文件下的header_common.html文件,6 [/ A, @5 a% f2 n# z
备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。' m- l( g4 Y9 N& K

8 l% h& i! D* w  j  y% w第2-29行代码:& }' W# S" |# ]4 d
从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾; @5 ]) p: ~# h" E/ [) r
代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!! X# f: `3 X$ L4 d9 U7 i
备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写
2 c. U9 q8 _/ V! Y+ k# \# X( W9 P* e7 n* B% g* Z9 {7 ~/ c0 D
第30-186行代码:
: S+ I$ s' g1 N+ e& z! L8 ]从<body>处开始到此文件的最下方6 P' N- W7 |1 u0 j% @
代码解释:这是首部文件的核心) E0 T/ D2 `& F+ W3 w0 Y
备注:在修改时请注间要提前备份文件, q; ~  u$ V) F: K! S0 b( m7 B# l& S
  S! B. m  D, |- s: x& D' y
第32-44行代码:
2 J  ?. O' Q9 y* X从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾
- K9 x2 U' V% p5 e& M$ J4 ~代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,  i2 _) s" k% J& s/ _
备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!9 m5 u( x' a; f- s2 H
' ~' l. {; Q- N! N  N" _! o
第32-44行代码:# L$ \# x+ Y1 j1 ^) p1 Q
从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>
6 H: `9 b1 u  I& {8 [& `代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>
7 A! x! \2 m* j; v- J备注:在后台=》界面=》顶部导航。可以设置1 J* w( C: i: F4 V6 u" j8 \& i

! S; F1 H0 W. B0 S( J) m第70-78行代码:
# A/ ^9 l) p  t, U- Y/ o  B# t
7 N8 B9 u# e  B+ ~: h<!–{if !IS_ROBOT}–>" r8 J! y. M, H& j
                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>: \  I  o4 [. Z5 n. y
                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>
2 |$ I5 F- i) `3 X4 `8 ^9 k                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>
  m! I2 a5 c3 q& b9 }! t: I6 C4 q. d                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>, G4 y8 T  u6 k. j: \6 c
                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>
: }  Q7 A& d$ _6 I8 ?/ a                                        <!–{/loop}–>. _9 ?1 Q* y, i+ b! g) T; z: j
                                </div>
7 C3 A! s, [( f( _                        <!–{/if}–>
% N4 i; _1 j! D4 w* k/ f
4 m3 Q& s6 K$ f8 ^+ j, Q5 R8 m* b代码解释:此处是拓展色的切换的菜单
  b# \. c( h5 n. s4 }; `备注:如里不需要可以删除' Z) I0 L: n  G( H7 G

. y& w- h$ E  c1 R6 {. @; }- o第80-96行代码:7 z2 U3 o) W0 L) n* e2 L
1 @3 j9 c$ h- c2 J6 D
<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>
9 B( D) [+ \$ W  m9 ^8 h+ x                                        <!–{if $_G[‘uid’]}–>
: t4 i. |" d1 k: K  D                                        <ul>; Y% v; I* d7 n/ I5 q+ S
                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>% G% }4 D! _- R/ h, t
                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>" _" V' M: _) x1 M# A, e5 J1 F$ F
                                                                <li>$nav[code]</li>0 k% Z+ t+ v/ b  i! @
                                                        <!–{/if}–>
3 W+ P( D  X4 k                                                <!–{/loop}–>4 g( P5 M& W$ N8 G/ i
                                        </ul>
; z( c2 B. T6 Q: k: r                                        <!–{else}–>
, e+ K" e! T. c% b, H                                                <div class=”ptm pbw hm”>
, ?, p+ h% J( g8 ^1 Y! L; d                                                        {lang my_nav_login}1 M$ x1 n2 Q# c1 E1 h' a
                                                </div>
) P3 ?+ g1 U9 u! c( p                                        <!–{/if}–># g) M/ V! v: v5 O. J; R
                                </div>
9 {- G4 D. u. ]2 n2 h& c                <!–{/if}–>! x5 \( W2 |4 I) |3 w
' {. s6 f2 {/ M& q* v1 ~
代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈
: H4 d: i$ ~( X& |, W4 R备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!
' P  f) J& Z" z5 e6 Q+ Z; o
* g* a2 N$ `/ U/ r5 m第97行代码:
- l) F. c% Q1 X% Y- j, L( \) K* `# ^5 W
<!–{ad/headerbanner/wp a_h}–>
) f8 ?8 O0 z" o$ W+ q9 B1 g
% T  M9 v0 d. u. v4 o代码解释:头部的广告代码,
: [3 [5 z0 Q' ?$ p7 r备注:可以在后台=》运营=站内广告添加第98-184行代码:) v$ l4 U$ i) s7 Z* P
从<div id=”hd”>到 </div><!–{/if}–>
- X* O% E% L; h$ N# o7 H. `, e代码解释:头部的核心文件; t% B, h5 ?* c! J4 W5 ]2 M
备注:下面是头部核心的DIV指引5 f, J3 b+ W5 n* j) M6 S
<div id=”hd”>
2 O9 a5 _  [8 q' O; d<div class=”wp”>
- G7 {! h' U' N5 [' J<div class=”hdc cl”>, r  {  ~% k6 R' V9 E; o4 l( N
<h2>logo</h2>———————————->logo3 l& f+ U+ d" ^) }! e2 G' G
                 <div id=”um”>4 j2 }' c$ `: H3 @' v, p0 F+ P
<div class=”avt y”>头像</div>—————————–头像
7 w6 ~2 T) [0 O$ F" D$ }# M                       <p>+ A3 P+ k1 a+ R- X- _# z& s
<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点1
: ?* A! y$ i. K; m6 H, S% V7 h( O" t                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2
5 {. M' ?" J7 S  X个人信息—————————————->个人信息
' Z& e2 H& r! V% Q1 ]1 p) b5 ^</p>9 o) Y, R2 |+ ~
<p>
6 s; f/ W( Y+ a% S<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点31 b) F. n/ v1 c. W
个人信息—————————————->个人信息2 |' \0 [! v2 Y4 I% L. I( J; i; x
</p>* A! b; X! O. J9 U+ Y3 Z' G
</div>
' V/ s% Q7 E8 \- I) k<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>) q# {7 p! Y+ P/ Q- |. E% R  m
<div id=”nv”>% z" w2 j( V+ ]3 j: G3 I
<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航
& ]2 J- S3 Q. v& |                <ul>
: @, C, a9 b0 {/ h* y: v  ?/ ?<li>栏目导航</li>———————————>栏目导航2 h2 J- Q3 J0 s/ k; j: N
                 </ul>& o0 P) P: Q9 h3 R9 D, b* T
</div>
& ^( f# [2 z: r/ m# s, U" i<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>% H2 u/ q4 f) D) K
二级导航菜单样式——————————————————>二级导航菜单样式) t' @. Y# f3 i0 M6 |/ X6 z' ?  t
</ul>
* {0 O$ P$ H% |2 y< div id=”mu” class=”cl”>
- `  Y0 g( T+ }8 ^6 ]二级导航横排>————->二级导航横排样式
; y) T* R  x1 j$ y' ?' \              </div>
$ Y6 F* f- Z2 U$ R* h- D' W<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)
  K# b0 }8 c; D% t9 F) u<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>$ }, p6 [& A- j: D" f2 x6 b
</div><!–{hook/global_header}–>插件嵌入点( P* \3 G2 B: n8 S' w1 g; B8 R
2 Y0 N4 F( f, N0 ^3 I$ P" L+ O
总结:大家在修改的时候他的每个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, 2025-12-13 07:03 , Processed in 0.128783 second(s), 57 queries .

Powered by 罗码网络! X3.4

© 2001-2017

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