discuz门户首页-header文件模板语法详解和注释

header文件引用了跟多通用模板,所以整个文章会很长,现在比较忙,注释工作会不定期进行

首先开下门户首页的文件

portal里面的index.htm

<!--{template common/header}-->              //引用common文件下的header.htm这个也是引用模板文件的一种常用方法
<style id="diy_style" type="text/css"></style>           //没什么用
<div class="wp">
    <!--[diy=diy1]--><div id="diy1" class="area"></div><!--[/diy]-->  //自定义diy框架,前台如果哪个地方需要自定义一个,就添加一个这样的,注意黄字,添加就该一下
</div>
<script src="misc.php?mod=diyhelp&action=get&type=index&diy=yes&r={echo random(4)}" type="text/javascript"></script> 

//应该是和diy有关,但是在首页貌似没什么用
<!--{template common/footer}--> //引用common文件下的foot.htm这个也是引用模板文件的一种常用方法 footer这个文件以后在说,这个也很重要

common文件下的header_开头的几个文件

header.htm

<!--{subtemplate common/header_common}-->  引用头部信息 meta什么的也很重要,他会生产一个js和默认的css
    <meta name="application-name" content="$_G['setting']['bbname']" />  //获取可以参看我discuz分类的文章有一篇discuz全局数组变量 后台各项设置 完整版
    <meta name="msapplication-tooltip" content="$_G['setting']['bbname']" /> 
    <!--{if $_G['setting']['portalstatus']}--><meta name="msapplication-task" content="name=$_G['setting']['navs'][1]['navname'];action-uri={echo !empty($_G['setting']['domain']['app']['portal']) ? 'http://'.$_G['setting']['domain']['app']['portal'] : $_G[siteurl].'portal.php'};icon-uri={$_G[siteurl]}{IMGDIR}/portal.ico" /><!--{/if}-->
    <meta name="msapplication-task" content="name=$_G['setting']['navs'][2]['navname'];action-uri={echo !empty($_G['setting']['domain']['app']['forum']) ? 'http://'.$_G['setting']['domain']['app']['forum'] : $_G[siteurl].'forum.php'};icon-uri={$_G[siteurl]}{IMGDIR}/bbs.ico" />
    <!--{if $_G['setting']['groupstatus']}--><meta name="msapplication-task" content="name=$_G['setting']['navs'][3]['navname'];action-uri={echo !empty($_G['setting']['domain']['app']['group']) ? 'http://'.$_G['setting']['domain']['app']['group'] : $_G[siteurl].'group.php'};icon-uri={$_G[siteurl]}{IMGDIR}/group.ico" /><!--{/if}-->
    <!--{if helper_access::check_module('feed')}--><meta name="msapplication-task" content="name=$_G['setting']['navs'][4]['navname'];action-uri={echo !empty($_G['setting']['domain']['app']['home']) ? 'http://'.$_G['setting']['domain']['app']['home'] : $_G[siteurl].'home.php'};icon-uri={$_G[siteurl]}{IMGDIR}/home.ico" /><!--{/if}-->
    <!--{if $_G['basescript'] == 'forum' && $_G['setting']['archiver']}-->
        <link rel="archives" title="$_G['setting']['bbname']" href="{$_G[siteurl]}archiver/" />
    <!--{/if}-->
    <!--{if !empty($rsshead)}-->$rsshead<!--{/if}-->
    <!--{if widthauto()}-->
        <link rel="stylesheet" id="css_widthauto" type="text/css" href="data/cache/style_{STYLEID}_widthauto.css?{VERHASH}" />
        <script type="text/javascript">HTMLNODE.className += ' widthauto'</script>
    <!--{/if}-->
    <!--{if $_G['basescript'] == 'forum' || $_G['basescript'] == 'group'}-->
        <script type="text/javascript" src="{$_G[setting][jspath]}forum.js?{VERHASH}"></script>
    <!--{elseif $_G['basescript'] == 'home' || $_G['basescript'] == 'userapp'}-->
        <script type="text/javascript" src="{$_G[setting][jspath]}home.js?{VERHASH}"></script>
    <!--{elseif $_G['basescript'] == 'portal'}-->
        <script type="text/javascript" src="{$_G[setting][jspath]}portal.js?{VERHASH}"></script>
    <!--{/if}-->
    <!--{if $_G['basescript'] != 'portal' && $_GET['diy'] == 'yes' && check_diy_perm($topic)}-->
        <script type="text/javascript" src="{$_G[setting][jspath]}portal.js?{VERHASH}"></script>
    <!--{/if}-->
    <!--{if $_GET['diy'] == 'yes' && check_diy_perm($topic)}-->
    <link rel="stylesheet" type="text/css" id="diy_common" href="data/cache/style_{STYLEID}_css_diy.css?{VERHASH}" />
    <!--{/if}-->
</head>

<body id="nv_{$_G[basescript]}" class="pg_{CURMODULE}{if $_G['basescript'] === 'portal' && CURMODULE === 'list' && !empty($cat)} {$cat['bodycss']}{/if}" onkeydown="if(event.keyCode==27) return false;">
    <div id="append_parent"></div><div id="ajaxwaitid"></div>
    <!--{if $_GET['diy'] == 'yes' && check_diy_perm($topic)}-->
        <!--{template common/header_diy}-->
    <!--{/if}-->
    <!--{if check_diy_perm($topic)}-->
        <!--{template common/header_diynav}-->
    <!--{/if}-->
    <!--{if CURMODULE == 'topic' && $topic && empty($topic['useheader']) && check_diy_perm($topic)}-->
        $diynav
    <!--{/if}-->
    <!--{if empty($topic) || $topic['useheader']}-->
        <!--{if $_G['setting']['mobile']['allowmobile'] && (!$_G['setting']['cacheindexlife'] && !$_G['setting']['cachethreadon'] || $_G['uid']) && ($_GET['diy'] != 'yes' || !$_GET['inajax']) && ($_G['mobile'] != '' && $_G['cookie']['mobile'] == '' && $_GET['mobile'] != 'no')}-->
            <div class="xi1 bm bm_c">
                {lang your_mobile_browser}<a href="{$_G['siteurl']}forum.php?mobile=yes">{lang go_to_mobile}</a> <span class="xg1">|</span> <a href="$_G['setting']['mobile']['nomobileurl']">{lang to_be_continue}</a>
            </div>
        <!--{/if}-->
        <!--{if $_G['setting']['shortcut'] && $_G['member'][credits] >= $_G['setting']['shortcut']}-->
            <div id="shortcut">
                <span><a href="javascript:;" id="shortcutcloseid" title="{lang close}">{lang close}</a></span>
                {lang shortcut_notice}
                <a href="javascript:;" id="shortcuttip">{lang shortcut_add}</a>

            </div>
            <script type="text/javascript">setTimeout(setShortcut, 2000);</script>
        <!--{/if}-->
        <div id="toptb" class="cl">
            <!--{hook/global_cpnav_top}-->
            <div class="wp">
                <div class="z">
                    <!--{loop $_G['setting']['topnavs'][0] $nav}-->
                        <!--{if $nav['available'] && (!$nav['level'] || ($nav['level'] == 1 && $_G['uid']) || ($nav['level'] == 2 && $_G['adminid'] > 0) || ($nav['level'] == 3 && $_G['adminid'] == 1))}-->$nav[code]<!--{/if}-->
                    <!--{/loop}-->
                    <!--{hook/global_cpnav_extra1}-->
                </div>
                <div class="y">
                    <a id="switchblind" href="javascript:;" onclick="toggleBlind(this)" title="{lang switch_blind}" class="switchblind">{lang switch_blind}</a>
                    <!--{hook/global_cpnav_extra2}-->
                    <!--{loop $_G['setting']['topnavs'][1] $nav}-->
                        <!--{if $nav['available'] && (!$nav['level'] || ($nav['level'] == 1 && $_G['uid']) || ($nav['level'] == 2 && $_G['adminid'] > 0) || ($nav['level'] == 3 && $_G['adminid'] == 1))}-->$nav[code]<!--{/if}-->
                    <!--{/loop}-->
                    <!--{if empty($_G['disabledwidthauto']) && $_G['setting']['switchwidthauto']}-->
                        <a href="javascript:;" id="switchwidth" onclick="widthauto(this)" title="{if widthauto()}{lang switch_narrow}{else}{lang switch_wide}{/if}" class="switchwidth"><!--{if widthauto()}-->{lang switch_narrow}<!--{else}-->{lang switch_wide}<!--{/if}--></a>
                    <!--{/if}-->
                    <!--{if $_G['uid'] && !empty($_G['style']['extstyle'])}--><a id="sslct" href="javascript:;" onmouseover="delayShow(this, function() {showMenu({'ctrlid':'sslct','pos':'34!'})});">{lang changestyle}</a><!--{/if}-->
                    <!--{if check_diy_perm($topic)}-->
                        $diynav
                    <!--{/if}-->
                </div>
            </div>
        </div>

        <!--{if !IS_ROBOT}-->
            <!--{if $_G['uid']}-->
            <ul id="myprompt_menu" class="p_pop" style="display: none;">                
                <li><a href="home.php?mod=space&do=pm" id="pm_ntc" style="background-repeat: no-repeat; background-position: 0 50%;"><em class="prompt_news{if empty($_G[member][newpm])}_0{/if}"></em>{lang pm_center}</a></li>
                <li><a href="home.php?mod=follow&do=follower"><em class="prompt_follower{if empty($_G[member][newprompt_num][follower])}_0{/if}"></em><!--{lang notice_interactive_follower}-->{if $_G[member][newprompt_num][follower]}($_G[member][newprompt_num][follower]){/if}</a></li>
                <!--{if $_G[member][newprompt] && $_G[member][newprompt_num][follow]}-->
                    <li><a href="home.php?mod=follow"><em class="prompt_concern"></em><!--{lang notice_interactive_follow}-->($_G[member][newprompt_num][follow])</a></li>
                <!--{/if}-->
                <!--{if $_G[member][newprompt]}-->
                    <!--{loop $_G['member']['category_num'] $key $val}-->
                        <li><a href="home.php?mod=space&do=notice&view=$key"><em class="notice_$key"></em><!--{echo lang('template', 'notice_'.$key)}-->(<span class="rq">$val</span>)</a></li>
                    <!--{/loop}-->
                <!--{/if}-->
                <!--{if empty($_G['cookie']['ignore_notice'])}-->
                    <li class="ignore_noticeli"><a href="javascript:;" onclick="setcookie('ignore_notice', 1);hideMenu('myprompt_menu')" title="{lang temporarily_to_remind}"><em class="ignore_notice"></em></a></li>
                <!--{/if}-->
            </ul>
            <!--{/if}-->
            <!--{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}-->
            <!--{if $_G['uid']}-->
                <ul id="myitem_menu" class="p_pop" style="display: none;">
                    <li><a href="forum.php?mod=guide&view=my">{lang mypost}</a></li>
                    <li><a href="home.php?mod=space&do=favorite&view=me">{lang favorite}</a></li>
                    <li><a href="home.php?mod=space&do=friend">{lang friends}</a></li>
                    <!--{hook/global_myitem_extra}-->
                </ul>
            <!--{/if}-->
            <!--{subtemplate common/header_qmenu}-->
        <!--{/if}-->

        <!--{ad/headerbanner/wp a_h}-->
        <div id="hd">
            <div class="wp">
                <div class="hdc cl">
                    <!--{eval $mnid = getcurrentnav();}-->
                    <h2><!--{if !isset($_G['setting']['navlogos'][$mnid])}--><a href="{if $_G['setting']['domain']['app']['default']}http://{$_G['setting']['domain']['app']['default']}/{else}./{/if}" title="$_G['setting']['bbname']">{$_G['style']['boardlogo']}</a><!--{else}-->$_G['setting']['navlogos'][$mnid]<!--{/if}--></h2>
                    <!--{template common/header_userstatus}-->
                </div>

                <div id="nv">
                    <a href="javascript:;" id="qmenu" onmouseover="delayShow(this, function () {showMenu({'ctrlid':'qmenu','pos':'34!','ctrlclass':'a','duration':2});showForummenu($_G[fid]);})">{lang my_nav}</a>
                    <ul>
                        <!--{loop $_G['setting']['navs'] $nav}-->
                            <!--{if $nav['available'] && (!$nav['level'] || ($nav['level'] == 1 && $_G['uid']) || ($nav['level'] == 2 && $_G['adminid'] > 0) || ($nav['level'] == 3 && $_G['adminid'] == 1))}--><li {if $mnid == $nav[navid]}class="a" {/if}$nav[nav]></li><!--{/if}-->
                        <!--{/loop}-->
                    </ul>
                    <!--{hook/global_nav_extra}-->
                </div>
                <!--{if !empty($_G['setting']['plugins']['jsmenu'])}-->
                    <ul class="p_pop h_pop" id="plugin_menu" style="display: none">
                    <!--{loop $_G['setting']['plugins']['jsmenu'] $module}-->
                         <!--{if !$module['adminid'] || ($module['adminid'] && $_G['adminid'] > 0 && $module['adminid'] >= $_G['adminid'])}-->
                         <li>$module[url]</li>
                         <!--{/if}-->
                    <!--{/loop}-->
                    </ul>
                <!--{/if}-->
                $_G[setting][menunavs]
                <div id="mu" class="cl">
                <!--{if $_G['setting']['subnavs']}-->
                    <!--{loop $_G[setting][subnavs] $navid $subnav}-->
                        <!--{if $_G['setting']['navsubhover'] || $mnid == $navid}-->
                        <ul class="cl {if $mnid == $navid}current{/if}" id="snav_$navid" style="display:{if $mnid != $navid}none{/if}">
                        $subnav
                        </ul>
                        <!--{/if}-->
                    <!--{/loop}-->
                <!--{/if}-->
                </div>
                <!--{ad/subnavbanner/a_mu}-->
                <!--{subtemplate common/pubsearchform}-->
            </div>
        </div>

        <!--{hook/global_header}-->
    <!--{/if}-->

    <div id="wp" class="wp">

 header_userstatus.htm

<!--{if $_G['uid']}-->
<div id="um">
    <div class="avt y"><a href="home.php?mod=space&uid=$_G[uid]"><!--{avatar($_G[uid],small)}--></a></div>
    <p>
        <strong class="vwmy{if $_G['setting']['connect']['allow'] && $_G[member][conisbind]} qq{/if}"><a href="home.php?mod=space&uid=$_G[uid]" target="_blank" title="{lang visit_my_space}">{$_G[member][username]}</a></strong>
        <!--{if $_G['group']['allowinvisible']}-->
        <span id="loginstatus">
            <a id="loginstatusid" href="member.php?mod=switchstatus" title="{lang login_switch_invisible_mode}" onclick="ajaxget(this.href, 'loginstatus');return false;" class="xi2"></a>
        </span>
        <!--{/if}-->
        <!--{hook/global_usernav_extra1}-->
        <span class="pipe">|</span><!--{hook/global_usernav_extra4}--><a href="javascript:;" id="myitem" class="showmenu" onmouseover="showMenu({'ctrlid':'myitem'});">{lang myitem}</a>
        <span class="pipe">|</span><a href="home.php?mod=spacecp">{lang setup}</a>
        <span class="pipe">|</span><a href="home.php?mod=space&do=pm" id="pm_ntc"{if $_G[member][newpm]} class="new"{/if}>{lang pm_center}</a>
        <span class="pipe">|</span><a href="home.php?mod=space&do=notice" id="myprompt" class="a showmenu{if $_G[member][newprompt]} new{/if}" onmouseover="showMenu({'ctrlid':'myprompt'});">{lang remind}<!--{if $_G[member][newprompt]}-->($_G[member][newprompt])<!--{/if}--></a><span id="myprompt_check"></span>
        <!--{if empty($_G['cookie']['ignore_notice']) && ($_G[member][newpm] || $_G[member][newprompt_num][follower] || $_G[member][newprompt_num][follow] || $_G[member][newprompt])}--><script language="javascript">delayShow($('myprompt'), function() {showMenu({'ctrlid':'myprompt','duration':3})});</script><!--{/if}-->
        <!--{if $_G['setting']['taskon'] && !empty($_G['cookie']['taskdoing_'.$_G['uid']])}--><span class="pipe">|</span><a href="home.php?mod=task&item=doing" id="task_ntc" class="new">{lang task_doing}</a><!--{/if}-->
        <!--{if ($_G['group']['allowmanagearticle'] || $_G['group']['allowpostarticle'] || $_G['group']['allowdiy'] || getstatus($_G['member']['allowadmincp'], 4) || getstatus($_G['member']['allowadmincp'], 6) || getstatus($_G['member']['allowadmincp'], 2) || getstatus($_G['member']['allowadmincp'], 3))}-->
            <span class="pipe">|</span><a href="portal.php?mod=portalcp"><!--{if $_G['setting']['portalstatus'] }-->{lang portal_manage}<!--{else}-->{lang portal_block_manage}<!--{/if}--></a>
        <!--{/if}-->
        <!--{if $_G['uid'] && $_G['group']['radminid'] > 1}-->
            <span class="pipe">|</span><a href="forum.php?mod=modcp&fid=$_G[fid]" target="_blank">{lang forum_manager}</a>
        <!--{/if}-->
        <!--{if $_G['uid'] && getstatus($_G['member']['allowadmincp'], 1)}-->
            <span class="pipe">|</span><a href="admin.php" target="_blank">{lang admincp}</a>
        <!--{/if}-->
        <!--{hook/global_usernav_extra2}-->
        <span class="pipe">|</span><a href="member.php?mod=logging&action=logout&formhash={FORMHASH}">{lang logout}</a>
    </p>
    <p>
        <!--{hook/global_usernav_extra3}-->
        <a href="home.php?mod=spacecp&ac=credit&showcredit=1" id="extcreditmenu"{if !$_G[setting][bbclosed]} onmouseover="delayShow(this, showCreditmenu);" class="showmenu"{/if}>{lang credits}: $_G[member][credits]</a>
        <span class="pipe">|</span><a href="home.php?mod=spacecp&ac=usergroup" id="g_upmine" class="showmenu" onmouseover="delayShow(this, showUpgradeinfo)">{lang usergroup}: $_G[group][grouptitle]<!--{if $_G[member]['freeze']}--><span class="xi1">({lang freeze})</span><!--{/if}--></a>
    </p>
</div>
<!--{elseif !empty($_G['cookie']['loginuser'])}-->
<p>
    <strong><a id="loginuser" class="noborder"><!--{echo dhtmlspecialchars($_G['cookie']['loginuser'])}--></a></strong>
    <span class="pipe">|</span><a href="member.php?mod=logging&action=login" onclick="showWindow('login', this.href)">{lang activation}</a>
    <span class="pipe">|</span><a href="member.php?mod=logging&action=logout&formhash={FORMHASH}">{lang logout}</a>
</p>
<!--{elseif !$_G[connectguest]}-->
    <!--{template member/login_simple}-->
<!--{else}-->
<div id="um">
    <div class="avt y"><!--{avatar(0,small)}--></div>
    <p>
        <strong class="vwmy qq">{$_G[member][username]}</strong>
        <!--{hook/global_usernav_extra1}-->
        <span class="pipe">|</span><a href="member.php?mod=logging&action=logout&formhash={FORMHASH}">{lang logout}</a>
    </p>
    <p>
        <a href="home.php?mod=spacecp&ac=credit&showcredit=1">{lang credits}: 0</a>
        <span class="pipe">|</span>{lang usergroup}: $_G[group][grouptitle]
    </p>
</div>
<!--{/if}-->
原文地址:https://www.cnblogs.com/zx-admin/p/3709092.html