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

罗码gitluo

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索
开启左侧

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

[复制链接]
罗码男神 实名认证 官方 发表于 2020-1-20 03:01:00 来自手机 | 显示全部楼层 |阅读模式
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板制作无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是制作模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的模板文件进行解剖!在这里希望大家支持一下!随便AD下!1 z. {: e/ l2 s& d
4 D1 U) [# s( d9 R2 [$ w
header.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!
% O5 m5 G. j! o/ f
, W  Z' X$ x8 w# W5 q第1行代码:
3 I+ [6 f% [1 L( u" T<!–{subtemplate common/header_common}–>
& E: x5 D& H4 m: K9 O5 L! c代码解释:用于调用common文件下的header_common.html文件,) x3 ?$ Y8 P2 q  {1 ~" U
备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。# C+ _( S# n1 b4 U
4 W" I8 @  H+ j0 T; g3 h
第2-29行代码:- Y2 Q- @" A3 N/ @4 o' Z4 A- T
从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾# ?* @& ^4 [% c: {
代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!  B9 {0 J& K- g$ ?, O6 u$ P% ^
备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写
9 L5 {* b' n4 Z0 Y1 B
1 [% a* g. I6 O8 T第30-186行代码:
) @4 H. @, I- ]7 F9 V# a7 N; l从<body>处开始到此文件的最下方
3 d, H0 [# Y- x! E7 R& i# s; C, }代码解释:这是首部文件的核心% e$ K2 H6 m! Y, }
备注:在修改时请注间要提前备份文件
0 h$ ^( G% \, ?8 e, c! a/ ]: \! G  P7 C3 \
第32-44行代码:, U3 X/ |( g2 g  V5 ^( m
从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾
" Q% K- @& L' R3 x% O2 w代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,
8 Z% o4 G. ^: F0 ~  G备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!
: w& Q' _0 F. V& {) e/ w8 B2 `( G  z+ b9 f5 V& L" u
第32-44行代码:3 L& d9 ^: v" k: p9 N6 W4 H2 |2 Y
从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>
- G( K% }8 c0 C" ~代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>
: ^6 U$ h1 B- {备注:在后台=》界面=》顶部导航。可以设置+ x: t3 Z+ q& I8 k% Y+ {; c8 Y

+ ~* S4 U  x% p+ |0 D第70-78行代码:
; o" f4 A0 y& }' F7 d% V) v2 K0 I" u: U7 }( c! M
<!–{if !IS_ROBOT}–>% I4 z5 F. i: x2 z3 C4 k* `# T* S1 w+ r
                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>. f% `( \; R* Q+ j# i! ~% {& Q! J8 _
                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>
2 Y! ~) u5 {3 _7 N8 b: n* @. Q                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>
! N) M2 e1 t* u. \                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>8 ^8 V( H3 }, R# d: R7 i, W
                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>
: X, l7 E. u2 l6 o                                        <!–{/loop}–>1 y# R8 u* w. Y6 K" ?  l7 n& X3 N  O
                                </div>
: r/ i1 }4 ]* t. c/ T% l2 m# s% j                        <!–{/if}–># g" d0 @/ N4 n2 O7 P! m& T3 W- a
- y8 d& @- G( Z" p
代码解释:此处是拓展色的切换的菜单
( r. B- F# @5 w0 g5 z' |备注:如里不需要可以删除
0 a) w7 |" J; j. F: K/ v8 m; c$ r& @9 F, w
第80-96行代码:
; Z7 f% M. i" I, m9 k9 B
9 \, T6 F8 R( s* M/ ]) m3 f<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>
" W- r" b/ d& F, t4 \- x                                        <!–{if $_G[‘uid’]}–>: N. D8 B9 ]) y( S' S/ P( k
                                        <ul>  X$ e, b" b$ A9 P
                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>$ T; Q1 _, h# r3 B# J# \6 }( e: M
                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>
* x$ i! f7 \8 d7 g" O- w" @# X                                                                <li>$nav[code]</li>
) w& `, j  I, U  _$ \                                                        <!–{/if}–>  M5 N* ^1 x2 g/ l
                                                <!–{/loop}–>; u& Q" ^- i+ ~. C
                                        </ul>* J% ?. I! q- T
                                        <!–{else}–>! i) }- @* W7 B: P
                                                <div class=”ptm pbw hm”>
+ Z! ~4 D5 x# }  {                                                        {lang my_nav_login}* z% C7 V+ c9 J1 w6 q1 {% f
                                                </div>" L5 N0 ^: g' u# u. l: Y8 L& d2 O" v: f
                                        <!–{/if}–>9 Q6 n! Q) p" R! l( [; a; U
                                </div>
+ I8 c  N, h( }) a8 S* n5 f                <!–{/if}–>8 o# J4 q3 `, W% z$ S4 l6 O

, ]* A# i) I0 P4 v  ~代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈7 l% W& k  D' l8 f
备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!
" S5 l& ^" t8 [3 X* D6 e. Z- W  O: q5 P; r2 C% Y6 P1 k2 _* E
第97行代码:) ~$ z0 O1 s. l4 k
- z! L: ^$ O& Z3 _6 ]6 O
<!–{ad/headerbanner/wp a_h}–>$ Y) N  \8 L$ R& r! v0 o$ M# y

  ?  Y7 \7 X! U( g' z代码解释:头部的广告代码,7 w0 i" x; K$ s: I/ G1 }4 P
备注:可以在后台=》运营=站内广告添加第98-184行代码:2 d8 j8 m8 `4 U
从<div id=”hd”>到 </div><!–{/if}–>/ Z4 X& |; @. z( i5 B# O
代码解释:头部的核心文件3 _/ I" t# M8 j* g: ]
备注:下面是头部核心的DIV指引6 w* t2 I8 Q+ s3 t* y( N8 }
<div id=”hd”>
- H5 m$ L1 N2 S2 W. t0 K. f<div class=”wp”>+ S% e$ ^7 g+ e2 K2 m
<div class=”hdc cl”>2 S! a' h* Q+ H- p" i
<h2>logo</h2>———————————->logo. n  t3 K3 r; A7 D: r; c& J7 I
                 <div id=”um”>
& x6 r6 M% C7 @' |2 G* e<div class=”avt y”>头像</div>—————————–头像
) Q% n" y) q: V8 V! u5 M" f& j                       <p>
1 f7 v7 o2 |! F3 q$ I: g7 f1 m<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点1, H0 K/ C+ r6 A+ N
                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2
3 O. K, o* @' D7 R$ v个人信息—————————————->个人信息+ b8 ~8 r# c1 j! W; m
</p>) u: }1 U2 {0 O& h" f5 ]
<p>
- \& s% d, E/ h" e<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点37 Z7 R( D6 C4 u4 ~6 _0 W
个人信息—————————————->个人信息% Y% v- a3 q6 Q- e
</p>8 l$ O7 |) P+ L  Q' p$ ?5 y$ B
</div>
! ]& v/ |/ @' S* }6 ]! O  `<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>8 d+ U! l  ~  D  [9 H# d$ r
<div id=”nv”>' J: D  O0 I+ {; X- M5 ], G1 R
<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航4 D+ l) k; o) {) e- m
                <ul>
1 G: L7 \0 v: e% U/ q* g# D<li>栏目导航</li>———————————>栏目导航# e/ T% ^1 [  R& `5 j, H
                 </ul>" T' I3 d  g! ^6 W# |5 s
</div>
0 l8 G0 n3 o' S# D<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>9 z5 E1 C$ L. n( U
二级导航菜单样式——————————————————>二级导航菜单样式- x) O" C: w& \, V, i# B
</ul>
. R) ~+ {1 r. E. N8 t( V* {< div id=”mu” class=”cl”>
4 R; _# L# ~4 l二级导航横排>————->二级导航横排样式1 P5 Z  `, I6 }+ i7 o# F6 M8 x% I: m
              </div>
" E; ^  \( o( _/ t9 R+ v<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加); H& `( J6 k  J( E. ]
<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>
4 c* c: G, b5 w0 j7 o2 @: E</div><!–{hook/global_header}–>插件嵌入点& r7 p9 Y8 r) b5 {4 x7 @% z
  i/ F& U2 U2 Z. D
总结:大家在修改的时候他的每个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-7-2 10:29 , Processed in 0.127382 second(s), 59 queries .

Powered by 罗码网络! X3.4

© 2001-2017

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