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行代码:

     
     
       
       
<!--{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行代码:

     
     
1
<!-- {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}-->--------------------------------->插件嵌入点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}-->插件嵌入点



原文:http://zwl.name/?p=226
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
嗨!对于解析STM32库函数头文件代码,我可以给你一些指导。在开始之前,需要说明的是,STM32库函数的头文件通常包含了各种函数的声明和定义,以及一些宏定义和数据结构的定义。 首先,你需要找到你使用的具体STM32系列芯片的库函数头文件。这些头文件通常以"stm32xxxx.h"的形式命名,其中"xxxx"是芯片型号的代号。 打开这个头文件后,你会看到一些宏定义,用于配置芯片的寄存器地址、功能使能等。这些宏定义可以帮助你设置和配置芯片的各种功能。 接下来,你会看到一些类型定义和结构体定义,用于定义一些特定数据类型和数据结构。这些类型和结构体在库函数中经常被使用。 然后,你会看到一些函数声明和定义。这些函数是库函数提供给你使用的接口。通过这些函数,你可以实现各种功能,如GPIO控制、定时器配置、串口通信等。函数名通常会有一定的规律,比如以"HAL_"或"LL_"开头。 在函数声明和定义之后,你可能还会看到一些预编译指令和宏定义,用于实现一些特殊功能或条件编译。这些指令和宏定义可以根据你的需求进行配置和修改。 总的来说,解析STM32库函数头文件代码需要你了解芯片的寄存器和功能,并根据需要调用相应的库函数实现你的应用。希望这些指导对你有所帮助!如有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值