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

罗码gitluo

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索
开启左侧

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

[复制链接]
罗码男神 实名认证 官方 发表于 2020-1-20 03:01:00 来自手机 | 显示全部楼层 |阅读模式
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板制作无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是制作模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的模板文件进行解剖!在这里希望大家支持一下!随便AD下!
/ O  j& o  M1 q0 w: w% N- F0 g5 d0 F: @
header.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!
! M  r+ M) I  I7 ^; A% u* f4 ^" d% V; ~& {: A# ~
第1行代码:
0 F& Q8 s2 s; N3 w8 H<!–{subtemplate common/header_common}–>
% [$ E; e; t' ?$ f# x代码解释:用于调用common文件下的header_common.html文件,
: D$ x: Q. |* U) m6 ?备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。  T  u+ z8 l9 H
- o$ |& [/ j0 L1 G2 B. o/ B  m* L  i
第2-29行代码:& t' v- s/ }5 ?! [% |
从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾8 `! o+ l+ }# ], f6 f
代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!% h. b7 V$ `7 P( y) A
备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写+ z' u' `4 O3 {7 B

( ^& J0 d0 L; K/ F第30-186行代码:' @1 R1 {3 k! u  v; P# v  A
从<body>处开始到此文件的最下方; ]) V7 i2 v# A1 _# J0 w0 a* u$ U
代码解释:这是首部文件的核心/ t; y0 n  \! A9 o
备注:在修改时请注间要提前备份文件5 C! X5 m1 M4 u' b/ O8 J1 L
0 f9 V( H" Y0 x6 X8 M. {
第32-44行代码:
5 Z" q9 `1 g0 @$ t, ]从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾
% P) j* y# L; ^- C* h, G5 V- `代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,& q# g6 c, d, D3 j$ o9 Q
备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!
5 |& u/ V0 `" s$ ?* i0 T
7 c4 S6 D, j' C. O第32-44行代码:
0 C2 Q  Y1 O. Y. s" E从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>4 V. F% P0 }3 g& X: n. }, `( x
代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>+ f) L6 S( N" l. d0 f) w2 ?
备注:在后台=》界面=》顶部导航。可以设置; ]/ d! `- I" C+ s1 R$ t
1 f+ N0 X+ w+ t- U. }% u$ F( e7 T# T
第70-78行代码:
7 }% E) S! s5 R8 W( I
; m- {- @- n" g% _$ ^  L<!–{if !IS_ROBOT}–>
3 M+ z- T& B3 ?. y- j& E                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>6 G" y' Q, m( N( A. |
                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>
! b) U! G/ h" v5 R                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>
  V2 ^1 j  y' z' k  S/ t1 d                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>
! B8 |- Z2 R% W. E                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>
) A, q% ^$ t8 \2 Z5 q                                        <!–{/loop}–>
! a7 ^" M0 m* ]0 j1 ^8 {                                </div>$ [, x1 e" M$ U, Q& T
                        <!–{/if}–>
% `& d& n7 P: g2 O7 r& m, b7 W9 F
代码解释:此处是拓展色的切换的菜单
# T7 v  X& F# Q9 E备注:如里不需要可以删除7 @. ?  N& O' K. R" m
8 V0 G+ {& |6 ?, r* [+ n2 ^
第80-96行代码:
3 B. R( i( ~  a$ q: t7 w- D8 f( p
7 b1 x  p) |8 m: w( ^- O<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>
$ ]6 O* `3 Z" d0 |3 [" q  J! i  Y                                        <!–{if $_G[‘uid’]}–>
5 ?; N$ C0 Z! i2 \                                        <ul>
% X6 u7 h% d. _% r: M+ m                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>, e! w* D9 x! J3 i6 p
                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>& f/ T) |; T1 P; d; `% u
                                                                <li>$nav[code]</li>' u+ K6 ^3 M3 n4 h  A7 Z
                                                        <!–{/if}–>
5 R5 k/ ^% s5 s6 w3 W  W1 Q                                                <!–{/loop}–>
# ^* N! ~. N& H: L3 C2 F                                        </ul>
- Y2 _* b1 J6 r7 P4 _  x                                        <!–{else}–>5 z" h0 R  G& K4 q* @" w
                                                <div class=”ptm pbw hm”>9 x3 l7 G  }: [/ x  p5 V
                                                        {lang my_nav_login}
( c, J0 E' s" v                                                </div>, g- r' M5 g* |( N- \% ?* O5 V
                                        <!–{/if}–>* _% b3 Z9 Z4 z* B9 Z/ ]8 R+ z$ O
                                </div>8 E3 X3 l8 f/ t" K5 h& g8 A
                <!–{/if}–>: A& N# M1 j  `* ^: n7 V, A8 {5 E
5 c& ?( @  B, q1 K6 y" A, f* H
代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈& A) l  \2 u! C5 w8 k: P9 J4 j
备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!
1 j8 k. Q' |- J' D0 a, q/ S2 P
- Y( I: H/ E4 e1 o" b" X第97行代码:0 i( f/ A! T9 y7 j) E9 @
  z- K; m: k: _7 e3 l, o) O
<!–{ad/headerbanner/wp a_h}–>8 M0 M9 Y0 h! C( w
5 z0 E0 C; B4 Y) \" E& v6 W" q
代码解释:头部的广告代码,3 f* C5 o5 x1 X0 N2 {
备注:可以在后台=》运营=站内广告添加第98-184行代码:
6 E8 J+ E% |5 |( K  }' h从<div id=”hd”>到 </div><!–{/if}–>8 x& N9 Q9 |9 h: m$ z
代码解释:头部的核心文件
7 x0 _1 P$ b1 ~0 N( u& g备注:下面是头部核心的DIV指引
( y; f9 d( z& v- N0 v<div id=”hd”>
! I" d8 ]$ U7 G& m<div class=”wp”>
* L7 x) |& I& L: h0 J: P: e5 e5 U- ?<div class=”hdc cl”>" {/ ?: K# y8 n+ r% z
<h2>logo</h2>———————————->logo
$ ?. Q2 ~5 K" }: v& A                 <div id=”um”>
+ q: G9 A" B7 e6 O$ T8 W# I<div class=”avt y”>头像</div>—————————–头像
+ k0 i  }5 P6 p, X                       <p>1 Q4 ~+ e0 W# }0 C1 O0 d
<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点1  A: R/ r' R6 u) `) P0 ]
                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2
9 J( R# F$ d* Q) \+ Y个人信息—————————————->个人信息  L. m' e6 s' I6 [$ Q
</p>9 a/ t/ O6 z1 M3 A+ G
<p>
+ ?+ X, C6 B# m& J& t5 f<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点3; E) o! Y- |; J8 D' p
个人信息—————————————->个人信息  g& v3 R3 k/ _
</p>" t: v+ h) J* X1 I* k$ k6 I
</div>
5 m, |6 D  s( ]6 x  V, B& g<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>
0 R) {: k! t4 M8 n. \<div id=”nv”>
3 M. c9 @1 a) w" S/ k! Z" R0 H<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航6 G9 j7 N  c' t& ~/ K1 h
                <ul>0 J( J, F; s/ B5 V
<li>栏目导航</li>———————————>栏目导航3 K' U3 T0 ]3 \6 }
                 </ul>1 t% g5 E+ h2 U4 e+ l
</div>7 R+ b8 |3 T0 f" X: q8 h/ T- y
<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>' z2 D$ U' I& i3 H- n9 c: a
二级导航菜单样式——————————————————>二级导航菜单样式
( \. }' y: J* P</ul>
7 \+ C: n1 N$ [2 }' W) V. d& ?2 w< div id=”mu” class=”cl”>0 I3 U$ v, y4 q3 D6 j7 H4 u' F
二级导航横排>————->二级导航横排样式
6 A4 D4 q( C) s8 x              </div>
7 Z2 d* l  c5 L<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)
8 W8 b2 X0 I9 `- U% ?<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>
) H* }5 U5 M7 I</div><!–{hook/global_header}–>插件嵌入点* D' f3 O, Y! P) H' c. u( T" h
- }" {: K( n: H( m% ^" Z5 L6 N
总结:大家在修改的时候他的每个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-2-3 17:49 , Processed in 0.126903 second(s), 59 queries .

Powered by 罗码网络! X3.4

© 2001-2017

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