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

罗码gitluo

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索
开启左侧

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

[复制链接]
罗码男神 实名认证 官方 发表于 2020-1-20 03:01:00 来自手机 | 显示全部楼层 |阅读模式
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板制作无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是制作模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的模板文件进行解剖!在这里希望大家支持一下!随便AD下!
) y) s# W& ?, f( [. C
% K8 U7 y0 w9 [% X- H4 Xheader.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!
% Y; l( c" M/ ?$ ^1 `; C, ~0 G- T! p1 E6 }2 l1 f
第1行代码:5 @, Y: `( f3 a5 c0 x/ @2 K
<!–{subtemplate common/header_common}–>
4 C, I4 ^, _3 t! o代码解释:用于调用common文件下的header_common.html文件,+ ^0 {4 K4 v. y8 `
备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。
1 s( U$ H6 l' Q" r
3 n3 }' J3 F0 t$ g# D) Q( }第2-29行代码:
# m' W* @: j# S& D* L3 s4 `8 }从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾& J/ }! p' T7 J( q. b; L  h
代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!
4 ^8 s/ j  N. z3 _备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写
- e/ H2 l& H* i/ [6 x' U: F0 F& U) v5 K0 X
第30-186行代码:
" }% d1 y* f1 j& j2 G从<body>处开始到此文件的最下方4 Z/ R5 H  {( h) g
代码解释:这是首部文件的核心8 D9 ~' l& H/ q. ^2 u8 u0 K
备注:在修改时请注间要提前备份文件
. Q, e! W' T! C1 ?8 }, ~9 Q7 U0 {9 O5 x& ^6 X2 c
第32-44行代码:
4 v5 f0 @7 t4 [# I( x' C从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾
/ K1 a, D+ S& {' d/ a3 I代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,0 t* u: N, l7 J  Z2 T( T
备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!" A  ?) w* e+ O/ Q6 t- a6 I7 @9 Z

* ]! }7 Y  K: R5 P* i第32-44行代码:: c. p1 t2 ?  U$ }( _( {1 y7 r
从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>$ T3 H* [' \  M0 w: G# O
代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div># [& Y  d9 W$ w; x# J' x/ {, }
备注:在后台=》界面=》顶部导航。可以设置
  V7 U, F8 ^) M9 y8 y; W! u
% j4 U" u, \' a! }, b& J第70-78行代码:
  }! }8 D! A8 U; m* u  b/ Z
# e3 M3 T! {! s, G<!–{if !IS_ROBOT}–>6 S( ?% c6 R1 C- r7 T
                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>
6 b+ O5 C$ ^# Q8 ~+ e& J) Y                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>' I6 f( \  T* X
                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>4 d* J3 {' n& A# w* U" A' R! E
                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>2 ?; @; @8 |% z; _% }
                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>
* _: J% i7 W  ]/ S                                        <!–{/loop}–>
' q1 N4 o2 d" C7 K/ D  m9 L                                </div>( q2 F9 p( o, ]( I
                        <!–{/if}–>
+ \- C0 {3 H$ d, A- F1 I  i! L9 _3 t5 M; g5 {
代码解释:此处是拓展色的切换的菜单
6 i' Q1 |/ ?/ d8 u6 Z# _$ _% m备注:如里不需要可以删除
# F2 u6 s" ]% Z* h5 v* @& W
% w4 N: }  W; ^5 W1 j; }第80-96行代码:
( z5 n8 o& e+ F# M# i! f3 e1 c! k% L7 A. n# a. n
<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>* Z! b* F( I0 d3 M1 r% A* a. M
                                        <!–{if $_G[‘uid’]}–>
' G$ R$ Q9 q0 _. d# d( }" M8 g                                        <ul>
) [4 j- P, p& R  \/ H* ~+ B' x                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>
; A* Q# F& N! V# s; e+ H( Q9 t                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>8 d6 w4 V8 w, X4 c' P- \. [
                                                                <li>$nav[code]</li>
, b, n3 m, M" A                                                        <!–{/if}–>
- g1 b8 x- E% z( T; S1 w                                                <!–{/loop}–>
% ]. i3 `" d8 ?' B' C, p( e) C/ q5 z                                        </ul>
( n) M5 E: @. T- p( J                                        <!–{else}–>
  l& B& z0 d% Z* l; {/ U                                                <div class=”ptm pbw hm”>6 \3 l3 u, O% W  N3 ~6 u
                                                        {lang my_nav_login}4 z1 n) i8 y3 g: w. G9 d8 n) g' F
                                                </div>
8 C7 Q+ y4 U; h                                        <!–{/if}–>/ q. S8 g" h" w
                                </div>
+ ^% p  a0 B3 T  ]3 A                <!–{/if}–>. c3 c+ p) ~- L: c5 K

5 `/ \) M! b, e) L代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈- w+ z3 }5 a: n  y" c% h2 e
备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!& |' k0 }) O- ~  }9 F, x( s8 j

/ ~$ a3 J4 i5 G9 D) b$ U7 K7 G第97行代码:
/ F% x, K1 ^1 g) B, f+ [9 U" V4 _6 o+ `) I. R4 ~9 s9 c7 u
<!–{ad/headerbanner/wp a_h}–>
; u; U8 s; g: z  Q
9 ~% w# t, m( f' o代码解释:头部的广告代码,
9 C. \: _1 J$ i" b+ |: H  o6 W备注:可以在后台=》运营=站内广告添加第98-184行代码:
) d. z9 p4 s: y8 \% K/ O从<div id=”hd”>到 </div><!–{/if}–>
  N, ~+ w* d4 i3 |代码解释:头部的核心文件
  G; Q  e. k) H+ P, S备注:下面是头部核心的DIV指引* d8 Z3 M, `1 Z& w4 H/ z' V5 Y' f( Q" h
<div id=”hd”>+ s3 u: }/ P# h" e. o2 t
<div class=”wp”>% U. ^/ D6 x$ G  ^, U  O, J3 Y
<div class=”hdc cl”>8 V2 t7 x" t) n0 j  q
<h2>logo</h2>———————————->logo
! q) K# z  a  T( A0 Q7 t8 B                 <div id=”um”>4 S/ }; M0 s' a5 N
<div class=”avt y”>头像</div>—————————–头像8 j( S% W  B7 J
                       <p>( x( H7 U! J: K3 S6 B
<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点17 ]  m1 g5 m# ^) }! I4 u* }; d
                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点23 {. R/ e: |+ H3 W8 ^( E
个人信息—————————————->个人信息' _  f- @, S) [3 l1 `: a
</p>
% m3 r, d& |1 R2 d  C$ d<p>
' B& n0 t  |$ ]* m1 i1 O<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点3: ~. L! _2 b; l, L3 `7 Y! I
个人信息—————————————->个人信息  Q4 c. Q) q5 C
</p>
+ z% y4 n2 {% ?+ u</div>
3 p. R- l% M' ~  r6 @3 b<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>
! T* N" e% a5 V, T- `<div id=”nv”>! D9 S# H# g3 E& A; @* v3 s
<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航- i* S& L+ j1 Q& `
                <ul>
' g/ H$ V5 k, y: P) G/ ?<li>栏目导航</li>———————————>栏目导航/ i  R( e  M1 B' c/ j
                 </ul>( x) v7 @* I1 F" I2 [& a
</div>
' Y2 o6 ]- O0 r7 a<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>
& B4 ^1 b$ N' f0 _7 H) l* y# i二级导航菜单样式——————————————————>二级导航菜单样式
4 T7 f: h6 r" g1 G% U- `( K, Y</ul>
- v# c: F* r" Z; M) D, P< div id=”mu” class=”cl”>9 E' S, x: J  i; s  ~0 h
二级导航横排>————->二级导航横排样式3 D3 U" @; J' K  T9 W
              </div>
. L8 }* Z! F5 f3 x+ S2 u<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)
5 G/ X/ g9 R1 T% G6 p$ m) m7 g<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>. g' D- f- B4 c* N2 E
</div><!–{hook/global_header}–>插件嵌入点, @) L; K- [) ?

) S, t9 H* K6 ^2 _总结:大家在修改的时候他的每个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-1-8 02:21 , Processed in 0.132970 second(s), 59 queries .

Powered by 罗码网络! X3.4

© 2001-2017

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