Discuz X2.5、X2模板代码解析header.htm(头部文件)
2013-04-16 14:10
155 查看
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板***无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是***模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的文件进行解剖!在这里希望大家支持一下!随便AD下,也支持旭日站长。
header.html这个文件存储于common文件下,这个大家应该不陌生,不知道的可以看置顶的【二次开发文件目录】,代码我是以DIV块来解释,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!
第1行代码:
<!--{subtemplate common/header_common}-->
代码解释:用于调用common文件下的header_common.html文件。
备注:<!--{subtemplate}-->与<!--{template}--}-->是有区别的,<!--{subtemplate }-->后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!--{subtemplate }-->所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!--{subtemplate 模板名称}-->的方式引入进来。
第2-29行代码:
从<meta name="application-name" content="$_G['setting']['bbname']" />开始到以</head>结尾
代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!
备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板***规范来书写
第30-186行代码:
从<body>处开始到此文件的最下方
代码解释:这是首部文件的核心
备注:在修改时请注间要提前备份文件
第32-44行代码:
从<div id="append_parent"></div><div id="ajaxwaitid"></div>处开始到<!--{/if}--><div id="toptb" class="cl">结尾
代码解释:此处是整站的DIY样式导入、导出及DIY样式修改等,此处代码是隐藏的,要有权限才能编辑
备注:<div id="toptb" class="cl">是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!
第32-44行代码:
从代码:<div id="toptb" class="cl">到</div><!--{if !IS_ROBOT}-->
代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class="y">右处内容</div>,<div class="z">左处内容</div>"
备注:在后台=》界面=》顶部导航。可以设置
第70-78行代码:
<!--{if !IS_ROBOT}-->
<!--{if $_G['uid'] && !empty($_G['style']['extstyle'])}-->
<div id="sslct_menu" class="cl p_pop" style="display: none;">
<!--{if !$_G[style][defaultextstyle]}--><span class="sslct_btn" onClick="extstyle('')" title="{lang default}"><i></i></span><!--{/if}-->
<!--{loop $_G['style']['extstyle'] $extstyle}-->
<span class="sslct_btn" onClick="extstyle('$extstyle[0]')" title="$extstyle[1]"><i style='background:$extstyle[2]'></i></span>
<!--{/loop}-->
</div>
<!--{/if}-->
复制代码
代码解释:此处是拓展色的切换的菜单
备注:如里不需要可以删除
第80-96行代码:
<div id="qmenu_menu" class="p_pop {if !$_G['uid']}blk{/if}" style="display: none;">
<!--{if $_G['uid']}-->
<ul>
<!--{loop $_G['setting']['mynavs'] $nav}-->
<!--{if $nav['available'] && (!$nav['level'] || ($nav['level'] == 1 && $_G['uid']) || ($nav['level'] == 2 && $_G['adminid'] > 0) || ($nav['level'] == 3 && $_G['adminid'] == 1))}-->
<li>$nav[code]</li>
<!--{/if}-->
<!--{/loop}-->
</ul>
<!--{else}-->
<div class="ptm pbw hm">
{lang my_nav_login}
</div>
<!--{/if}-->
</div>
<!--{/if}-->
复制代码
代码解释:此处是快捷导航弹出的菜单,里面用到了<!--{if $_G['uid']}-->语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈
备注:<!--{if $_G['uid']}-->语句可以用到很多地方,自己在做模板的时候,可能会用到!
第97行代码:
<!--{ad/headerbanner/wp a_h}-->
代码解释:头部的广告代码
备注:可以在后台=》运营=站内广告添加
第98-184行代码:
从<div id="hd">到 </div><!--{/if}-->
代码解释:头部的核心文件
备注:下面是头部核心的DIV指引
<div id="hd">
<div class="wp">
<div class="hdc cl">
<h2>logo</h2>---------------------------------->logo
<div id="um">
<div class="avt y">头像</div>-----------------------------头像
<p>
<!--{hook/global_usernav_extra1}-->------------------------------------>插件嵌入点1
<!--{hook/global_usernav_extra2}-->--------------------------------->插件嵌入点
个人信息---------------------------------------->个人信息
</p>
<p>
<!--{hook/global_usernav_extra3}-->--------------------------->插件嵌入点
个人信息---------------------------------------->个人信息
</p>
</div>
<!--{template member/login_simple}-->------- > 登录框(此处调用member/login_simple.html文件) </div>
<div id="nv">
<a href="javascript:;" id="qmenu" >快捷导航</a>-------------->快捷导航
<ul>
<li>栏目导航</li>--------------------------------->栏目导航
</ul>
</div>
<ul class="p_pop h_pop" id="plugin_menu" style="display: none">
二级导航菜单样式------------------------------------------------------>二级导航菜单样式
</ul>
< div id="mu" class="cl">
二级导航横排>------------->二级导航横排样式
</div>
<!--{ad/subnavbanner/a_mu}-->------------------------->头部广告(后台站点广告处可以添加)
<!--{subtemplate common/pubsearchform}-->---------->搜索(此处调用common/pubsearchform文件)
</div>
</div><!--{hook/global_header}-->插件嵌入点
总结:大家在修改的时候他的每个DIV和ul、li、和会有if语句,大家在看明白以上图后,在添加的时候要注意一下IF语句的作用,我就没有把代码复制到上面一一解析,希望大家去妍究下!利用这些资源,自己可以做出很漂亮的头部,举一反三!相信此解剖能够帮助你。
header.html这个文件存储于common文件下,这个大家应该不陌生,不知道的可以看置顶的【二次开发文件目录】,代码我是以DIV块来解释,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!
第1行代码:
<!--{subtemplate common/header_common}-->
代码解释:用于调用common文件下的header_common.html文件。
备注:<!--{subtemplate}-->与<!--{template}--}-->是有区别的,<!--{subtemplate }-->后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!--{subtemplate }-->所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!--{subtemplate 模板名称}-->的方式引入进来。
第2-29行代码:
从<meta name="application-name" content="$_G['setting']['bbname']" />开始到以</head>结尾
代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!
备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板***规范来书写
第30-186行代码:
从<body>处开始到此文件的最下方
代码解释:这是首部文件的核心
备注:在修改时请注间要提前备份文件
第32-44行代码:
从<div id="append_parent"></div><div id="ajaxwaitid"></div>处开始到<!--{/if}--><div id="toptb" class="cl">结尾
代码解释:此处是整站的DIY样式导入、导出及DIY样式修改等,此处代码是隐藏的,要有权限才能编辑
备注:<div id="toptb" class="cl">是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!
第32-44行代码:
从代码:<div id="toptb" class="cl">到</div><!--{if !IS_ROBOT}-->
代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class="y">右处内容</div>,<div class="z">左处内容</div>"
备注:在后台=》界面=》顶部导航。可以设置
第70-78行代码:
<!--{if !IS_ROBOT}-->
<!--{if $_G['uid'] && !empty($_G['style']['extstyle'])}-->
<div id="sslct_menu" class="cl p_pop" style="display: none;">
<!--{if !$_G[style][defaultextstyle]}--><span class="sslct_btn" onClick="extstyle('')" title="{lang default}"><i></i></span><!--{/if}-->
<!--{loop $_G['style']['extstyle'] $extstyle}-->
<span class="sslct_btn" onClick="extstyle('$extstyle[0]')" title="$extstyle[1]"><i style='background:$extstyle[2]'></i></span>
<!--{/loop}-->
</div>
<!--{/if}-->
复制代码
代码解释:此处是拓展色的切换的菜单
备注:如里不需要可以删除
第80-96行代码:
<div id="qmenu_menu" class="p_pop {if !$_G['uid']}blk{/if}" style="display: none;">
<!--{if $_G['uid']}-->
<ul>
<!--{loop $_G['setting']['mynavs'] $nav}-->
<!--{if $nav['available'] && (!$nav['level'] || ($nav['level'] == 1 && $_G['uid']) || ($nav['level'] == 2 && $_G['adminid'] > 0) || ($nav['level'] == 3 && $_G['adminid'] == 1))}-->
<li>$nav[code]</li>
<!--{/if}-->
<!--{/loop}-->
</ul>
<!--{else}-->
<div class="ptm pbw hm">
{lang my_nav_login}
</div>
<!--{/if}-->
</div>
<!--{/if}-->
复制代码
代码解释:此处是快捷导航弹出的菜单,里面用到了<!--{if $_G['uid']}-->语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈
备注:<!--{if $_G['uid']}-->语句可以用到很多地方,自己在做模板的时候,可能会用到!
第97行代码:
<!--{ad/headerbanner/wp a_h}-->
代码解释:头部的广告代码
备注:可以在后台=》运营=站内广告添加
第98-184行代码:
从<div id="hd">到 </div><!--{/if}-->
代码解释:头部的核心文件
备注:下面是头部核心的DIV指引
<div id="hd">
<div class="wp">
<div class="hdc cl">
<h2>logo</h2>---------------------------------->logo
<div id="um">
<div class="avt y">头像</div>-----------------------------头像
<p>
<!--{hook/global_usernav_extra1}-->------------------------------------>插件嵌入点1
<!--{hook/global_usernav_extra2}-->--------------------------------->插件嵌入点
个人信息---------------------------------------->个人信息
</p>
<p>
<!--{hook/global_usernav_extra3}-->--------------------------->插件嵌入点
个人信息---------------------------------------->个人信息
</p>
</div>
<!--{template member/login_simple}-->------- > 登录框(此处调用member/login_simple.html文件) </div>
<div id="nv">
<a href="javascript:;" id="qmenu" >快捷导航</a>-------------->快捷导航
<ul>
<li>栏目导航</li>--------------------------------->栏目导航
</ul>
</div>
<ul class="p_pop h_pop" id="plugin_menu" style="display: none">
二级导航菜单样式------------------------------------------------------>二级导航菜单样式
</ul>
< div id="mu" class="cl">
二级导航横排>------------->二级导航横排样式
</div>
<!--{ad/subnavbanner/a_mu}-->------------------------->头部广告(后台站点广告处可以添加)
<!--{subtemplate common/pubsearchform}-->---------->搜索(此处调用common/pubsearchform文件)
</div>
</div><!--{hook/global_header}-->插件嵌入点
总结:大家在修改的时候他的每个DIV和ul、li、和会有if语句,大家在看明白以上图后,在添加的时候要注意一下IF语句的作用,我就没有把代码复制到上面一一解析,希望大家去妍究下!利用这些资源,自己可以做出很漂亮的头部,举一反三!相信此解剖能够帮助你。
相关文章推荐
- Dx模板代码解析--header(头部文件)
- 【discuzx3】注意header.htm模板文件中的这几行代码
- 【discuzx2】space_status.htm模板文件的解析
- 【discuzx2】space_feed_li.htm模板文件解析
- discuzx2.0模板制作解析header.htm
- Discuz! X3 header.htm 文件解析
- Discuz!X模板代码解析--Header(头文件)
- 【discuzx2】home_space.htm模板文件解析
- SublimeText用FileHeader给代码文件生成头部注释
- Discuz模板文件space_blog.htm解析
- [php] 代码片段---csv 文件 header 头部信息
- 【discuzx2】header.htm模板文件深入分析
- 【discuzx2】header.htm模板文件深入分析
- Hibernate.cfg.xml配置文件模板及解析
- nginx解析配置文件代码备忘
- 解析csv格式文件的一段C代码
- 解析php多线程下载远程多个文件的实例代码
- C# 解析 RAS文件 SUM 光栅文件图象的代码
- php 文件头部(header)信息详解
- 简化php模板页面中分页代码的解析