`Element.scrollTo()` is not standardized
[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}" itemscope itemtype="http://schema.org/WebPage"{if !$canonicalURL|empty} itemid="{$canonicalURL}"{/if} data-template="{$templateName}" data-application="{$templateNameApplication}"{if $__wcf->getActivePage() != null} data-page-id="{@$__wcf->getActivePage()->pageID}" data-page-identifier="{$__wcf->getActivePage()->identifier}"{/if}>
25
26 <a id="top"></a>
27
28 <div id="pageContainer" class="pageContainer">
29 {event name='beforePageHeader'}
30
31 {include file='pageHeader'}
32
33 {event name='afterPageHeader'}
34
35 {hascontent}
36 <div class="boxesHeaderBoxes">
37 <div class="layoutBoundary">
38 <div class="boxContainer">
39 {content}
40 {foreach from=$__wcf->getBoxHandler()->getBoxes('headerBoxes') item=box}
41 {@$box->render()}
42 {/foreach}
43 {/content}
44 </div>
45 </div>
46 </div>
47 {/hascontent}
48
49 {include file='pageNavbarTop'}
50
51 {hascontent}
52 <div class="boxesTop">
53 <div class="boxContainer">
54 {content}
55 {if !$boxesTop|empty}
56 {@$boxesTop}
57 {/if}
58
59 {foreach from=$__wcf->getBoxHandler()->getBoxes('top') item=box}
60 {@$box->render()}
61 {/foreach}
62 {/content}
63 </div>
64 </div>
65 {/hascontent}
66
67 <section id="main" class="main" role="main"{if !$__mainItemScope|empty} {@$__mainItemScope}{/if}>
68 <div class="layoutBoundary">
69 {hascontent}
70 <aside class="sidebar boxesSidebarLeft">
71 <div class="boxContainer">
72 {content}
73 {event name='boxesSidebarLeftTop'}
74
75 {* WCF2.1 Fallback *}
76 {if !$sidebar|empty}
77 {if !$sidebarOrientation|isset || $sidebarOrientation == 'left'}
78 {@$sidebar}
79 {/if}
80 {/if}
81
82 {if !$sidebarLeft|empty}
83 {@$sidebarLeft}
84 {/if}
85
86 {foreach from=$__wcf->getBoxHandler()->getBoxes('sidebarLeft') item=box}
87 {@$box->render()}
88 {/foreach}
89
90 {event name='boxesSidebarLeftBottom'}
91 {/content}
92 </div>
93 </aside>
94 {/hascontent}
95
96 <div id="content" class="content">
97 {if MODULE_WCF_AD && $__disableAds|empty}{@$__wcf->getAdHandler()->getAds('com.woltlab.wcf.header.content')}{/if}
98
99 {if $__disableContentHeader|empty}
100 {if !$contentHeader|empty}
101 {@$contentHeader}
102 {else}
103 {if $contentTitle|empty}
104 {if $__wcf->isLandingPage() && USE_PAGE_TITLE_ON_LANDING_PAGE}
105 {capture assign='contentTitle'}{PAGE_TITLE|language}{/capture}
106 {capture assign='contentDescription'}{PAGE_DESCRIPTION|language}{/capture}
107 {elseif $__wcf->getActivePage() != null && $__wcf->getActivePage()->getTitle()}
108 {capture assign='contentTitle'}{$__wcf->getActivePage()->getTitle()}{/capture}
109 {/if}
110 {/if}
111
112 {if !$contentTitle|empty}
113 <header class="contentHeader">
114 <div class="contentHeaderTitle">
115 <h1 class="contentTitle">{@$contentTitle}</h1>
116 {if !$contentDescription|empty}<p class="contentHeaderDescription">{@$contentDescription}</p>{/if}
117 </div>
118
119 {hascontent}
120 <nav class="contentHeaderNavigation">
121 <ul>
122 {content}
123 {if !$contentHeaderNavigation|empty}{@$contentHeaderNavigation}{/if}
124
125 {event name='contentHeaderNavigation'}
126 {/content}
127 </ul>
128 </nav>
129 {/hascontent}
130 </header>
131 {/if}
132 {/if}
133 {/if}
134
135 {include file='userNotice'}
136
137 {hascontent}
138 <div class="boxesContentTop">
139 <div class="boxContainer">
140 {content}
141 {foreach from=$__wcf->getBoxHandler()->getBoxes('contentTop') item=box}
142 {@$box->render()}
143 {/foreach}
144 {/content}
145 </div>
146 </div>
147 {/hascontent}
148
149 {event name='contents'}