Discuz开发 Discuz!X模板代码解析--Header(头文件)

[复制链接]
瓜瓜ぺ牛... 发表于 2013-2-21 09:41:26 [Discuz开发] 显示全部楼层 |阅读模式 上一主题 下一主题

马上注册,一起探讨正确快速的建站方法

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
discuz!X模板代码解析--Header(头文件)(转发)
      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">结尾
解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,
备注:<div id="toptb">是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!
第32-44行代码:
从代码:<div id="toptb">到</div><!--{if !IS_ROBOT}-->
解释:顶部文件,用于放置导航与dz内部的一些功能,<div>右处内容</div>,<div>左处内容</div>
备注:在后台=》界面=》顶部导航。可以设置。
第70-78行代码:
[php] view plaincopyprint?
<!--{if !IS_ROBOT}-->  
<!--{if $_G['uid'] && !emptyempty($_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='backgroundextstyle[2]'></i></span>  
<!--{/loop}-->  
</div>  
<!--{/if}-->  



解释:此处是拓展色的切换的菜单。
备注:如里不需要可以删除。
第80-96行代码:
[php] view plaincopyprint?
<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行代码:
1       
<!--{ad/headerbanner/wp a_h}-->


解释:头部的广告代码。
备注:可以在后台=》运营=站内广告添加。
第98-184行代码:
从<div id="hd">到 </div><!--{/if}-->
解释:头部的核心文件。
备注:下面是头部核心的DIV指引。
[php] view plaincopyprint?
<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}-->--------------------------------->插件嵌入点2  
                          个人信息---------------------------------------->个人信息  
                      </p>  
                      <p>  
                         <!--{hook/global_usernav_extra3}-->--------------------------->插件嵌入点3  
                         个人信息---------------------------------------->个人信息  
                     </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}-->插件嵌入点  




上一篇:dzx2/bbs/(后台修改法)。求加精
下一篇:论坛分类信息地区字段列表

大神点评7

 楼主| 瓜瓜ぺ牛... 发表于 2013-2-21 09:42:28 [Discuz开发] 显示全部楼层
别的网站看到的,转发在这里,省的以后找不到
奔腾的狼 发表于 2013-2-21 11:59:57 [Discuz开发] 显示全部楼层
观看中  确实好多牛人
我是小鸟 发表于 2013-2-21 13:59:41 [Discuz开发] 显示全部楼层
必须顶  
↘无痕 发表于 2013-6-7 11:05:28 [Discuz开发] 显示全部楼层
正在找这东东。。学习下
祸祸 发表于 2013-6-17 15:34:58 [Discuz开发] 显示全部楼层
{:3www.iosoi.com www.aimcu.com_42:}
囧/林夕 发表于 2013-8-10 19:22:37 [Discuz开发] 显示全部楼层
支持一个, 怎么修改为搜索框了
创业问答ask.57938.com
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

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