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

罗码gitluo

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索
开启左侧

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

[复制链接]
罗码男神 实名认证 官方 发表于 2020-1-20 03:01:00 来自手机 | 显示全部楼层 |阅读模式
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板制作无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是制作模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的模板文件进行解剖!在这里希望大家支持一下!随便AD下!& i4 M* D) C. C
- O6 p1 [7 ~: ]9 K8 k
header.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!4 @6 e5 J4 S9 l3 K1 q* q
+ ^7 E( p2 ~1 r6 K/ ^5 m8 R- i& V
第1行代码:; @- u2 F4 C4 `/ y7 H* c+ f4 a8 ~
<!–{subtemplate common/header_common}–>% M$ M+ ~2 N: z9 q4 O, L2 {
代码解释:用于调用common文件下的header_common.html文件,
& D5 x0 D. h+ o7 g2 Y( c  ]5 }备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。
: X7 ]; x" t/ W$ C$ g5 j0 m. d- R; ~3 C$ E: u
第2-29行代码:) Y7 h2 u8 u$ I- g% m! e5 n
从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾
+ X' O5 j6 ?6 }! F9 @; ^代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!; R; _  ?; Z. O
备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写
, A3 z0 C( M) ^% N# T) |( T( z& ?  z6 s
第30-186行代码:
: x$ O; j# l0 }# q4 i从<body>处开始到此文件的最下方( d) V+ v( n1 ~8 G% A
代码解释:这是首部文件的核心
7 _( H8 K1 m* `备注:在修改时请注间要提前备份文件
5 U0 m$ P9 R" @
8 ?2 d. I7 W, M* e第32-44行代码:
2 {# x. z  R0 G) i: [2 f" J从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾
0 e9 l  W$ O3 s" Y2 k) ~8 o. i代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,: Z. C" R% {! R7 v& M1 Z8 r' l
备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!
# T, h, T# B2 C# q; z9 U' ?" {$ V+ A' ~& e
第32-44行代码:; ^1 R! Z+ \% T7 d7 D9 T
从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>5 e6 u" _, S& f
代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>
: Q7 o0 [# w& z备注:在后台=》界面=》顶部导航。可以设置8 s8 f* L- \" D6 b
2 X. e: {2 M7 P( C, t4 ^5 A
第70-78行代码:
# R" w/ B. k# H# p
1 X' S/ g: j& h- a! ?8 y: M<!–{if !IS_ROBOT}–>
* m5 a3 Y) K" Z- S& h  ~                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>3 C) H1 z/ x* _
                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>
) p" Q' `& L9 f( Q! P                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>
+ m) J, e( W( _) r                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>$ \. m6 c3 g3 L/ M5 B0 e
                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>+ W9 h% o; W- o; E8 l# l
                                        <!–{/loop}–>+ }9 n% H, s6 ]% @" p% ~- X$ E
                                </div>3 h5 Y. v! N7 p3 `; r& X
                        <!–{/if}–>7 [4 x, P* a# _. ^3 A3 v" g  p

  S. Z) b/ Z7 Q代码解释:此处是拓展色的切换的菜单
' [! w. w" M; Y' O7 ^备注:如里不需要可以删除
$ Y& R4 t% A/ s+ O7 @5 x/ h5 j
. j+ [4 s0 q+ t# C2 I/ |第80-96行代码:
( Y. L& |7 S: s/ `
) M5 E+ ]1 F/ @, y7 I7 w<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>5 w# y- |4 [2 k
                                        <!–{if $_G[‘uid’]}–>4 e" U* E( C1 V7 j) F
                                        <ul>
" Z2 D% P) L: s9 U& q" g                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>
6 V# h) K+ {6 y6 D, j                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>
1 K7 m( t7 {0 V* D9 `% l                                                                <li>$nav[code]</li>2 S) ?, y9 b* X$ [( N8 _5 d9 G
                                                        <!–{/if}–>7 p. i  A8 S; j. l
                                                <!–{/loop}–>
& U2 g2 d+ O! e                                        </ul>9 E, S! z& W8 I4 C. F
                                        <!–{else}–>
1 T7 e. H: E6 ], k/ f7 M) w                                                <div class=”ptm pbw hm”>
- P6 _4 j8 l1 \6 n5 q                                                        {lang my_nav_login}
' H$ t6 y9 Y# h* z- y' }2 c. W                                                </div>
* U0 Y4 e# t! \5 t  ?                                        <!–{/if}–>
. ]; B# L6 \4 c2 y7 r3 y" T                                </div>6 j0 e* l4 D' C% `* @( i
                <!–{/if}–>
# B2 S+ Z, \8 H" K
: v' C# Q- [+ m" l: Y代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈
2 _7 z4 u( x  b- R+ ?8 s. |. P备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!
* B5 y, l. c- O0 }. K' A+ M6 H' \+ |
第97行代码:! T( l! w* C+ K& l* i
+ Q% S& n  E* A% R  y
<!–{ad/headerbanner/wp a_h}–>
# Z7 m( U, S0 m# i5 N9 q7 a2 X8 q5 L& z. @
代码解释:头部的广告代码,
( n8 o6 C' W" _6 i: j( i: r备注:可以在后台=》运营=站内广告添加第98-184行代码:( O' R' f# v7 X
从<div id=”hd”>到 </div><!–{/if}–>1 t' a) s. g* @3 s# L6 F% c2 D( m" j/ {
代码解释:头部的核心文件: q" c- ~) q6 V" P, B& ^
备注:下面是头部核心的DIV指引
) g  P0 V  U/ F" F3 ?. [<div id=”hd”>
, U) Y& o% m; }/ k" ]<div class=”wp”>
$ c7 h% l8 Z/ }. [' `" _<div class=”hdc cl”>+ ^# L! i3 l. ~( ^! t4 _
<h2>logo</h2>———————————->logo
7 h( E3 d( e' M1 Z                 <div id=”um”>* ?/ O0 l# _& o( d
<div class=”avt y”>头像</div>—————————–头像7 ~3 Y9 m  v% @/ V# H9 r
                       <p>
, F) N/ w! j# k! ~: v# ?<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点1& q( e  J) _! _; \* |/ ]# K" E
                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点24 r# H, e. \5 V/ ?7 Y
个人信息—————————————->个人信息5 G8 w0 o6 K9 ~6 b7 k9 B
</p>
& A6 |/ x' ~$ H+ G3 k- ~" _* N<p>
: `! L( b4 P; E<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点3
5 L) W2 v( ?$ Y; s个人信息—————————————->个人信息
0 J+ [6 c& I3 O6 ]: Z</p>
. P! w! ?/ \/ D</div>: _# p- o% I2 _9 V6 w
<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>
5 s# \$ i0 l% y0 |( @, X<div id=”nv”>6 Z. j' \8 h2 t. h
<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航
2 l. }* W8 n& c                <ul>+ v, L( x4 f  L& _
<li>栏目导航</li>———————————>栏目导航7 X( w5 c; B) ]2 |) v
                 </ul>
8 X( @3 z# n1 J+ P2 y</div>9 b4 V  g/ G) i
<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>  h3 o7 s  h- L( q
二级导航菜单样式——————————————————>二级导航菜单样式) T. ?# r# O8 V/ @8 j1 \
</ul>
. }" o( w/ [7 u# P- @9 Z< div id=”mu” class=”cl”>
. _# N2 D+ R+ l' |. a$ @7 C二级导航横排>————->二级导航横排样式
% b/ p! s; i: g" k9 e              </div>6 E% F) i, g9 Z; F4 n- D/ z- G
<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)5 P0 N, e( Q" J! s
<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>" o, R! B7 s: l/ O2 W$ m
</div><!–{hook/global_header}–>插件嵌入点
1 s! \( K  C- N) H
- b4 G! [4 {+ v总结:大家在修改的时候他的每个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-9-16 22:10 , Processed in 0.124876 second(s), 59 queries .

Powered by 罗码网络! X3.4

© 2001-2017

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