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

罗码gitluo

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索
开启左侧

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

[复制链接]
罗码男神 实名认证 官方 发表于 2020-1-20 03:01:00 来自手机 | 显示全部楼层 |阅读模式
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板制作无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是制作模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的模板文件进行解剖!在这里希望大家支持一下!随便AD下!
7 X. e& }, L/ Q* `" G) g
0 h6 K) v# P- T1 V, u& Vheader.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!
* B! w5 |) O9 V! @+ M5 J; S8 \" Z/ Z( `
第1行代码:- a% z. P/ R5 O; E/ i
<!–{subtemplate common/header_common}–>$ k& _1 Y: _: @" s# v7 U
代码解释:用于调用common文件下的header_common.html文件,' C, l. j" O7 g: W) H* T
备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。
; Y9 A; v8 F2 V
7 b# q' ~$ T# k8 c$ q& ]# v第2-29行代码:% c$ t* Q% S7 c, p4 `0 r, @4 k
从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾/ D8 \: C" m5 X% Y! P' o# K
代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!7 p, ^! T& L; V' R& Z/ |8 M
备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写
. ~2 }6 f) T/ W/ k1 K0 i$ m" Z3 Q4 h4 K
第30-186行代码:8 D/ M. S) Y' f5 p; }
从<body>处开始到此文件的最下方; k: M- g- b2 }) t1 Q& A0 ]: Y# d
代码解释:这是首部文件的核心8 G4 q0 A% p  [) i9 m
备注:在修改时请注间要提前备份文件
3 R+ p0 j7 g5 z% E8 v3 d3 C: t
: H3 @( t. o+ V: o. V4 M2 r4 m第32-44行代码:2 y, @! |+ h( b* r! @5 y
从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾
  _9 g7 |5 r) l代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,8 X0 [2 p: F$ w, c
备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!* z# l% n+ y2 ]5 e2 G" `5 N* H

  q' x% e% S1 T3 a+ h) g: r第32-44行代码:' u( t* y: H, }  H8 l
从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>
" v1 Z* {1 Z! `& {$ V代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>/ }9 Z1 @3 A, a7 a' Y
备注:在后台=》界面=》顶部导航。可以设置
; Y' M/ \% s/ H' w7 k  A1 I+ K
$ Q9 T* }4 f0 Q0 k4 q7 j7 u+ W/ t第70-78行代码:+ ]* l9 B- M& F7 f4 A8 i! ^

0 v& N! E1 O  h5 c/ I<!–{if !IS_ROBOT}–># \' B8 _7 _$ J5 P' k. @
                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>; c/ L4 I3 k% E( }
                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>0 F2 j* U7 G* B+ V* G9 w# T2 j* V3 {
                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>; F7 `5 ]' t  X0 i/ X
                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>
: `) [' U8 @0 s( w                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>! l7 W" L) c6 }" N) z0 F" j
                                        <!–{/loop}–>; ~1 V5 c* v8 F% n2 d
                                </div>
4 _9 P) i5 C% H- e% N                        <!–{/if}–>
. z) v/ }# ?9 _
0 @% k& b  Q% k. Y, ?0 U- X代码解释:此处是拓展色的切换的菜单( ~2 T1 M& F$ j% Q' P
备注:如里不需要可以删除
4 l3 ]2 T! c$ j8 S7 d$ q: r( p2 X, A5 ?& n" p
第80-96行代码:
0 F: M! b6 n7 S3 u2 U6 S- B; a  D- |/ O# _! W5 C
<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>+ i3 S7 ?. B1 K7 e' n! I
                                        <!–{if $_G[‘uid’]}–>8 K6 w& d8 s& l& f7 B
                                        <ul>  H5 i1 M* A" ^/ a  i
                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>
, y& o' u) I- j                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>& W& f! D4 z+ V- N
                                                                <li>$nav[code]</li>
& W' {. y- Q7 @: R  B                                                        <!–{/if}–>: W! r: W% p" ?# r3 {
                                                <!–{/loop}–>
: D1 M/ L. z, N6 S- S) s' i8 V                                        </ul>, r6 b4 S% D9 p% C+ O
                                        <!–{else}–>
3 Y2 \, k/ G* w0 w2 X                                                <div class=”ptm pbw hm”>
/ w" S0 w+ f! w! d6 W5 F                                                        {lang my_nav_login}
5 E/ q0 K% \7 _! c' O8 y6 Q7 o* n                                                </div>
* p5 K9 I+ M9 L/ \5 r                                        <!–{/if}–>; m9 i( Y: q" s4 f3 u
                                </div>  Y! Y" M" L7 |( o
                <!–{/if}–>( l3 p) M; u. ?2 c' F
# N' X9 o7 Y2 O' U- X
代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈
# F/ Y) h* W2 @( L1 S5 G" v备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!
( ^- N" t6 V' H- Y  p$ a3 M: A; H  i* m( C
第97行代码:
4 ^0 ^- }4 ?% j
; |' o) r; J# {6 J  ?0 t" x& |% e<!–{ad/headerbanner/wp a_h}–>
) I6 L7 D! q! @+ |! L" K; K$ S, i0 p) v
代码解释:头部的广告代码,$ t& L% x0 U* d+ V
备注:可以在后台=》运营=站内广告添加第98-184行代码:
5 `4 s+ g, h4 v从<div id=”hd”>到 </div><!–{/if}–>
, C! @' h" c( U0 s- y# @' q代码解释:头部的核心文件
7 m( K: R% V/ E& n: \* G- ~; E备注:下面是头部核心的DIV指引
  u) c1 A* s2 s( R, F0 Z<div id=”hd”>) C! U1 C) z2 r, ]
<div class=”wp”>
; ]  g- K- X% B: N! x<div class=”hdc cl”># n3 m0 C7 p2 T  t/ E4 S6 m; _
<h2>logo</h2>———————————->logo
" W' t! @- W6 K% Z' Y                 <div id=”um”>% ?/ Q! L5 d1 ~- ]' ]8 j
<div class=”avt y”>头像</div>—————————–头像
# r& a7 ]" S$ G6 W                       <p>9 e4 `  u  k4 y) _/ v( o* q% m
<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点1
! q; |3 C) `: W$ Z! i2 l, Q                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2; C+ |8 R5 y1 D' C5 Q3 r5 P; |
个人信息—————————————->个人信息- ^- ^* I1 D7 M# o! Q' t( x% |
</p>
) E! ]4 m8 \3 w9 T9 S<p>
% N! e1 w: z5 ]' g<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点30 M# Y, I8 Q7 [/ S3 C$ X
个人信息—————————————->个人信息* h; C; E5 l- Z3 J1 W
</p>
7 c! g: N8 V7 y, L; c- g8 r  j</div>
' |$ }9 B$ A5 Z. w<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div># w+ F6 [9 a4 W" |
<div id=”nv”>: ?2 O0 B1 @! I: M# V9 Q0 ?7 Y0 e9 G
<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航
! ]) p8 ?/ Q# z, h                <ul>5 D8 _* A1 h2 G0 q, L
<li>栏目导航</li>———————————>栏目导航) a' L8 x* B4 a) H" {- M) E
                 </ul>
( z. c5 R3 o+ |$ x, D</div>
2 g8 J9 o( c. h+ w: R$ C<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>  x0 c4 q* b) w, b9 W9 P
二级导航菜单样式——————————————————>二级导航菜单样式' J" C  a* n: f: P4 U
</ul>7 H, d; I! u9 j( ^1 o8 n! Q4 q' k3 j
< div id=”mu” class=”cl”>4 C8 U$ K$ H! b2 J3 [
二级导航横排>————->二级导航横排样式, C2 o- l# F8 i( j% ?3 P. y
              </div>& h/ r) M/ |! k7 J% l
<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)
* T% J' e- s, n$ h9 g. P- Y<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>
( D8 d6 _, n1 J</div><!–{hook/global_header}–>插件嵌入点
/ o+ C* o0 T2 m% T8 z) K% ?# O) D
9 r0 ~+ G7 R3 t7 s+ 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, 2024-5-3 17:31 , Processed in 0.122369 second(s), 59 queries .

Powered by 罗码网络! X3.4

© 2001-2017

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