Merge remote-tracking branch 'refs/remotes/origin/3.0'
[GitHub/WoltLab/WCF.git] / com.woltlab.wcf / templates / header.tpl
1 {include file='documentHeader'}
2
3 <head>
4 {if !$pageTitle|isset}
5 {assign var='pageTitle' value=''}
6 {if (!$__wcf->isLandingPage() || !USE_PAGE_TITLE_ON_LANDING_PAGE) && $__wcf->getActivePage() != null && $__wcf->getActivePage()->getTitle()}
7 {capture assign='pageTitle'}{$__wcf->getActivePage()->getTitle()}{/capture}
8 {/if}
9 {/if}
10
11 <title>{if $pageTitle}{@$pageTitle} - {/if}{PAGE_TITLE|language}</title>
12
13 {include file='headInclude'}
14
15 {if !$canonicalURL|empty}
16 <link rel="canonical" href="{$canonicalURL}">
17 {/if}
18
19 {if !$headContent|empty}
20 {@$headContent}
21 {/if}
22 </head>
23
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}">
28
29 <a id="top"></a>
30
31 <div id="pageContainer" class="pageContainer">
32 {event name='beforePageHeader'}
33
34 {include file='pageHeader'}
35
36 {event name='afterPageHeader'}
37
38 {hascontent}
39 <div class="boxesHeaderBoxes">
40 <div class="layoutBoundary">
41 <div class="boxContainer">
42 {content}
43 {if !$headerBoxes|empty}
44 {@$headerBoxes}
45 {/if}
46
47 {foreach from=$__wcf->getBoxHandler()->getBoxes('headerBoxes') item=box}
48 {@$box->render()}
49 {/foreach}
50 {/content}
51 </div>
52 </div>
53 </div>
54 {/hascontent}
55
56 {include file='pageNavbarTop'}
57
58 {hascontent}
59 <div class="boxesTop">
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}
70 </div>
71 </div>
72 {/hascontent}
73
74 <section id="main" class="main" role="main"{if !$__mainItemScope|empty} {@$__mainItemScope}{/if}>
75 <div class="layoutBoundary">
76 {hascontent}
77 <aside class="sidebar boxesSidebarLeft{if !$__sidebarLeftHasMenu|empty || $__wcf->getBoxHandler()->sidebarLeftHasMenu()} boxesSidebarLeftHasMenu{/if}" data-show-sidebar="{lang}wcf.global.button.showSidebar{/lang}" data-hide-sidebar="{lang}wcf.global.button.hideSidebar{/lang}" data-show-navigation="{lang}wcf.global.button.showNavigation{/lang}" data-hide-navigation="{lang}wcf.global.button.hideNavigation{/lang}">
78 <div class="boxContainer">
79 {content}
80 {event name='boxesSidebarLeftTop'}
81
82 {* WCF2.1 Fallback *}
83 {if !$sidebar|empty}
84 {if !$sidebarOrientation|isset || $sidebarOrientation == 'left'}
85 {@$sidebar}
86 {/if}
87 {/if}
88
89 {if !$sidebarLeft|empty}
90 {@$sidebarLeft}
91 {/if}
92
93 {foreach from=$__wcf->getBoxHandler()->getBoxes('sidebarLeft') item=box}
94 {@$box->render()}
95 {/foreach}
96
97 {event name='boxesSidebarLeftBottom'}
98 {/content}
99 </div>
100 </aside>
101 {/hascontent}
102
103 <div id="content" class="content">
104 {if MODULE_WCF_AD && $__disableAds|empty}{@$__wcf->getAdHandler()->getAds('com.woltlab.wcf.header.content')}{/if}
105
106 {if $__disableContentHeader|empty}
107 {if !$contentHeader|empty}
108 {@$contentHeader}
109 {else}
110 {if $contentTitle|empty}
111 {if $__wcf->isLandingPage() && USE_PAGE_TITLE_ON_LANDING_PAGE}
112 {capture assign='contentTitle'}{PAGE_TITLE|language}{/capture}
113 {capture assign='contentDescription'}{PAGE_DESCRIPTION|language}{/capture}
114 {elseif $__wcf->getActivePage() != null && $__wcf->getActivePage()->getTitle()}
115 {capture assign='contentTitle'}{$__wcf->getActivePage()->getTitle()}{/capture}
116 {/if}
117 {/if}
118
119 {if !$contentTitle|empty}
120 <header class="contentHeader">
121 <div class="contentHeaderTitle">
122 <h1 class="contentTitle">{@$contentTitle}</h1>
123 {if !$contentDescription|empty}<p class="contentHeaderDescription">{@$contentDescription}</p>{/if}
124 </div>
125
126 {hascontent}
127 <nav class="contentHeaderNavigation">
128 <ul>
129 {content}
130 {if !$contentHeaderNavigation|empty}{@$contentHeaderNavigation}{/if}
131
132 {event name='contentHeaderNavigation'}
133 {/content}
134 </ul>
135 </nav>
136 {/hascontent}
137 </header>
138 {/if}
139 {/if}
140 {/if}
141
142 {include file='userNotice'}
143
144 {hascontent}
145 <div class="boxesContentTop">
146 <div class="boxContainer">
147 {content}
148 {if !$boxesContentTop|empty}
149 {@$boxesContentTop}
150 {/if}
151
152 {foreach from=$__wcf->getBoxHandler()->getBoxes('contentTop') item=box}
153 {@$box->render()}
154 {/foreach}
155 {/content}
156 </div>
157 </div>
158 {/hascontent}
159
160 {event name='contents'}