Merge branch '3.0'
[GitHub/WoltLab/WCF.git] / com.woltlab.wcf / templates / header.tpl
CommitLineData
3e93caf9
MW
1{include file='documentHeader'}
2
3<head>
ff9e3598
MW
4 {if !$pageTitle|isset}
5 {assign var='pageTitle' value=''}
abb92d5a 6 {if (!$__wcf->isLandingPage() || !USE_PAGE_TITLE_ON_LANDING_PAGE) && $__wcf->getActivePage() != null && $__wcf->getActivePage()->getTitle()}
ff9e3598
MW
7 {capture assign='pageTitle'}{$__wcf->getActivePage()->getTitle()}{/capture}
8 {/if}
9 {/if}
10
11 <title>{if $pageTitle}{@$pageTitle} - {/if}{PAGE_TITLE|language}</title>
3e93caf9
MW
12
13 {include file='headInclude'}
14
a5a4f02d
MW
15 {if !$canonicalURL|empty}
16 <link rel="canonical" href="{$canonicalURL}">
17 {/if}
18
3e93caf9
MW
19 {if !$headContent|empty}
20 {@$headContent}
21 {/if}
22</head>
23
15a7795e
MW
24<body id="tpl_{$templateNameApplication}_{$templateName}"
25 itemscope itemtype="http://schema.org/WebPage"{if !$canonicalURL|empty} itemid="{$canonicalURL}"{/if}
26 data-template="{$templateName}" data-application="{$templateNameApplication}"{if $__wcf->getActivePage() != null} data-page-id="{@$__wcf->getActivePage()->pageID}" data-page-identifier="{$__wcf->getActivePage()->identifier}"{/if}
27 class="{if $__wcf->getActivePage() != null && $__wcf->getActivePage()->cssClassName}{$__wcf->getActivePage()->cssClassName}{/if}{if !$__pageCssClassName|empty} {$__pageCssClassName}{/if}">
3e93caf9 28
cf1e012a 29<a id="top"></a>
f2b50825 30
cf1e012a
AE
31<div id="pageContainer" class="pageContainer">
32 {event name='beforePageHeader'}
f2b50825
AE
33
34 {include file='pageHeader'}
35
cf1e012a
AE
36 {event name='afterPageHeader'}
37
55b402a0
MW
38 {hascontent}
39 <div class="boxesHeaderBoxes">
40 <div class="layoutBoundary">
c734a302
MW
41 <div class="boxContainer">
42 {content}
950fbdf8
MW
43 {if !$headerBoxes|empty}
44 {@$headerBoxes}
45 {/if}
46
c734a302 47 {foreach from=$__wcf->getBoxHandler()->getBoxes('headerBoxes') item=box}
2cd54d7f 48 {@$box->render()}
c734a302
MW
49 {/foreach}
50 {/content}
fe17bd5f 51 </div>
55b402a0
MW
52 </div>
53 </div>
54 {/hascontent}
55
cf1e012a 56 {include file='pageNavbarTop'}
f2b50825 57
55b402a0
MW
58 {hascontent}
59 <div class="boxesTop">
41ec911a
MW
60 <div class="boxContainer">
61 {content}
62 {if !$boxesTop|empty}
63 {@$boxesTop}
64 {/if}
65
66 {foreach from=$__wcf->getBoxHandler()->getBoxes('top') item=box}
67 {@$box->render()}
68 {/foreach}
69 {/content}
fe17bd5f 70 </div>
55b402a0
MW
71 </div>
72 {/hascontent}
73
956745ba 74 <section id="main" class="main" role="main"{if !$__mainItemScope|empty} {@$__mainItemScope}{/if}>
f6e330bf 75 <div class="layoutBoundary">
55b402a0 76 {hascontent}
e6e87e5b
AE
77 {if !$__sidebarLeftShow|isset}{assign var='__sidebarLeftShow' value='wcf.global.button.showSidebar'|language}{/if}
78 {if !$__sidebarLeftHide|isset}{assign var='__sidebarLeftHide' value='wcf.global.button.hideSidebar'|language}{/if}
79
80 <aside class="sidebar boxesSidebarLeft{if !$__sidebarLeftHasMenu|empty || $__wcf->getBoxHandler()->sidebarLeftHasMenu()} boxesSidebarLeftHasMenu{/if}" data-show-sidebar="{$__sidebarLeftShow}" data-hide-sidebar="{$__sidebarLeftHide}" data-show-navigation="{lang}wcf.global.button.showNavigation{/lang}" data-hide-navigation="{lang}wcf.global.button.hideNavigation{/lang}">
c734a302
MW
81 <div class="boxContainer">
82 {content}
c734a302
MW
83 {event name='boxesSidebarLeftTop'}
84
85 {* WCF2.1 Fallback *}
86 {if !$sidebar|empty}
87 {if !$sidebarOrientation|isset || $sidebarOrientation == 'left'}
88 {@$sidebar}
c5dd767e 89 {/if}
c734a302
MW
90 {/if}
91
92 {if !$sidebarLeft|empty}
93 {@$sidebarLeft}
94 {/if}
95
96 {foreach from=$__wcf->getBoxHandler()->getBoxes('sidebarLeft') item=box}
2cd54d7f 97 {@$box->render()}
c734a302 98 {/foreach}
c5dd767e 99
c734a302 100 {event name='boxesSidebarLeftBottom'}
c734a302 101 {/content}
fe17bd5f 102 </div>
55b402a0
MW
103 </aside>
104 {/hascontent}
cf1e012a
AE
105
106 <div id="content" class="content">
107 {if MODULE_WCF_AD && $__disableAds|empty}{@$__wcf->getAdHandler()->getAds('com.woltlab.wcf.header.content')}{/if}
dec50963 108
e3ec1a9d
MW
109 {if $__disableContentHeader|empty}
110 {if !$contentHeader|empty}
111 {@$contentHeader}
112 {else}
113 {if $contentTitle|empty}
4ad11e41 114 {if $__wcf->isLandingPage() && USE_PAGE_TITLE_ON_LANDING_PAGE}
e3ec1a9d
MW
115 {capture assign='contentTitle'}{PAGE_TITLE|language}{/capture}
116 {capture assign='contentDescription'}{PAGE_DESCRIPTION|language}{/capture}
117 {elseif $__wcf->getActivePage() != null && $__wcf->getActivePage()->getTitle()}
118 {capture assign='contentTitle'}{$__wcf->getActivePage()->getTitle()}{/capture}
c5dd767e 119 {/if}
e3ec1a9d 120 {/if}
c5dd767e 121
e3ec1a9d
MW
122 {if !$contentTitle|empty}
123 <header class="contentHeader">
124 <div class="contentHeaderTitle">
125 <h1 class="contentTitle">{@$contentTitle}</h1>
126 {if !$contentDescription|empty}<p class="contentHeaderDescription">{@$contentDescription}</p>{/if}
127 </div>
128
129 {hascontent}
130 <nav class="contentHeaderNavigation">
131 <ul>
132 {content}
133 {if !$contentHeaderNavigation|empty}{@$contentHeaderNavigation}{/if}
134
135 {event name='contentHeaderNavigation'}
136 {/content}
137 </ul>
138 </nav>
139 {/hascontent}
140 </header>
141 {/if}
ff9e3598 142 {/if}
3e93caf9
MW
143 {/if}
144
145 {include file='userNotice'}
146
55b402a0
MW
147 {hascontent}
148 <div class="boxesContentTop">
c734a302
MW
149 <div class="boxContainer">
150 {content}
950fbdf8
MW
151 {if !$boxesContentTop|empty}
152 {@$boxesContentTop}
153 {/if}
154
c734a302 155 {foreach from=$__wcf->getBoxHandler()->getBoxes('contentTop') item=box}
2cd54d7f 156 {@$box->render()}
c734a302
MW
157 {/foreach}
158 {/content}
c5dd767e 159 </div>
55b402a0
MW
160 </div>
161 {/hascontent}
162
cf1e012a 163 {event name='contents'}