0 |
0 |
<?xml version="1.0" encoding="UTF-8"?><ROOT sv:name="jcr:root" xmlns:sv="http://www.jcp.org/jcr/sv/1.0"> |
|
1 |
<sitemap sv:name="sitemap"> |
|
2 |
<components sv:name="components"> |
|
3 |
<content sv:name="content"> |
|
4 |
<site sv:name="site"> |
|
5 |
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
|
6 |
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
|
7 |
<text sv:name="text" sv:type="String"> [#-- Include: Global --] |
|
8 |
[#include "/sitemap/macros/dialog.ftl"] |
|
9 |
[#assign caller = cmsfn.link(content)] |
|
10 |
|
|
11 |
[#-------------- WebSite --------------] |
|
12 |
|
|
13 |
<div class="pageframe"> |
|
14 |
[#assign nodesForPage = model.getSiteMapEntry('site')!] |
|
15 |
|
|
16 |
<table cellpadding="2" cellspacing="2" class="mgnlListHeaderBackground" style="width:100%"> |
|
17 |
<tr> |
|
18 |
<td><b>${i18n['edit.pagetitle']}</b></td> |
|
19 |
<td><b>${i18n['edit.url']}</b></td> |
|
20 |
<td><b>${i18n['edit.changefreq']}</b></td> |
|
21 |
<td><b>${i18n['edit.priority']}</b></td> |
|
22 |
<td></td> |
|
23 |
</tr> |
|
24 |
[#list nodesForPage as node] |
|
25 |
[#-- ****** define Style ****** --] |
|
26 |
[#assign style = "color:black;"] |
|
27 |
[#if node.styleAlert] |
|
28 |
[#assign style = "color:red;"] |
|
29 |
[/#if] |
|
30 |
<tr> |
|
31 |
<td style="${style}">${node.pageName}</td> |
|
32 |
<td style="${style}">${node.tab} ${node.loc}</td> |
|
33 |
<td style="${style}">${node.changefreq}</td> |
|
34 |
<td style="${style}">${node.priority}</td> |
|
35 |
<td width="80px"> |
|
36 |
[#-- Macro: Dialog --] |
|
37 |
[@dialog caller node.path "googleSiteMapTab" "website"/] |
|
38 |
</td> |
|
39 |
</tr> |
|
40 |
[/#list] |
|
41 |
</table> |
|
42 |
</div> |
|
43 |
</text> |
|
44 |
</site> |
|
45 |
<virtualUri sv:name="virtualUri"> |
|
46 |
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
|
47 |
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
|
48 |
<text sv:name="text" sv:type="String"> [#-- Include: Global --] |
|
49 |
[#include "/sitemap/macros/dialog.ftl"] |
|
50 |
[#assign caller = cmsfn.link(content)] |
|
51 |
|
|
52 |
[#-------------- VirtualUri --------------] |
|
53 |
<div class="pageframe"> |
|
54 |
[#assign nodesForVirtualUri = model.getSiteMapEntry('virtualUri')!] |
|
55 |
|
|
56 |
<table cellpadding="2" cellspacing="2" class="mgnlListHeaderBackground" style="width:100%"> |
|
57 |
<tr> |
|
58 |
<td><b>${i18n['edit.module']}</b></td> |
|
59 |
<td><b>${i18n['edit.from']}</b></td> |
|
60 |
<td><b>${i18n['edit.to']}</b></td> |
|
61 |
<td><b>${i18n['edit.changefreq']}</b></td> |
|
62 |
<td><b>${i18n['edit.priority']}</b></td> |
|
63 |
<td></td> |
|
64 |
</tr> |
|
65 |
[#list nodesForVirtualUri as node] |
|
66 |
[#-- ****** define Style ****** --] |
|
67 |
[#assign style = "color:black;"] |
|
68 |
[#if node.styleAlert] |
|
69 |
[#assign style = "color:red;"] |
|
70 |
[/#if] |
|
71 |
<tr> |
|
72 |
<td style="${style}">${node.path}</td> |
|
73 |
<td style="${style}">${node.from}</td> |
|
74 |
<td style="${style}">${node.to}</td> |
|
75 |
<td style="${style}">${node.changefreq}</td> |
|
76 |
<td style="${style}">${node.priority}</td> |
|
77 |
<td width="80px"> |
|
78 |
[#-- Macro: Dialog --] |
|
79 |
[@dialog caller node.path "googleVirtualUriMapTab" "config"/] |
|
80 |
</td> |
|
81 |
</tr> |
|
82 |
[/#list] |
|
83 |
</table> |
|
84 |
</div> |
|
85 |
</text> |
|
86 |
</virtualUri> |
|
87 |
</content> |
|
88 |
</components> |
|
89 |
<macros sv:name="macros"> |
|
90 |
<dialog sv:name="dialog"> |
|
91 |
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
|
92 |
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
|
93 |
<text sv:name="text" sv:type="String">[#-- Definition: Pagination --] |
|
94 |
[#macro dialog caller path dialogName workspace] |
|
95 |
<table |
|
96 |
onmousedown="mgnlMoveNodeEnd(this,'${caller}');" |
|
97 |
onmouseout="mgnlMoveNodeReset(this);" |
|
98 |
onmouseover="mgnlMoveNodeHigh(this);" |
|
99 |
class="mgnlControlBarSmall" id="${path}" cellspacing="0"> |
|
100 |
<tbody><tr><td class="mgnlBtnsLeft"> |
|
101 |
<span onmousedown="mgnlShiftPushButtonDown(this);" |
|
102 |
onmouseout="mgnlShiftPushButtonOut(this);" |
|
103 |
onclick="mgnlShiftPushButtonClick(this);mgnlOpenDialog('${path}','','','${dialogName}','${workspace}');" |
|
104 |
class="mgnlControlButtonSmall" |
|
105 |
style="background: transparent none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> |
|
106 |
${i18n['edit.dialog']} |
|
107 |
</span> |
|
108 |
</td></tr></tbody> |
|
109 |
</table> |
|
110 |
[/#macro] |
|
111 |
</text> |
|
112 |
</dialog> |
|
113 |
</macros> |
|
114 |
<pages sv:name="pages"> |
|
115 |
<main sv:name="main"> |
|
116 |
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
|
117 |
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
|
118 |
<text sv:name="text" sv:type="String">[#-- Assigns: Get Content --] |
|
119 |
[#assign extension = ctx.getAggregationState().getExtension()!] |
|
120 |
|
|
121 |
[#-- Create XML --] |
|
122 |
[#if extension = "xml"] |
|
123 |
[#include "/sitemap/pages/mainXml.ftl" ] |
|
124 |
[#else] |
|
125 |
[#include "/sitemap/pages/mainConfiguration.ftl" ] |
|
126 |
[/#if] |
|
127 |
</text> |
|
128 |
</main> |
|
129 |
<mainConfiguration sv:name="mainConfiguration"> |
|
130 |
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
|
131 |
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
|
132 |
<text sv:name="text" sv:type="String"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
|
133 |
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
|
134 |
|
|
135 |
<head> |
|
136 |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> |
|
137 |
[@cms.init /] |
|
138 |
<title>${content.title!content.@name}</title> |
|
139 |
</head> |
|
140 |
|
|
141 |
<body id="mgnl"> |
|
142 |
|
|
143 |
[@cms.area name="content"/] |
|
144 |
|
|
145 |
</body> |
|
146 |
</html> |
|
147 |
</text> |
|
148 |
</mainConfiguration> |
|
149 |
<mainXml sv:name="mainXml"> |
|
150 |
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
|
151 |
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
|
152 |
<text sv:name="text" sv:type="String">[#-- Assigns: Get Content --] |
|
153 |
[#assign nodes = model.getSiteMapBeans()!] |
|
154 |
|
|
155 |
[#-- Create XML --] |
|
156 |
[#-- content.sitemapType has a default value; if it's not set from older pages, standard-sitemap-xml is rendered --] |
|
157 |
|
|
158 |
[#if "mobile"==content.sitemapType] |
|
159 |
[#--mobile-sitemap --] |
|
160 |
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0"> |
|
161 |
[#list nodes as node] |
|
162 |
<url> |
|
163 |
<lastmod>${node.lastmod}</lastmod> |
|
164 |
<loc>${node.loc}</loc> |
|
165 |
<changefreq>${node.changefreq}</changefreq> |
|
166 |
<priority>${node.priority}</priority> |
|
167 |
<mobile:mobile/> |
|
168 |
</url> |
|
169 |
[/#list] |
|
170 |
</urlset> |
|
171 |
[#else] |
|
172 |
[#--standard-sitemap --] |
|
173 |
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> |
|
174 |
[#list nodes as node] |
|
175 |
<url> |
|
176 |
<lastmod>${node.lastmod}</lastmod> |
|
177 |
<loc>${node.loc}</loc> |
|
178 |
<changefreq>${node.changefreq}</changefreq> |
|
179 |
<priority>${node.priority}</priority> |
|
180 |
</url> |
|
181 |
[/#list] |
|
182 |
</urlset> |
|
183 |
|
|
184 |
[/#if] |
|
185 |
|
|
186 |
|
|
187 |
|
|
188 |
</text> |
|
189 |
</mainXml> |
|
190 |
</pages> |
|
191 |
</sitemap> |
1 |
192 |
<templating_kit sv:name="templating-kit"> |
2 |
193 |
<components sv:name="components"> |
3 |
194 |
<content sv:name="content"> |
⋮ | ⋮ | |
3299 |
|
<paragraphs sv:name="paragraphs"> |
3300 |
|
<content sv:name="content"> |
3301 |
|
<DownloadList sv:name="DownloadList"> |
3302 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
3303 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
3304 |
|
<text sv:name="text" sv:type="String">[#-- @ftlvariable name="model" type="org.vtvast.templating.DownloadListModel" --] |
3305 |
|
|
3306 |
|
[#assign headingLevel = def.headingLevel] |
3307 |
|
|
3308 |
|
[#setting url_escaping_charset='ISO-8859-1'] |
3309 |
|
[#assign cms = JspTaglibs["cms-taglib"]] |
3310 |
|
|
3311 |
|
[#assign result = model.result!] |
3312 |
|
[#assign hasResult = result?has_content] |
3313 |
|
|
3314 |
|
[#assign documentList = model.documentList!] |
3315 |
|
[#assign hasTitle = content.title?has_content] |
3316 |
|
[#if hasTitle] |
3317 |
|
[#assign documentTitle = content.title] |
3318 |
|
[/#if] |
3319 |
|
|
3320 |
|
[#--<!-- <a href="${docLink}" class="mime_icon">--] |
3321 |
|
[#--<img src="${docIconImgSrc}" />--] |
3322 |
|
[#--</a>--] |
3323 |
|
[#--<a href="${docLink}" class="document_link">--] |
3324 |
|
[#--${docSubject}--] |
3325 |
|
[#--</a>--] |
3326 |
|
[#--[#if hasDescription]--] |
3327 |
|
[#--<div class="file_description">${docDescription}</div>--] |
3328 |
|
[#--[/#if]--] |
3329 |
|
[#---->--] |
3330 |
|
[#--[#macro assignItemValues item]--] |
3331 |
|
[#--[#assign hasName = item.name?has_content]--] |
3332 |
|
[#--[#assign hasLogo = item.logo?has_content]--] |
3333 |
|
[#--[#assign hasDescription = item.text?has_content]--] |
3334 |
|
[#--[#assign hasAddress = item.streetAddress?has_content || item.zipCode?has_content || item.city?has_content ]--] |
3335 |
|
[#--[#assign hasTelephone = item.phoneNumber?has_content]--] |
3336 |
|
[#--[#assign hasState = item.state?has_content]--] |
3337 |
|
[#--[/#macro]--] |
3338 |
|
[#macro assignDocValuesAndStyle document rowIndex] |
3339 |
|
[@assignDocumentValues document /] |
3340 |
|
[@assignStyle rowIndex /] |
3341 |
|
[/#macro] |
3342 |
|
|
3343 |
|
[#macro assignDocumentValues document] |
3344 |
|
[#-- @ftlvariable name="document" type="info.magnolia.module.dms.beans.Document" --] |
3345 |
|
[#-- @ftlvariable name="ctx" type="info.magnolia.context.WebContext" --] |
3346 |
|
[#assign docLink = ctx.contextPath + '/dms' + document.link] |
3347 |
|
[#assign docSubject = document.teaserTitle!document.title!document.@name] |
3348 |
|
[#assign hasDescription = document.node.description?has_content] |
3349 |
|
[#if hasDescription] |
3350 |
|
[#assign docDescription = document.node.description] |
3351 |
|
[/#if] |
3352 |
|
[#assign docSize = document.fileSize] |
3353 |
|
[#assign docIconImgSrc = ctx.contextPath + document.mimeTypeIcon] |
3354 |
|
[/#macro] |
3355 |
|
|
3356 |
|
[#macro assignStyle rowIndex] |
3357 |
|
[#if ((rowIndex % 2) == 0)] |
3358 |
|
[#assign docDescriptionClass = 'even_row' /] |
3359 |
|
[#else] |
3360 |
|
[#assign docDescriptionClass = 'odd_row' /] |
3361 |
|
[/#if] |
3362 |
|
[/#macro] |
3363 |
|
<div class="file_list_div" style="clear:both;"> |
3364 |
|
[@cms.editBar editLabel="Edit Download List" moveLabel="Move" deleteLabel="Delete" /] |
3365 |
|
[#if hasTitle]<h2>${documentTitle}</h2>[/#if] |
3366 |
|
<ul class="file_list"> |
3367 |
|
[#list documentList as document] |
3368 |
|
[@assignDocValuesAndStyle document=document rowIndex=document_index /] |
3369 |
|
<li class="file_listing ${docDescriptionClass}"> |
3370 |
|
<a href="${docLink}" class="mime_icon"> |
3371 |
|
<img src="${docIconImgSrc}" /> |
3372 |
|
</a> |
3373 |
|
<a href="${docLink}" class="document_link"> |
3374 |
|
${docSubject} |
3375 |
|
</a> |
3376 |
|
<div class="file_size">(${document.fileExtension?upper_case}, ${(document.fileSize / 1024)?string("0")} KB)</div> |
3377 |
|
[#if hasDescription] |
3378 |
|
<div class="file_description">${docDescription}</div> |
3379 |
|
[/#if] |
3380 |
|
|
3381 |
|
</li> |
3382 |
|
[/#list] |
3383 |
|
</ul> |
3384 |
|
</div></text> |
3385 |
|
</DownloadList> |
3386 |
|
<flash sv:name="flash"> |
3387 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
3388 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
3389 |
|
<text sv:name="text" sv:type="String"> |
3390 |
|
|
3391 |
|
[#assign cms=JspTaglibs["cms-taglib"]] |
3392 |
|
|
3393 |
|
[#if mgnl.editMode] |
3394 |
|
<div style="clear:both;"> |
3395 |
|
[@cms.editBar /] |
3396 |
|
</div> |
3397 |
|
[/#if] |
3398 |
|
|
3399 |
|
<div class="flash"> |
3400 |
|
<a href="${model.link!}"></a> |
3401 |
|
</div><!-- end flashcontent --> |
3402 |
|
</text> |
3403 |
|
</flash> |
3404 |
|
<html sv:name="html"> |
3405 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
3406 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
3407 |
|
<text sv:name="text" sv:type="String">[#assign cms=JspTaglibs["cms-taglib"]] |
3408 |
|
|
3409 |
|
|
3410 |
|
[#if mgnl.editMode] |
3411 |
|
<div style="clear:both;"> |
3412 |
|
[@cms.editBar /] |
3413 |
|
</div> |
3414 |
|
[/#if] |
3415 |
|
|
3416 |
|
|
3417 |
|
[#if content.editHTML?has_content] |
3418 |
|
${stk.decode(content).editHTML} |
3419 |
|
[/#if] |
3420 |
|
|
3421 |
|
</text> |
3422 |
|
</html> |
3423 |
|
<linkList sv:name="linkList"> |
3424 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
3425 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
3426 |
|
<text sv:name="text" sv:type="String">[#assign cms=JspTaglibs["cms-taglib"]] |
3427 |
|
|
3428 |
|
[#include "/templating-kit/paragraphs/macros/tocMarkup.ftl"/] |
3429 |
|
|
3430 |
|
[@tocMarkup model content /] |
3431 |
|
|
3432 |
|
<div class="links"> |
3433 |
|
|
3434 |
|
[#if mgnl.editMode] |
3435 |
|
<div style="clear:both;"> |
3436 |
|
[@cms.editBar /] |
3437 |
|
</div> |
3438 |
|
[/#if] |
3439 |
|
|
3440 |
|
[#if content.subtitle?has_content]<h2 ${id}>${content.subtitle}</h2>[/#if] |
3441 |
|
<ul> |
3442 |
|
[@cms.contentNodeIterator contentNodeCollectionName="linkList"] |
3443 |
|
[@cms.includeTemplate /] |
3444 |
|
[/@cms.contentNodeIterator] |
3445 |
|
|
3446 |
|
[#if mgnl.editMode] |
3447 |
|
<li> |
3448 |
|
<div style="float:right;height:20px;width:103px">[@cms.newBar contentNodeCollectionName="linkList" newLabel="${i18n['link.newLabel']}" paragraph="stkInternalLink,stkExternalLink,stkDownloadLink" /]</div> |
3449 |
|
<div style="clear:both;"> </div> |
3450 |
|
</li> |
3451 |
|
[/#if] |
3452 |
|
</ul> |
3453 |
|
</div><!-- end links --> |
3454 |
|
|
3455 |
|
</text> |
3456 |
|
</linkList> |
3457 |
|
<quotedText sv:name="quotedText"> |
3458 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
3459 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
3460 |
|
<text sv:name="text" sv:type="String">[#assign cms=JspTaglibs["cms-taglib"]] |
3461 |
|
|
3462 |
|
[#if mgnl.editMode] |
3463 |
|
<div style="clear:both;"> |
3464 |
|
[@cms.editBar /] |
3465 |
|
</div> |
3466 |
|
[/#if] |
3467 |
|
|
3468 |
|
|
3469 |
|
[#if content.text?has_content] |
3470 |
|
<blockquote> |
3471 |
|
${stk.decode(content).text} |
3472 |
|
[#if content.author?has_content] |
3473 |
|
<p> |
3474 |
|
<cite>${content.author}</cite> |
3475 |
|
</p> |
3476 |
|
[/#if] |
3477 |
|
</blockquote> |
3478 |
|
[/#if] |
3479 |
|
|
3480 |
|
</text> |
3481 |
|
</quotedText> |
3482 |
|
<textImage sv:name="textImage"> |
3483 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
3484 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
3485 |
|
<text sv:name="text" sv:type="String">[#assign cms=JspTaglibs["cms-taglib"]] |
3486 |
|
[#include "/templating-kit/paragraphs/macros/image.ftl"/] |
3487 |
|
[#include "/templating-kit/paragraphs/macros/tocMarkup.ftl"/] |
3488 |
|
|
3489 |
|
[@tocMarkup model content /] |
3490 |
|
|
3491 |
|
[#if mgnl.editMode] |
3492 |
|
<div style="clear:both;"> |
3493 |
|
[@cms.editBar /] |
3494 |
|
</div> |
3495 |
|
[/#if] |
3496 |
|
|
3497 |
|
[#if content.subtitle?has_content]<h2 ${id}>${content.subtitle}</h2>[/#if] |
3498 |
|
|
3499 |
|
[@image image=model.image! imageClass=model.imageClass/] |
3500 |
|
|
3501 |
|
[#if content.text?has_content] |
3502 |
|
${stk.decode(content).text} |
3503 |
|
[/#if] |
3504 |
|
</text> |
3505 |
|
</textImage> |
3506 |
|
<video sv:name="video"> |
3507 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
3508 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
3509 |
|
<text sv:name="text" sv:type="String">[#assign cms=JspTaglibs["cms-taglib"]] |
3510 |
|
|
3511 |
|
[#if mgnl.editMode] |
3512 |
|
<div style="clear:both;"> |
3513 |
|
[@cms.editBar /] |
3514 |
|
</div> |
3515 |
|
[/#if] |
3516 |
|
|
3517 |
|
[#if content.width?has_content ] |
3518 |
|
[#assign style = "width:${content.width}px;"] |
3519 |
|
[/#if] |
3520 |
|
|
3521 |
|
[#if content.height?has_content ] |
3522 |
|
[#assign style = "${style!} height:${content.height}px;"] |
3523 |
|
[/#if] |
3524 |
|
[#-- FIXME: we should not add the clear both here but into the css --] |
3525 |
|
<div class="video" ${mgnl.createAttribute('style', (style!) + "clear:both;")} > |
3526 |
|
<a href="${stk.getAssetLink(content, 'video')!}"></a> |
3527 |
|
</div> |
3528 |
|
</text> |
3529 |
|
</video> |
3530 |
|
</content> |
3531 |
|
<features sv:name="features"> |
3532 |
|
<calendar sv:name="calendar"> |
3533 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
3534 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
3535 |
|
<text sv:name="text" sv:type="String"> |
3536 |
|
|
3537 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
3538 |
|
|
3539 |
|
[#-- Include: Global --] |
3540 |
|
[#include "../teasers/init.inc.ftl"] |
3541 |
|
|
3542 |
|
[#-- Assigns: General --] |
3543 |
|
[#assign cms=JspTaglibs["cms-taglib"]] |
3544 |
|
|
3545 |
|
[#-------------- RENDERING PART --------------] |
3546 |
|
|
3547 |
|
[#-- Rendering: Latest Events --] |
3548 |
|
|
3549 |
|
<div class="${divClass}" ${divID}> |
3550 |
|
[@cms.editBar /] |
3551 |
|
|
3552 |
|
<${headingLevel}>${model.minDate?string("MMMM yyyy")}</${headingLevel}> |
3553 |
|
|
3554 |
|
<table summary="Calendar" cellspacing="0"> |
3555 |
|
<thead> |
3556 |
|
<tr> |
3557 |
|
<th class="cw"></th> |
3558 |
|
[#list 1 .. 7 as y] |
3559 |
|
[#assign date = model.getCalendarItem(1,y).date] |
3560 |
|
[#if y == 6] |
3561 |
|
[#assign cssClass = "sat"] |
3562 |
|
[#elseif y == 7] |
3563 |
|
[#assign cssClass = "sun"] |
3564 |
|
[/#if] |
3565 |
|
<th ${mgnl.createAttribute('class', cssClass)}><abbr title="${date?string('EEEE')}">${date?string('EE')?substring(0,2)}</abbr></th> |
3566 |
|
[/#list] |
3567 |
|
</tr> |
3568 |
|
</thead> |
3569 |
|
<tbody> |
3570 |
|
[#list 1 .. model.weeksInMonth as x] |
3571 |
|
<tr> |
3572 |
|
<th class="cw">${model.getCalendarItem(x, 1).week}</th> |
3573 |
|
[#list 1 .. 7 as y] |
3574 |
|
[#assign item = model.getCalendarItem(x, y)] |
3575 |
|
<td ${mgnl.createAttribute("class", item.cssClass)}> |
3576 |
|
[#if item.visible] |
3577 |
|
[#if item.link??] |
3578 |
|
<a href="${item.link}">${item.day}</td> |
3579 |
|
[#else] |
3580 |
|
${item.day} |
3581 |
|
[/#if] |
3582 |
|
[/#if] |
3583 |
|
[/#list] |
3584 |
|
</tr> |
3585 |
|
[/#list] |
3586 |
|
</tbody> |
3587 |
|
</table> |
3588 |
|
</div><!-- .box #calendar --> |
3589 |
|
</text> |
3590 |
|
</calendar> |
3591 |
|
<comments sv:name="comments"> |
3592 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
3593 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
3594 |
|
<text sv:name="text" sv:type="String">[#assign cms=JspTaglibs["cms-taglib"]] |
3595 |
|
<div id="comments"> |
3596 |
|
[#if model.parent.def.mainArea.comments.intenseDebateId?has_content] |
3597 |
|
[#if mgnl.editMode] |
3598 |
|
<div style="clear:both;"> |
3599 |
|
[@cms.editBar moveLabel="" deleteLabel="${i18n['comments.deleteLabel']}"/] |
3600 |
|
</div> |
3601 |
|
[/#if] |
3602 |
|
<script> |
3603 |
|
var idcomments_acct = '${model.parent.def.mainArea.comments.intenseDebateId}'; |
3604 |
|
var idcomments_post_id; |
3605 |
|
var idcomments_post_url; |
3606 |
|
</script> |
3607 |
|
<span id="IDCommentsPostTitle" style="display:none"></span> |
3608 |
|
<script type='text/javascript' src='http://www.intensedebate.com/js/genericCommentWrapperV2.js'></script> |
3609 |
|
[#else] |
3610 |
|
<div style="clear:both;"> |
3611 |
|
[#if mgnl.editMode] |
3612 |
|
[@cms.editBar moveLabel="" deleteLabel="${i18n['comments.deleteLabel']}"/] |
3613 |
|
[/#if] |
3614 |
|
<p>${i18n['comments.setAcct']}</p> |
3615 |
|
</div> |
3616 |
|
[/#if] |
3617 |
|
</div> |
3618 |
|
</text> |
3619 |
|
</comments> |
3620 |
|
<eventsOverview sv:name="eventsOverview"> |
3621 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
3622 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
3623 |
|
<text sv:name="text" sv:type="String"> |
3624 |
|
|
3625 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
3626 |
|
|
3627 |
|
[#-- Include: Global --] |
3628 |
|
[#include "../teasers/init.inc.ftl"] |
3629 |
|
[#include "../macros/pagination.ftl"] |
3630 |
|
|
3631 |
|
[#-- Assigns: General --] |
3632 |
|
[#assign cms=JspTaglibs["cms-taglib"]] |
3633 |
|
|
3634 |
|
[#-- Assigns: Get and check Latest Events --] |
3635 |
|
[#assign pager = model.pager] |
3636 |
|
[#assign eventsList = pager.pageItems!] |
3637 |
|
[#assign hasEventsList = eventsList?has_content] |
3638 |
|
|
3639 |
|
[#-- Assigns: For subtitle containing ${timePeriod} entered by the used in the dialog --] |
3640 |
|
[#assign timePeriod] |
3641 |
|
[#if ctx.date??] |
3642 |
|
${model.minDate?date?string.long} |
3643 |
|
[#else] |
3644 |
|
${model.minDate?string('MMMM')} |
3645 |
|
[/#if] |
3646 |
|
[/#assign] |
3647 |
|
[#assign subtitle = ('"'+(content.subtitle!)+'"')?eval] |
3648 |
|
|
3649 |
|
[#-- Assigns: Macro for Item iteration --] |
3650 |
|
[#macro assignItemValues item] |
3651 |
|
[#-- Assigns: Get Content from List Item--] |
3652 |
|
[#assign itemTitle = item.title!item.@name] |
3653 |
|
[#assign itemText = stk.abbreviateString(item.abstract!, 100)] |
3654 |
|
[#assign itemLink = mgnl.createLink(item)!] |
3655 |
|
[#assign itemDate = item.date!] |
3656 |
|
[#assign itemLocation = item.location!] |
3657 |
|
|
3658 |
|
[#-- Assigns: Is Content Available of Item--] |
3659 |
|
[#assign hasText = itemText?has_content] |
3660 |
|
[#assign hasDate = itemDate?has_content] |
3661 |
|
[#assign hasLocation = itemLocation?has_content] |
3662 |
|
[#assign showText = hasText && content.showAbstract] |
3663 |
|
[/#macro] |
3664 |
|
|
3665 |
|
[#-------------- RENDERING PART --------------] |
3666 |
|
|
3667 |
|
[#-- Rendering: Latest Events --] |
3668 |
|
<div class="${divClass}" ${divID}> |
3669 |
|
[@cms.editBar editLabel="${i18n['eventsOverview.editLabel.paragraph']}" moveLabel="" deleteLabel="" /] |
3670 |
|
|
3671 |
|
<${headingLevel}>${subtitle}</${headingLevel}> |
3672 |
|
|
3673 |
|
<div id="event-pager"> |
3674 |
|
<h5>${i18n['eventsOverview.eventPager.title']}</h5> |
3675 |
|
|
3676 |
|
<ul> |
3677 |
|
<li class="prev"><a href="${model.prevLink.href}" title="${i18n['eventsOverview.eventPager.prevMonth']}">${model.prevLink.title}</a></li> |
3678 |
|
<li class="next"><a href="${model.nextLink.href}" title="${i18n['eventsOverview.eventPager.nextMonth']}">${model.nextLink.title}</a></li> |
3679 |
|
</ul> |
3680 |
|
</div><!-- #event-pager --> |
3681 |
|
|
3682 |
|
[#-- Macro: Pager --] |
3683 |
|
[@pagination pager "top" /] |
3684 |
|
|
3685 |
|
[#if hasEventsList] |
3686 |
|
<ul> |
3687 |
|
[#list eventsList as item] |
3688 |
|
[#-- Macro: Item Assigns --] |
3689 |
|
[@assignItemValues item=item/] |
3690 |
|
|
3691 |
|
[#-- Rendering: List Item rendering --] |
3692 |
|
<li> |
3693 |
|
[#if hasDate] |
3694 |
|
<div class="date"> |
3695 |
|
<span class="month"><abbr title="${itemDate?string("MMMM")}">${itemDate?string("MMM")}</abbr></span> |
3696 |
|
<span class="day">${itemDate?string("d")}<span>.</span></span> |
3697 |
|
</div> |
3698 |
|
[/#if] |
3699 |
|
|
3700 |
|
<h3> |
3701 |
|
<a href="${itemLink}">${itemTitle}</a> |
3702 |
|
</h3> |
3703 |
|
|
3704 |
|
[#if hasLocation || hasDate || showText] |
3705 |
|
<ul class="event-data"> |
3706 |
|
[#if hasLocation] |
3707 |
|
<li class="location">${itemLocation}</li> |
3708 |
|
[/#if] |
3709 |
|
[#if hasDate] |
3710 |
|
<li class="time">${itemDate?time?string.short}</li> |
3711 |
|
[/#if] |
3712 |
|
[#if showText] |
3713 |
|
<li class="organizer">${itemText}</li> |
3714 |
|
[/#if] |
3715 |
|
</ul> |
3716 |
|
[/#if] |
3717 |
|
</li> |
3718 |
|
[/#list] |
3719 |
|
</ul> |
3720 |
|
[#else] |
3721 |
|
<ul> |
3722 |
|
<p>${i18n['eventsList.noResults']}</p> |
3723 |
|
</ul> |
3724 |
|
[/#if] |
3725 |
|
</div><!-- end ${divClass} --> |
3726 |
|
[#-- Macro: Pager --] |
3727 |
|
[@pagination pager "bottom"/] |
3728 |
|
</text> |
3729 |
|
</eventsOverview> |
3730 |
|
<faq sv:name="faq"> |
3731 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
3732 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
3733 |
|
<text sv:name="text" sv:type="String"> |
3734 |
|
|
3735 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
3736 |
|
|
3737 |
|
[#-- Assigns: General --] |
3738 |
|
[#assign cms=JspTaglibs["cms-taglib"]] |
3739 |
|
|
3740 |
|
[#-- Assigns: Get Content --] |
3741 |
|
[#assign divClass = def.divClass!] |
3742 |
|
[#assign useIndex = content.useIndex!false] |
3743 |
|
[#assign indexString = content.indexString!] |
3744 |
|
|
3745 |
|
|
3746 |
|
|
3747 |
|
[#-------------- RENDERING PART --------------] |
3748 |
|
|
3749 |
|
[#-- Rendering: Finger Tabbed Teaser --] |
3750 |
|
<div class="${divClass}"> |
3751 |
|
[@cms.editBar editLabel="${i18n['faq.editLabel.paragraph']}" moveLabel="" deleteLabel="" /] |
3752 |
|
|
3753 |
|
<ul> |
3754 |
|
[#assign index=1] |
3755 |
|
[@cms.contentNodeIterator contentNodeCollectionName="faqItems"] |
3756 |
|
<li> |
3757 |
|
[@cms.includeTemplate] |
3758 |
|
[@cms.attribute name="indexString" value=indexString /] |
3759 |
|
[@cms.attribute name="useIndex" value=useIndex /] |
3760 |
|
[@cms.attribute name="index" value=index /] |
3761 |
|
[/@cms.includeTemplate] |
3762 |
|
[#assign index=index+1] |
3763 |
|
</li> |
3764 |
|
[/@cms.contentNodeIterator] |
3765 |
|
|
3766 |
|
[#if mgnl.editMode] |
3767 |
|
<li>[@cms.newBar contentNodeCollectionName="faqItems" newLabel="${i18n['faq.newLabel']}" paragraph="${def.subParagraph}" /]</li> |
3768 |
|
[/#if] |
3769 |
|
</ul> |
3770 |
|
</div><!-- end ${divClass} --> |
3771 |
|
</text> |
3772 |
|
</faq> |
3773 |
|
<faqItem sv:name="faqItem"> |
3774 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
3775 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
3776 |
|
<text sv:name="text" sv:type="String"> |
3777 |
|
|
3778 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
3779 |
|
|
3780 |
|
[#include "/templating-kit/paragraphs/macros/image.ftl"/] |
3781 |
|
|
3782 |
|
[#-- Assigns: General --] |
3783 |
|
[#assign cms = JspTaglibs["cms-taglib"]] |
3784 |
|
|
3785 |
|
[#-- Assigns: Get Content --] |
3786 |
|
[#assign title = content.subtitle!] |
3787 |
|
[#assign headingLevel = def.headingLevel!] |
3788 |
|
[#assign text = stk.decode(content).text!] |
3789 |
|
[#assign index = ctx.index] |
3790 |
|
[#assign useIndex = ctx.useIndex!] |
3791 |
|
[#assign indexString = ('"'+(ctx.indexString!)+'"')?eval] |
3792 |
|
[#assign itemID = def.divIDPrefix+"-"+index] |
3793 |
|
[#assign divID = def.divID] |
3794 |
|
|
3795 |
|
[#-- Assigns: Is Content Available --] |
3796 |
|
[#assign hasText = text?has_content] |
3797 |
|
|
3798 |
|
[#-------------- RENDERING PART --------------] |
3799 |
|
|
3800 |
|
[#-- Rendering: FAQ item --] |
3801 |
|
|
3802 |
|
<${headingLevel}> |
3803 |
|
<a href="#${itemID}"> |
3804 |
|
[#if useIndex] ${indexString} [/#if] |
3805 |
|
${title} |
3806 |
|
</a> |
3807 |
|
</${headingLevel}> |
3808 |
|
<div id="${divID}"> |
3809 |
|
<div id="${itemID}"> |
3810 |
|
[@cms.editBar editLabel="${i18n['faqItem.editLabel.paragraph']}"/] |
3811 |
|
|
3812 |
|
[@image image=model.image! imageClass=model.imageClass/] |
3813 |
|
|
3814 |
|
[#if hasText] |
3815 |
|
${text} |
3816 |
|
[/#if] |
3817 |
|
</div> |
3818 |
|
</div><!-- end ${divID} --> |
3819 |
|
|
3820 |
|
</text> |
3821 |
|
</faqItem> |
3822 |
|
<glossary sv:name="glossary"> |
3823 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
3824 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
3825 |
|
<text sv:name="text" sv:type="String"> |
3826 |
|
|
3827 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
3828 |
|
|
3829 |
|
[#-- Assigns: General --] |
3830 |
|
[#assign cms=JspTaglibs["cms-taglib"]] |
3831 |
|
|
3832 |
|
[#-- Assigns: Template rendering all terms per letter --] |
3833 |
|
[#include "glossaryTermsPerLetter.ftl"] |
3834 |
|
|
3835 |
|
[#-- Assigns: Get Content --] |
3836 |
|
[#assign indexTitle = content.subtitle!] |
3837 |
|
|
3838 |
|
[#-- Assigns: Is Content Available --] |
3839 |
|
[#assign hasIndexTitle = indexTitle?has_content] |
3840 |
|
|
3841 |
|
|
3842 |
|
|
3843 |
|
[#-------------- RENDERING PART --------------] |
3844 |
|
|
3845 |
|
[@cms.editBar editLabel="${i18n['glossary.editLabel.paragraph']}" moveLabel="" deleteLabel="" /] |
3846 |
|
|
3847 |
|
[#-- Rendering: Glossary Index--] |
3848 |
|
<div id="glossary-index"> |
3849 |
|
[#if hasIndexTitle]<h3>${indexTitle}</h3>[/#if] |
3850 |
|
<ul> |
3851 |
|
[#list model.root.content?children as letter] |
3852 |
|
[#if letter?node_type == "mgnl:content" && letter.metaData.template == "stkGlossaryLetter"] |
3853 |
|
[#if letter?children?has_content] |
3854 |
|
<li><a href="#letter-${letter.@name}">${letter.@name}</a></li> |
3855 |
|
[#else] |
3856 |
|
<li><span>${letter.@name}</span></li> |
3857 |
|
[/#if] |
3858 |
|
[/#if] |
3859 |
|
[/#list] |
3860 |
|
</ul> |
3861 |
|
</div><!-- end glossary-index --> |
3862 |
|
|
3863 |
|
|
3864 |
|
[#-- Rendering: Glossary all letters; macro rendering all terms per letter--] |
3865 |
|
[#list model.root.content?children as letter] |
3866 |
|
[#if letter?node_type == "mgnl:content" && letter.metaData.template == "stkGlossaryLetter"] |
3867 |
|
[#if letter?children?has_content] |
3868 |
|
<div class="glossary-box" id="letter-${letter.@name?lower_case}"> |
3869 |
|
<h2>${letter.@name?upper_case}</h2> |
3870 |
|
|
3871 |
|
[@glossaryTermsPerLetter letter=letter maxTerms=content.maxTermsPerLetter!10000000/] |
3872 |
|
|
3873 |
|
</div><!-- end glossary-box id="letter-${letter.@name?lower_case}" --> |
3874 |
|
[/#if] |
3875 |
|
[/#if] |
3876 |
|
[/#list] |
3877 |
|
</text> |
3878 |
|
</glossary> |
3879 |
|
<glossaryLetter sv:name="glossaryLetter"> |
3880 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
3881 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
3882 |
|
<text sv:name="text" sv:type="String"> |
3883 |
|
|
3884 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
3885 |
|
|
3886 |
|
[#-- Assigns: General --] |
3887 |
|
[#assign cms=JspTaglibs["cms-taglib"]] |
3888 |
|
|
3889 |
|
[#-- Assigns: Template rendering all terms per letter --] |
3890 |
|
[#include "glossaryTermsPerLetter.ftl"] |
3891 |
|
|
3892 |
|
[#-- Assigns: Get Content --] |
3893 |
|
[#assign parentTitle = model.root.content?parent.title!] |
3894 |
|
[#assign indexTitle = mgnl.inherit(content).subtitle!] |
3895 |
|
[#assign actualLetter = model.root.content] |
3896 |
|
|
3897 |
|
[#-- Assigns: Is Content Available --] |
3898 |
|
[#assign hasParentTitle = parentTitle?has_content] |
3899 |
|
[#assign hasIndexTitle = indexTitle?has_content] |
3900 |
|
|
3901 |
|
|
3902 |
|
|
3903 |
|
[#-------------- RENDERING PART --------------] |
3904 |
|
[#if hasParentTitle]<h1>${parentTitle}</h1>[/#if] |
3905 |
|
|
3906 |
|
[@cms.editBar editLabel="${i18n['glossary.editLabel.paragraph']}" moveLabel="" deleteLabel="" /] |
3907 |
|
|
3908 |
|
[#-- Rendering: Glossary Index--] |
3909 |
|
<div id="glossary-index"> |
3910 |
|
[#if hasIndexTitle]<h3>${indexTitle}</h3>[/#if] |
3911 |
|
<ul> |
3912 |
|
[#list model.root.content?parent?children as letter] |
3913 |
|
[#if letter?node_type == "mgnl:content" && letter.metaData.template == "stkGlossaryLetter"] |
3914 |
|
[#if letter?children?has_content] |
3915 |
|
<li><a href="${mgnl.createLink(letter)}">${letter.@name}</a></li> |
3916 |
|
[#else] |
3917 |
|
<li><span>${letter.@name}</span></li> |
3918 |
|
[/#if] |
3919 |
|
[/#if] |
3920 |
|
[/#list] |
3921 |
|
</ul> |
3922 |
|
</div><!-- end glossary-index --> |
3923 |
|
|
3924 |
|
|
3925 |
|
[#-- Rendering: Glossary all terms of its letter--] |
3926 |
|
<div class="glossary-box glossary-details" id="letter-${actualLetter?lower_case}"> |
3927 |
|
<h2>${actualLetter?upper_case}</h2> |
3928 |
|
[@glossaryTermsPerLetter letter=actualLetter maxTerms=content.maxTermsPerLetter!10000000 /] |
3929 |
|
</div><!-- end "glossary-box glossary-details" id="letter-${actualLetter}" --> |
3930 |
|
</text> |
3931 |
|
</glossaryLetter> |
3932 |
|
<glossaryTermsPerLetter sv:name="glossaryTermsPerLetter"> |
3933 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
3934 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
3935 |
|
<text sv:name="text" sv:type="String"> |
3936 |
|
|
3937 |
|
[#-------------- RENDERING PART --------------] |
3938 |
|
|
3939 |
|
[#-- Rendering: Glossary all terms of one letter--] |
3940 |
|
[#macro glossaryTermsPerLetter letter maxTerms=5] |
3941 |
|
<ul> |
3942 |
|
[#list letter?children as term] |
3943 |
|
[#if term?node_type == "mgnl:content" && term_index < maxTerms] |
3944 |
|
<li><a href="${mgnl.createLink(term)}">${term.title!term.@name}</a></li> |
3945 |
|
[/#if] |
3946 |
|
[/#list] |
3947 |
|
</ul> |
3948 |
|
[#if letter?children?size > maxTerms] |
3949 |
|
<p class="all"><a href="${mgnl.createLink(letter)}">${i18n['glossary.seeAllTerms']} '${letter.@name}'</a></p> |
3950 |
|
[/#if] |
3951 |
|
[/#macro] |
3952 |
|
|
3953 |
|
</text> |
3954 |
|
</glossaryTermsPerLetter> |
3955 |
|
<imageGallery sv:name="imageGallery"> |
3956 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
3957 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
3958 |
|
<text sv:name="text" sv:type="String"> |
3959 |
|
|
3960 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
3961 |
|
|
3962 |
|
[#-- Assigns: General --] |
3963 |
|
[#assign cms = JspTaglibs["cms-taglib"]] |
3964 |
|
|
3965 |
|
[#-- Assigns: Get Content --] |
3966 |
|
[#assign maxImages = content.maxImages!1000] |
3967 |
|
|
3968 |
|
[#-------------- RENDERING PART --------------] |
3969 |
|
|
3970 |
|
[#-- Rendering: Site Map --] |
3971 |
|
[@cms.editBar editLabel="${i18n['imageGallery.editLabel.paragraph']}" moveLabel="" deleteLabel="" /] |
3972 |
|
|
3973 |
|
|
3974 |
|
[#if model.images??] |
3975 |
|
<div class="photo-index"> |
3976 |
|
[#list model.images as image] |
3977 |
|
[#if image_index < maxImages] |
3978 |
|
[#if image.link?has_content] |
3979 |
|
[#assign class] |
3980 |
|
[#if (image_index+1)%3==0] |
3981 |
|
photo last |
3982 |
|
[#else] |
3983 |
|
photo |
3984 |
|
[/#if] |
3985 |
|
[/#assign] |
3986 |
|
|
3987 |
|
<dl class="${class}"> |
3988 |
|
<dt><img src="${stk.getAssetVariation(image, 'gallery-thumbnail').link}" alt="${image.title}"/></dt> |
3989 |
|
<dd class="zoom"><a href="${stk.getAssetVariation(image, 'gallery-zoom').link}" rel="showbox" title="${i18n['link.zoom.title']}">${i18n['link.zoom']}</a></dd> |
3990 |
|
[#if image.caption?has_content] |
3991 |
|
<dd class="caption">${image.caption}</dd> |
3992 |
|
[/#if] |
3993 |
|
[#if image.copyright?has_content] |
3994 |
|
<dd class="copyright">${image.copyright}</dd> |
3995 |
|
[/#if] |
3996 |
|
[#if image.description?has_content] |
3997 |
|
<dd class="longdesc">${image.description}</dd> |
3998 |
|
[/#if] |
3999 |
|
</dl> |
4000 |
|
[#else] |
4001 |
|
|
4002 |
|
[/#if] |
4003 |
|
[/#if] |
4004 |
|
[/#list] |
4005 |
|
</div><!-- end photo-index --> |
4006 |
|
[#else] |
4007 |
|
<div id="photo-index"> |
4008 |
|
<dl class="photo"> |
4009 |
|
<dt>${i18n['imageGallery.noImages']}</dt> |
4010 |
|
</dl> |
4011 |
|
</div><!-- end photo-index --> |
4012 |
|
[/#if] |
4013 |
|
</text> |
4014 |
|
</imageGallery> |
4015 |
|
<newsOverview sv:name="newsOverview"> |
4016 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4017 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4018 |
|
<text sv:name="text" sv:type="String"> |
4019 |
|
|
4020 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
4021 |
|
|
4022 |
|
[#-- Include: Global --] |
4023 |
|
[#include "../teasers/init.inc.ftl"] |
4024 |
|
[#include "../macros/pagination.ftl"] |
4025 |
|
|
4026 |
|
[#-- Assigns: Get and check Latest News --] |
4027 |
|
[#assign pager = model.pager] |
4028 |
|
[#assign newsList = pager.pageItems!] |
4029 |
|
[#assign hasNewsList = newsList?has_content] |
4030 |
|
|
4031 |
|
[#-- Assigns: Macro for Item iteration --] |
4032 |
|
[#macro assignItemValues item] |
4033 |
|
[#-- Assigns: Get Content from List Item--] |
4034 |
|
[#assign itemTitle = item.title!item.@name] |
4035 |
|
[#assign itemText = stk.abbreviateString(item.abstract!, 100)] |
4036 |
|
[#assign itemKicker = item.kicker!] |
4037 |
|
[#assign itemDate = item.date] |
4038 |
|
[#assign itemLink = mgnl.createLink(item)!] |
4039 |
|
|
4040 |
|
[#if !hideTeaserImage] |
4041 |
|
[#assign itemImageLink = stk.getAssetLink(item, "image", model)!] |
4042 |
|
[#-- Assigns: Define alt for image tag --] |
4043 |
|
[#if itemImageLink?has_content] |
4044 |
|
[#assign imageAlt = itemTitle] |
4045 |
|
[#else] |
4046 |
|
[#assign imageAlt = "${i18n['image.resolveError']}"] |
4047 |
|
[/#if] |
4048 |
|
[/#if] |
4049 |
|
|
4050 |
|
[#-- Assigns: Is Content Available of Item--] |
4051 |
|
[#assign hasDate = itemDate?has_content] |
4052 |
|
[#assign hasKicker = itemKicker?has_content] |
4053 |
|
[#assign hasText = itemText?has_content] |
4054 |
|
[#assign hasImageLink = itemImageLink?has_content] |
4055 |
|
|
4056 |
|
[#if hasImageLink] |
4057 |
|
[#assign liClass = ""] |
4058 |
|
[#else] |
4059 |
|
[#assign liClass = "class='mod'"] |
4060 |
|
[/#if] |
4061 |
|
[/#macro] |
4062 |
|
|
4063 |
|
|
4064 |
|
|
4065 |
|
[#-------------- RENDERING PART --------------] |
4066 |
|
|
4067 |
|
|
4068 |
|
[#-- Rendering: Latest News --] |
4069 |
|
<div class="${divClass}" ${divID}> |
4070 |
|
[@cms.editBar editLabel="${i18n['newsOverview.editLabel.paragraph']}" moveLabel="" deleteLabel="" /] |
4071 |
|
|
4072 |
|
[#-- Macro: Pager --] |
4073 |
|
[@pagination pager "top" /] |
4074 |
|
|
4075 |
|
[#if hasNewsList] |
4076 |
|
<ul> |
4077 |
|
[#list newsList as item] |
4078 |
|
[#-- Macro: Item Assigns --] |
4079 |
|
[@assignItemValues item=item/] |
4080 |
|
|
4081 |
|
[#-- Rendering: Item rendering --] |
4082 |
|
<li ${liClass}> |
4083 |
|
[#if hasImageLink]<img src="${itemImageLink}" alt="${imageAlt}" />[/#if] |
4084 |
|
<h3> |
4085 |
|
<a href="${itemLink}"> |
4086 |
|
[#if hasKicker]<em>${itemKicker}</em>[/#if] |
4087 |
|
${itemTitle} |
4088 |
|
</a> |
4089 |
|
</h3> |
4090 |
|
<p>[#if hasDate]<em class="date">${itemDate?date?string.medium}</em>[/#if] [#if hasText]${itemText}[/#if] <em class="more"><a href="${itemLink}">${i18n['link.readon']} <span> ${itemTitle}</span></a></em></p> |
4091 |
|
</li> |
4092 |
|
[/#list] |
4093 |
|
</ul> |
4094 |
|
[#else] |
4095 |
|
<ul> |
4096 |
|
<p>${i18n['newsList.noResults']}</p> |
4097 |
|
</ul> |
4098 |
|
[/#if] |
4099 |
|
</div><!-- end ${divClass} --> |
4100 |
|
|
4101 |
|
|
4102 |
|
|
4103 |
|
[#-------------- ADDITIONAL MACROS --------------] |
4104 |
|
|
4105 |
|
[#-- Macro: Pager --] |
4106 |
|
[@pagination pager "bottom" /] |
4107 |
|
|
4108 |
|
|
4109 |
|
</text> |
4110 |
|
</newsOverview> |
4111 |
|
<relatedCategoriesLinkList sv:name="relatedCategoriesLinkList"> |
4112 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4113 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4114 |
|
<text sv:name="text" sv:type="String"> |
4115 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
4116 |
|
|
4117 |
|
[#-- Include: Global --] |
4118 |
|
[#assign cms = JspTaglibs["cms-taglib"]] |
4119 |
|
|
4120 |
|
[#-- Assigns: Get and check categories --] |
4121 |
|
[#assign headingLevel = def.headingLevel] |
4122 |
|
[#assign divClass = def.divClass] |
4123 |
|
[#assign title = content.listTitle!] |
4124 |
|
[#assign relatedCategories = model.relatedCategories!] |
4125 |
|
[#assign hasRelated = relatedCategories?has_content] |
4126 |
|
|
4127 |
|
[#-------------- RENDERING PART --------------] |
4128 |
|
|
4129 |
|
[@cms.editBar /] |
4130 |
|
<div class="${divClass}" > |
4131 |
|
[#if title?has_content]<${headingLevel}>${title}</${headingLevel}>[/#if] |
4132 |
|
[#if hasRelated] |
4133 |
|
<ul> |
4134 |
|
[#list relatedCategories as item] |
4135 |
|
<li> |
4136 |
|
<a href="${model.getCategoryLink(item.@name)}">${item.displayName!item.@name}</a> |
4137 |
|
</li> |
4138 |
|
[/#list] |
4139 |
|
</ul> |
4140 |
|
[/#if] |
4141 |
|
</div> |
4142 |
|
</text> |
4143 |
|
</relatedCategoriesLinkList> |
4144 |
|
<searchResult sv:name="searchResult"> |
4145 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4146 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4147 |
|
<text sv:name="text" sv:type="String"> |
4148 |
|
|
4149 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
4150 |
|
|
4151 |
|
[#-- Include: Global --] |
4152 |
|
[#include "../macros/pagination.ftl"] |
4153 |
|
|
4154 |
|
[#-- Assigns: General --] |
4155 |
|
[#assign cms = JspTaglibs["cms-taglib"]] |
4156 |
|
|
4157 |
|
[#-- Assigns: Get and check Search Results --] |
4158 |
|
[#assign result = model.result!] |
4159 |
|
[#assign hasResult = result?has_content] |
4160 |
|
|
4161 |
|
[#-- Assigns: Macro for Item iteration --] |
4162 |
|
[#macro assignItemValues item] |
4163 |
|
[#-- Assigns: Get Content from List Item --] |
4164 |
|
[#assign itemTitle = item.title!item.@name] |
4165 |
|
[#assign itemText = item.formattedText!] |
4166 |
|
[#assign itemDate = item.date!] |
4167 |
|
[#assign itemAuthor = item.author!] |
4168 |
|
[#assign itemCategory = item.category!] |
4169 |
|
[#assign itemLink = item.link!] |
4170 |
|
|
4171 |
|
[#-- Assigns: Is Content Available of Item --] |
4172 |
|
[#assign hasText = itemText?has_content] |
4173 |
|
[#assign hasDate = itemDate?has_content] |
4174 |
|
[#assign hasAuthor = itemAuthor?has_content] |
4175 |
|
[#assign hasCategory = itemCategory?has_content] |
4176 |
|
[/#macro] |
4177 |
|
|
4178 |
|
|
4179 |
|
|
4180 |
|
[#-------------- RENDERING PART --------------] |
4181 |
|
|
4182 |
|
[#-- Rendering: Search Results --] |
4183 |
|
[@cms.editBar editLabel="${i18n['searchResult.editLabel.paragraph']}" moveLabel="" deleteLabel="" /] |
4184 |
|
|
4185 |
|
<div class="text"> |
4186 |
|
<h1><em>${model.count!}</em> ${i18n['search.searchResultTitle']} <span class="search-term"><span>${i18n['search.searchResultFor']} </span>"${model.queryStr!?html}"</span></h1> |
4187 |
|
[#-- Macro: Pager --] |
4188 |
|
[@pagination model "top" /] |
4189 |
|
|
4190 |
|
<ol> |
4191 |
|
[#if hasResult] |
4192 |
|
[#list result as item] |
4193 |
|
[#-- Macro: Item Assigns --] |
4194 |
|
[@assignItemValues item=item/] |
4195 |
|
|
4196 |
|
[#-- Rendering: Item rendering --] |
4197 |
|
<li> |
4198 |
|
<h2><a href="${itemLink}" >${itemTitle}</a></h2> |
4199 |
|
[#if hasDate || hasAuthor || hasCategory] |
4200 |
|
<ul class="text-data"> |
4201 |
|
[#if hasDate] |
4202 |
|
<li class="date">${itemDate?date?string.medium}</li> |
4203 |
|
[/#if] |
4204 |
|
[#if hasAuthor] |
4205 |
|
<li class="author">${itemAuthor!}</li> |
4206 |
|
[/#if] |
4207 |
|
[#if hasCategory] |
4208 |
|
<li class="cat">${i18n['search.category']} ${itemCategory!}</li> |
4209 |
|
[/#if] |
4210 |
|
</ul> |
4211 |
|
[/#if] |
4212 |
|
<p>${itemText!}</p> |
4213 |
|
</li> |
4214 |
|
[/#list] |
4215 |
|
[/#if] |
4216 |
|
</ol> |
4217 |
|
</div><!-- end text --> |
4218 |
|
|
4219 |
|
|
4220 |
|
[#-- Macro: Pager --] |
4221 |
|
[@pagination model "bottom" /] |
4222 |
|
|
4223 |
|
|
4224 |
|
[#-- Rendering: New Search --] |
4225 |
|
<div class="form-wrapper new-search"> |
4226 |
|
<form action="${model.searchPageLink!}" > |
4227 |
|
<fieldset> |
4228 |
|
<h2>${i18n['search.newSearch']}</h2> |
4229 |
|
<div> |
4230 |
|
<label for="search"> |
4231 |
|
<span>${i18n['accessibility.header.searchFor']}</span> |
4232 |
|
</label> |
4233 |
|
<input id="search" name="queryStr" type="text" value="${ctx.queryStr!?html}"/> |
4234 |
|
<input class="button" type="submit" value="${i18n['button.label.search']}"/> |
4235 |
|
</div> |
4236 |
|
</fieldset> |
4237 |
|
</form> |
4238 |
|
</div> |
4239 |
|
|
4240 |
|
</text> |
4241 |
|
</searchResult> |
4242 |
|
<siteMap sv:name="siteMap"> |
4243 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4244 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4245 |
|
<text sv:name="text" sv:type="String"> |
4246 |
|
|
4247 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
4248 |
|
|
4249 |
|
[#-- Assigns: General --] |
4250 |
|
[#assign cms = JspTaglibs["cms-taglib"]] |
4251 |
|
|
4252 |
|
[#-- Assigns: Get page items of first level --] |
4253 |
|
[#assign firstLevelItems = model.siteMapStructure/] |
4254 |
|
|
4255 |
|
[#-- Assigns: Get title to use for the item (navigationTitle or page title) --] |
4256 |
|
[#assign titleToUse = content.titleToUse!"title"/] |
4257 |
|
|
4258 |
|
|
4259 |
|
|
4260 |
|
[#-------------- RENDERING PART --------------] |
4261 |
|
|
4262 |
|
[#-- Rendering: Site Map --] |
4263 |
|
[@cms.editBar editLabel="${i18n['siteMap.editLabel.paragraph']}" moveLabel="" deleteLabel="" /] |
4264 |
|
|
4265 |
|
[@renderSiteMap levelItems=firstLevelItems/] |
4266 |
|
|
4267 |
|
[#macro renderSiteMap levelItems] |
4268 |
|
[#list levelItems.items as item] |
4269 |
|
[#if item.level == 1 ] |
4270 |
|
<div class="links"> |
4271 |
|
<h2><a href="${item.href}">${item[titleToUse]}</a></h2> |
4272 |
|
[@renderSiteMap levelItems=item /] |
4273 |
|
</div> |
4274 |
|
[#else] |
4275 |
|
<ul> |
4276 |
|
<li> |
4277 |
|
<a href="${item.href}">${item[titleToUse]}</a> |
4278 |
|
[@renderSiteMap levelItems=item /] |
4279 |
|
</li> |
4280 |
|
</ul> |
4281 |
|
[/#if] |
4282 |
|
[/#list] |
4283 |
|
[/#macro] |
4284 |
|
|
4285 |
|
</text> |
4286 |
|
</siteMap> |
4287 |
|
</features> |
4288 |
|
<footer sv:name="footer"> |
4289 |
|
<footer sv:name="footer"> |
4290 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4291 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4292 |
|
<text sv:name="text" sv:type="String">[#assign cms=JspTaglibs["cms-taglib"]] |
4293 |
|
|
4294 |
|
[@cms.contentNodeIterator] |
4295 |
|
[@cms.includeTemplate/] |
4296 |
|
[/@cms.contentNodeIterator] |
4297 |
|
|
4298 |
|
[#if mgnl.editMode] |
4299 |
|
<div> |
4300 |
|
[@cms.newBar newLabel="${i18n['footer.item.newLabel']}" paragraph="${stk.asStringList(model.root.def.footer.paragraphs)}" /] |
4301 |
|
</div> |
4302 |
|
[/#if] |
4303 |
|
[#if content.copyright?has_content] |
4304 |
|
<p id="copyright">© ${content.copyright}</p> |
4305 |
|
[#else] |
4306 |
|
<p id="copyright"> </p> |
4307 |
|
[/#if] |
4308 |
|
</text> |
4309 |
|
</footer> |
4310 |
|
<footerAbout sv:name="footerAbout"> |
4311 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4312 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4313 |
|
<text sv:name="text" sv:type="String">[#assign cms=JspTaglibs["cms-taglib"]] |
4314 |
|
|
4315 |
|
[#assign image = model.image!] |
4316 |
|
[#assign imageLink = (image!).link!] |
4317 |
|
[#assign hasImageLink = imageLink?has_content] |
4318 |
|
|
4319 |
|
[#-- Assigns: Define alt for image tag --] |
4320 |
|
[#if hasImageLink] |
4321 |
|
[#assign imageAlt = image.title!image.name] |
4322 |
|
[#else] |
4323 |
|
[#assign imageAlt = "${i18n['image.resolveError']}"] |
4324 |
|
[/#if] |
4325 |
|
|
4326 |
|
<div id="about"> |
4327 |
|
[@cms.editBar /] |
4328 |
|
[#if content.title?exists] |
4329 |
|
<h4>${content.title}</h4> |
4330 |
|
[/#if] |
4331 |
|
[#if hasImageLink] |
4332 |
|
<img class="photo" src="${imageLink}" alt="${imageAlt}"/> |
4333 |
|
[/#if] |
4334 |
|
${stk.decode(content).text?default("")} |
4335 |
|
</div><!-- end about --> |
4336 |
|
|
4337 |
|
</text> |
4338 |
|
</footerAbout> |
4339 |
|
<footerLink sv:name="footerLink"> |
4340 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4341 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4342 |
|
<text sv:name="text" sv:type="String">[#assign cms = JspTaglibs["cms-taglib"]] |
4343 |
|
|
4344 |
|
[#assign liClass =""] |
4345 |
|
[#if def.liClass?has_content] |
4346 |
|
[#assign liClass = 'class="${def.liClass}"'] |
4347 |
|
[/#if] |
4348 |
|
|
4349 |
|
[#if model.link?exists || mgnl.editMode] |
4350 |
|
<li ${liClass}> |
4351 |
|
[#if mgnl.editMode] |
4352 |
|
<div style="width: 103px; display: block; float: none;">[@cms.editBar /]</div> |
4353 |
|
[/#if] |
4354 |
|
[#if model.link?exists] |
4355 |
|
<a href="${model.link}">${model.linkTitle}</a> |
4356 |
|
[#elseif mgnl.editMode] |
4357 |
|
<a href="javascript:alert('${i18n['link.internal.resolveError']?js_string}')">${i18n['link.internal.resolveError']}</a> |
4358 |
|
[/#if] |
4359 |
|
</li> |
4360 |
|
[/#if] |
4361 |
|
</text> |
4362 |
|
</footerLink> |
4363 |
|
<footerLinkList sv:name="footerLinkList"> |
4364 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4365 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4366 |
|
<text sv:name="text" sv:type="String">[#assign cms=JspTaglibs["cms-taglib"]] |
4367 |
|
<div> |
4368 |
|
[@cms.editBar /] |
4369 |
|
[#if content.title??] |
4370 |
|
<h4>${content.title}</h4> |
4371 |
|
[/#if] |
4372 |
|
<ul> |
4373 |
|
[@cms.contentNodeIterator contentNodeCollectionName="linkList"] |
4374 |
|
[@cms.includeTemplate /] |
4375 |
|
[/@cms.contentNodeIterator] |
4376 |
|
|
4377 |
|
[#if mgnl.editMode] |
4378 |
|
<li> |
4379 |
|
<div style="width: 103px; display: block; float: none;"> |
4380 |
|
[@cms.newBar contentNodeCollectionName="linkList" newLabel="${i18n['link.newLabel']}" paragraph="${def.subParagraphs}" /] |
4381 |
|
</div> |
4382 |
|
</li> |
4383 |
|
[/#if] |
4384 |
|
</ul> |
4385 |
|
</div> |
4386 |
|
|
4387 |
|
|
4388 |
|
|
4389 |
|
</text> |
4390 |
|
</footerLinkList> |
4391 |
|
</footer> |
4392 |
|
<links sv:name="links"> |
4393 |
|
<downloadLink sv:name="downloadLink"> |
4394 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4395 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4396 |
|
<text sv:name="text" sv:type="String">[#assign cms=JspTaglibs["cms-taglib"]] |
4397 |
|
|
4398 |
|
[#if model.link?exists || mgnl.editMode] |
4399 |
|
<li class="download"> |
4400 |
|
[#if mgnl.editMode] |
4401 |
|
<div style="width: 103px;">[@cms.editBar /]</div> |
4402 |
|
[/#if] |
4403 |
|
|
4404 |
|
[#assign document=model.DMSDocument!] |
4405 |
|
[#if model.link?exists && document?has_content] |
4406 |
|
<a href="${model.link}">${content.linkTitle!document.title} <em>(${document.fileExtension?upper_case}, ${(document.fileSize / 1024)?string("0")} ${i18n['downloadLink.kb']})</em></a> |
4407 |
|
[#elseif mgnl.editMode] |
4408 |
|
<a href="javascript:alert('${i18n['link.document.resolveError']?js_string}')">${i18n['link.document.resolveError']}</a> |
4409 |
|
[/#if] |
4410 |
|
</li> |
4411 |
|
[/#if] |
4412 |
|
</text> |
4413 |
|
</downloadLink> |
4414 |
|
<externalLink sv:name="externalLink"> |
4415 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4416 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4417 |
|
<text sv:name="text" sv:type="String">[#assign cms=JspTaglibs["cms-taglib"]] |
4418 |
|
|
4419 |
|
<li class="external"> |
4420 |
|
[#if mgnl.editMode] |
4421 |
|
<div style="width: 103px">[@cms.editBar /]</div> |
4422 |
|
[/#if] |
4423 |
|
|
4424 |
|
<a href="${model.link}" target="_blank">${model.linkTitle}</a> |
4425 |
|
|
4426 |
|
</li> |
4427 |
|
</text> |
4428 |
|
</externalLink> |
4429 |
|
<internalLink sv:name="internalLink"> |
4430 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4431 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4432 |
|
<text sv:name="text" sv:type="String">[#assign cms=JspTaglibs["cms-taglib"]] |
4433 |
|
|
4434 |
|
[#if model.link?exists || mgnl.editMode] |
4435 |
|
<li> |
4436 |
|
[#if mgnl.editMode] |
4437 |
|
<div style="width: 103px">[@cms.editBar /]</div> |
4438 |
|
[/#if] |
4439 |
|
[#if model.link?exists] |
4440 |
|
<a href="${model.link}">${model.linkTitle}</a> |
4441 |
|
[#elseif mgnl.editMode] |
4442 |
|
<a href="javascript:alert('${i18n['link.internal.resolveError']?js_string}')">${i18n['link.internal.resolveError']}</a> |
4443 |
|
[/#if] |
4444 |
|
</li> |
4445 |
|
[/#if] |
4446 |
|
</text> |
4447 |
|
</internalLink> |
4448 |
|
</links> |
4449 |
|
<macros sv:name="macros"> |
4450 |
|
<image sv:name="image"> |
4451 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4452 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4453 |
|
<text sv:name="text" sv:type="String"> |
4454 |
|
[#macro image image imageClass] |
4455 |
|
|
4456 |
|
[#if image?has_content] |
4457 |
|
[#assign imageAlt=image.caption!"Image "+content.subtitle!] |
4458 |
|
|
4459 |
|
[#if image.title?? || image.caption?? || image.copyright?? || image.description??] |
4460 |
|
<dl class="${imageClass}"> |
4461 |
|
<dt><img src="${image.link}" alt="${imageAlt}" /></dt> |
4462 |
|
<dd class="zoom"><a href="${stk.getAssetVariation(image, 'zoom').link}" title="${i18n['link.zoom.title']}" rel="showbox">${i18n['link.zoom']}</a></dd> |
4463 |
|
[#if image.caption?? || image.title??]<dd class="caption">${image.caption!image.title}</dd>[/#if] |
4464 |
|
[#if image.copyright??]<dd class="copyright">${image.copyright}</dd>[/#if] |
4465 |
|
[#if image.description??]<dd class="longdesc">${image.description}</dd>[/#if] |
4466 |
|
</dl> |
4467 |
|
[#else] |
4468 |
|
<img class="${imageClass}" src="${image.link}" alt="${imageAlt}" /> |
4469 |
|
[/#if] |
4470 |
|
[/#if] |
4471 |
|
|
4472 |
|
[/#macro] |
4473 |
|
</text> |
4474 |
|
</image> |
4475 |
|
<linkList sv:name="linkList"> |
4476 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4477 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4478 |
|
<text sv:name="text" sv:type="String"> |
4479 |
|
|
4480 |
|
[#macro linkList titleLevel content paragraphs="stkInternalLink,stkExternalLink,stkDownloadLink"] |
4481 |
|
|
4482 |
|
[#if content.linkList?has_content || mgnl.editMode] |
4483 |
|
<div class="links"> |
4484 |
|
[#if content.linkListTitle?has_content] |
4485 |
|
<${titleLevel}>${content.linkListTitle}</${titleLevel}> |
4486 |
|
[/#if] |
4487 |
|
<ul> |
4488 |
|
[@cms.contentNodeIterator contentNodeCollectionName="linkList"] |
4489 |
|
[@cms.includeTemplate /] |
4490 |
|
[/@cms.contentNodeIterator] |
4491 |
|
|
4492 |
|
[#if mgnl.editMode] |
4493 |
|
<li> |
4494 |
|
<div style="width:103px">[@cms.newBar contentNodeCollectionName="linkList" newLabel="${i18n['link.newLabel']}" paragraph=paragraphs /]</div> |
4495 |
|
</li> |
4496 |
|
[/#if] |
4497 |
|
</ul> |
4498 |
|
</div><!-- end links --> |
4499 |
|
[/#if] |
4500 |
|
|
4501 |
|
[/#macro] |
4502 |
|
|
4503 |
|
</text> |
4504 |
|
</linkList> |
4505 |
|
<pagination sv:name="pagination"> |
4506 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4507 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4508 |
|
<text sv:name="text" sv:type="String">[#-- Definition: Pagination --] |
4509 |
|
[#macro pagination pager position] |
4510 |
|
|
4511 |
|
[#if pager?has_content && (pager.position?starts_with(position) || pager.position?starts_with("both"))] |
4512 |
|
|
4513 |
|
[#if pager.numPages > 1] |
4514 |
|
<div class="pager"> |
4515 |
|
<h3>${i18n['search.title']}</h3> |
4516 |
|
<ul> |
4517 |
|
[#if pager.currentPage > 1] |
4518 |
|
<li class="previous"> |
4519 |
|
<a href="${pager.getPageLink(pager.currentPage -1)}">${i18n['search.previous']}</a> |
4520 |
|
</li> |
4521 |
|
[/#if] |
4522 |
|
[#if pager.beginIndex > 1] |
4523 |
|
<li><a href="${pager.getPageLink(1)}" title="${i18n['search.page']}">1</a></li> |
4524 |
|
[#if pager.beginIndex > 2] |
4525 |
|
<li><span>...</span></li> |
4526 |
|
[/#if] |
4527 |
|
[/#if] |
4528 |
|
[#list pager.beginIndex..pager.endIndex as i] |
4529 |
|
[#if i != pager.currentPage] |
4530 |
|
<li><a href="${pager.getPageLink(i)}" title="${i18n['search.page']}">${i}</a></li> |
4531 |
|
[#else] |
4532 |
|
<li><em>${i18n['search.current']}</em><strong>${i}</strong></li> |
4533 |
|
[/#if] |
4534 |
|
[/#list] |
4535 |
|
[#if pager.endIndex < pager.numPages ] |
4536 |
|
[#if pager.endIndex < pager.numPages - 1] |
4537 |
|
<li><span>...</span></li> |
4538 |
|
[/#if] |
4539 |
|
<li><a href="${pager.getPageLink(pager.numPages)}" title="${i18n['search.page']}">${pager.numPages}</a></li> |
4540 |
|
|
4541 |
|
[/#if] |
4542 |
|
[#if pager.currentPage < pager.numPages] |
4543 |
|
<li class="next"><a href="${pager.getPageLink(pager.currentPage + 1)}" title="${i18n['search.page']}">${i18n['search.next']}</a></li> |
4544 |
|
|
4545 |
|
[/#if] |
4546 |
|
</ul> |
4547 |
|
</div><!-- end pager --> |
4548 |
|
[/#if] |
4549 |
|
[/#if] |
4550 |
|
[/#macro] |
4551 |
|
</text> |
4552 |
|
</pagination> |
4553 |
|
<tocMarkup sv:name="tocMarkup"> |
4554 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4555 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4556 |
|
<text sv:name="text" sv:type="String">[#macro tocMarkup model content] |
4557 |
|
|
4558 |
|
[#assign showTOC = (model.root.def.mainArea.intro.showTOC)!false] |
4559 |
|
|
4560 |
|
[#assign siblings=mgnl.siblings(content)] |
4561 |
|
|
4562 |
|
[#if showTOC] |
4563 |
|
[#assign id='id="jump' + (siblings.index + 1) + '"'] |
4564 |
|
[#else] |
4565 |
|
[#assign id=""] |
4566 |
|
[/#if] |
4567 |
|
|
4568 |
|
[/#macro]</text> |
4569 |
|
</tocMarkup> |
4570 |
|
</macros> |
4571 |
|
<pur sv:name="pur"> |
4572 |
|
<link sv:name="link"> |
4573 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4574 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4575 |
|
<text sv:name="text" sv:type="String">[#assign cms=JspTaglibs["cms-taglib"]] |
4576 |
|
|
4577 |
|
[#assign userName = ctx.user.name] |
4578 |
|
[#assign userFullName = ctx.user.title!userName] |
4579 |
|
|
4580 |
|
[#assign loginLink = mgnl.createLink('website', content.loginPage)!] |
4581 |
|
|
4582 |
|
[#if content.logoutPage??] |
4583 |
|
[#assign logoutLink = mgnl.createLink('website', content.logoutPage)] |
4584 |
|
[#else] |
4585 |
|
[#assign logoutLink = mgnl.createLink(page)] |
4586 |
|
[/#if] |
4587 |
|
|
4588 |
|
[#if content.profilePage??] |
4589 |
|
[#assign profileLink = mgnl.createLink('website', content.profilePage)] |
4590 |
|
[/#if] |
4591 |
|
|
4592 |
|
<li> |
4593 |
|
[#if mgnl.editMode] |
4594 |
|
<div style="width: 103px">[@cms.editBar /]</div> |
4595 |
|
[/#if] |
4596 |
|
|
4597 |
|
[#if ctx.user.name == "anonymous"] |
4598 |
|
<a href="${loginLink}">${content.loginText!i18n['pur.login']}</a> |
4599 |
|
[#else] |
4600 |
|
<a href="${logoutLink}?mgnlLogout">${content.logoutText!i18n['pur.logout']}</a>: |
4601 |
|
[#if profileLink??] |
4602 |
|
<a href="${profileLink}">${userFullName}</a> |
4603 |
|
[#else] |
4604 |
|
${userFullName} |
4605 |
|
[/#if] |
4606 |
|
[/#if] |
4607 |
|
</li> |
4608 |
|
</text> |
4609 |
|
</link> |
4610 |
|
<stkPURAuthSubmit sv:name="stkPURAuthSubmit"> |
4611 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4612 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4613 |
|
<text sv:name="text" sv:type="String">[#assign cms=JspTaglibs["cms-taglib"]] |
4614 |
|
|
4615 |
|
[@cms.editBar /] |
4616 |
|
|
4617 |
|
[#if model.authenticated] |
4618 |
|
<p>${i18n.get('pur.loggedin',[ctx.user.name])}</p> |
4619 |
|
<div class="button-wrapper" > |
4620 |
|
<fieldset class="buttons" > |
4621 |
|
<input type="submit" class="submit" accesskey="s" value="${content.buttonText}" /> |
4622 |
|
</fieldset> |
4623 |
|
</div> |
4624 |
|
[#else] |
4625 |
|
<p>${i18n.get('pur.loggedoff')}</p> |
4626 |
|
[/#if] |
4627 |
|
</text> |
4628 |
|
</stkPURAuthSubmit> |
4629 |
|
<stkPURIntranet sv:name="stkPURIntranet"> |
4630 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4631 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4632 |
|
<text sv:name="text" sv:type="String">[#assign cms=JspTaglibs["cms-taglib"]] |
4633 |
|
|
4634 |
|
[@cms.editBar /] |
4635 |
|
|
4636 |
|
[#if model.authenticated] |
4637 |
|
<p>${i18n.get('pur.loggedin',[ctx.user.name])}</p><br/> |
4638 |
|
|
4639 |
|
[#if content.subtitle?has_content]<h2>${content.subtitle}</h2><br/><br/>[/#if] |
4640 |
|
|
4641 |
|
[#if content.text?has_content] |
4642 |
|
${stk.decode(content).text} |
4643 |
|
[/#if] |
4644 |
|
|
4645 |
|
[#else] |
4646 |
|
<p>${i18n.get('pur.loggedoff')}</p> |
4647 |
|
[/#if] |
4648 |
|
</text> |
4649 |
|
</stkPURIntranet> |
4650 |
|
<stkPURLogin sv:name="stkPURLogin"> |
4651 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4652 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4653 |
|
<text sv:name="text" sv:type="String">[#assign cms=JspTaglibs["cms-taglib"]] |
4654 |
|
|
4655 |
|
[@cms.editBar /] |
4656 |
|
|
4657 |
|
[#include "/templating-kit/paragraphs/macros/tocMarkup.ftl"/] |
4658 |
|
[@tocMarkup model content /] |
4659 |
|
|
4660 |
|
[#assign showInfoText = content.showInfoText!false] |
4661 |
|
[#assign usernameLabel = content.usernameLabel!i18n['pur.paragraph.stkPURLoginForm.label.username']!] |
4662 |
|
[#assign passwordLabel = content.passwordLabel!i18n['pur.paragraph.stkPURLoginForm.label.password']!] |
4663 |
|
[#assign submitLoginLabel = content.submitLoginLabel!i18n['pur.paragraph.stkPURLoginForm.submit.login.label']!] |
4664 |
|
[#assign submitLogoutLabel = content.submitLogoutLabel!i18n['pur.paragraph.stkPURLoginForm.submit.logout.label']!] |
4665 |
|
[#assign requiredLabel = content.requiredLabel!i18n['pur.paragraph.stkPURLoginForm.label.required']!] |
4666 |
|
[#assign requiredCharacter = content.requiredCharacter!i18n['pur.paragraph.stkPURLoginForm.required.character']!] |
4667 |
|
|
4668 |
|
|
4669 |
|
[#if model.loginError?exists] |
4670 |
|
<div class="text error"> |
4671 |
|
<h1>Error</h1> |
4672 |
|
<ul> |
4673 |
|
<li>${i18n.getWithDefault(model.loginError, i18n.get('login.defaultError'))}</li> |
4674 |
|
</ul> |
4675 |
|
</div> |
4676 |
|
[/#if] |
4677 |
|
|
4678 |
|
|
4679 |
|
[#if !model.authenticated || mgnl.editMode] |
4680 |
|
[#if mgnl.editMode && showInfoText] |
4681 |
|
<p>${i18n['pur.paragraph.stkPURLoginForm.author.edit.general.infomessage']}</p> |
4682 |
|
<p>${i18n['pur.paragraph.stkPURLoginForm.author.edit.login.infomessage']}</p> |
4683 |
|
[/#if] |
4684 |
|
|
4685 |
|
[#if content.subtitle?has_content || content.text?has_content] |
4686 |
|
[#if content.subtitle?has_content] |
4687 |
|
<h2 ${id}>${content.subtitle}</h2> |
4688 |
|
[/#if] |
4689 |
|
[#if content.text?has_content] |
4690 |
|
${stk.decode(content).text} |
4691 |
|
[/#if] |
4692 |
|
[/#if] |
4693 |
|
|
4694 |
|
<div class="form-wrapper"> |
4695 |
|
<form id="loginForm" method="post" action="" enctype="application/x-www-form-urlencoded"> |
4696 |
|
[#if content.realmName?has_content] |
4697 |
|
<input type="hidden" name="mgnlRealm" value="${content.realmName}"/> |
4698 |
|
[/#if] |
4699 |
|
|
4700 |
|
<input type="hidden" name="mgnlModelExecutionUUID" value="${content.@uuid}"/> |
4701 |
|
|
4702 |
|
<p class="required"><span>${requiredCharacter}</span> ${requiredLabel}</p> |
4703 |
|
|
4704 |
|
<fieldset> |
4705 |
|
<div> |
4706 |
|
<label for="username"><span>${usernameLabel} <dfn title="required">${requiredCharacter}</dfn></span></label> |
4707 |
|
<input type="text" id="username" name="mgnlUserId" value="" maxlength="50"/> |
4708 |
|
</div> |
4709 |
|
<div> |
4710 |
|
<label class="" for="mgnlUserPSWD"><span>${passwordLabel} <dfn title="required">${requiredCharacter}</dfn></span></label> |
4711 |
|
<input type="password" name="mgnlUserPSWD" id="mgnlUserPSWD" value=""/> |
4712 |
|
</div> |
4713 |
|
|
4714 |
|
<div class="button-wrapper" > |
4715 |
|
<fieldset class="buttons" > |
4716 |
|
<input type="submit" class="submit" accesskey="s" value="${submitLoginLabel}" /> |
4717 |
|
</fieldset> |
4718 |
|
</div> |
4719 |
|
|
4720 |
|
</fieldset> |
4721 |
|
|
4722 |
|
</form> |
4723 |
|
</div><!-- end form-wrapper --> |
4724 |
|
[/#if] |
4725 |
|
|
4726 |
|
|
4727 |
|
[#if model.authenticated] |
4728 |
|
[#if mgnl.editMode && showInfoText] |
4729 |
|
<p>${i18n['pur.paragraph.stkPURLoginForm.author.edit.logout.infomessage']}</p> |
4730 |
|
[/#if] |
4731 |
|
|
4732 |
|
<div class="form-wrapper"> |
4733 |
|
<form method="post" action="" enctype="application/x-www-form-urlencoded" > |
4734 |
|
<div class="form-item-hidden"> |
4735 |
|
<input type="hidden" name="mgnlModelExecutionUUID" value="${content.@uuid}"/> |
4736 |
|
<input type="hidden" name="mgnlLogout" value="true" /> |
4737 |
|
</div> |
4738 |
|
|
4739 |
|
<p>${i18n.get('pur.loggedin',[ctx.user.name])}</p> |
4740 |
|
<fieldset> |
4741 |
|
<div class="button-wrapper" > |
4742 |
|
<fieldset class="buttons" > |
4743 |
|
<input type="submit" class="submit" accesskey="s" value="${submitLogoutLabel}" /> |
4744 |
|
</fieldset> |
4745 |
|
</div> |
4746 |
|
</fieldset> |
4747 |
|
</form> |
4748 |
|
</div> |
4749 |
|
[/#if] |
4750 |
|
</text> |
4751 |
|
</stkPURLogin> |
4752 |
|
<stkPURNotAuthSubmit sv:name="stkPURNotAuthSubmit"> |
4753 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4754 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4755 |
|
<text sv:name="text" sv:type="String">[#assign cms=JspTaglibs["cms-taglib"]] |
4756 |
|
|
4757 |
|
[@cms.editBar /] |
4758 |
|
|
4759 |
|
[#if !model.authenticated] |
4760 |
|
<div class="button-wrapper" > |
4761 |
|
<fieldset class="buttons" > |
4762 |
|
<input type="submit" class="submit" accesskey="s" value="${content.buttonText}" /> |
4763 |
|
</fieldset> |
4764 |
|
</div> |
4765 |
|
[#else] |
4766 |
|
<p>${i18n.get('pur.loggedin', [ctx.user.name])}</p> |
4767 |
|
[/#if] |
4768 |
|
</text> |
4769 |
|
</stkPURNotAuthSubmit> |
4770 |
|
</pur> |
4771 |
|
<stages sv:name="stages"> |
4772 |
|
<stageXL sv:name="stageXL"> |
4773 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4774 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4775 |
|
<text sv:name="text" sv:type="String"> |
4776 |
|
|
4777 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
4778 |
|
|
4779 |
|
[#-- Assigns: General --] |
4780 |
|
[#assign cms=JspTaglibs["cms-taglib"]] |
4781 |
|
|
4782 |
|
[#-- Assigns: Get and check Teaser Target --] |
4783 |
|
[#assign target = model.target!] |
4784 |
|
[#assign hasTarget = target?has_content] |
4785 |
|
|
4786 |
|
[#-- Assigns: Macro assigning Values --] |
4787 |
|
[#macro assignValues] |
4788 |
|
[#-- Assigns: Get Content --] |
4789 |
|
[#assign target = model.target] |
4790 |
|
[#assign title = content.teaserTitle!target.title!target.@name] |
4791 |
|
[#assign text = content.teaserAbstract!target.abstract!] |
4792 |
|
[#assign text = stk.abbreviateString(text, 310)] |
4793 |
|
[#assign teaserLink = model.teaserLink!] |
4794 |
|
[#assign image = model.image!] |
4795 |
|
[#if image?has_content] |
4796 |
|
[#assign imageLink = (model.image!).link!] |
4797 |
|
[/#if] |
4798 |
|
|
4799 |
|
[#-- Assigns: Is Content Available --] |
4800 |
|
[#assign hasImageLink = imageLink?has_content] |
4801 |
|
[#assign hasText = text?has_content] |
4802 |
|
|
4803 |
|
[#-- Assigns: Define alt for image tag --] |
4804 |
|
[#if hasImageLink] |
4805 |
|
[#assign imageAlt = title] |
4806 |
|
[#else] |
4807 |
|
[#assign imageAlt = "${i18n['image.resolveError']}"] |
4808 |
|
[/#if] |
4809 |
|
|
4810 |
|
[/#macro] |
4811 |
|
|
4812 |
|
[#-------------- RENDERING PART --------------] |
4813 |
|
|
4814 |
|
[#-- Rendering: Stage XXL --] |
4815 |
|
[#if hasTarget] |
4816 |
|
[#-- Macro: Value Assigns --] |
4817 |
|
[@assignValues /] |
4818 |
|
|
4819 |
|
[#-- Macro: Edit Bar --] |
4820 |
|
[@editBar/] |
4821 |
|
|
4822 |
|
[#if hasImageLink]<a href="${teaserLink}"><img src="${imageLink}" alt="${imageAlt}" /></a>[/#if] |
4823 |
|
<div id="stage-box"> |
4824 |
|
<h1><a href="${teaserLink}">${title}</a></h1> |
4825 |
|
[#if hasText]<p>${text}</p>[/#if] |
4826 |
|
</div> |
4827 |
|
|
4828 |
|
[#else] |
4829 |
|
[#if mgnl.editMode] |
4830 |
|
[#-- Macro: Edit Bar --] |
4831 |
|
[@editBar/] |
4832 |
|
|
4833 |
|
<h1><a href="javascript:alert('${i18n['stage.resolveError']?js_string}')">${i18n['stage.resolveError']}</a></h1> |
4834 |
|
[/#if] |
4835 |
|
[/#if] |
4836 |
|
|
4837 |
|
|
4838 |
|
|
4839 |
|
[#-------------- ADDITIONAL MACROS --------------] |
4840 |
|
|
4841 |
|
[#-- Macro: Edit Bar --] |
4842 |
|
[#macro editBar] |
4843 |
|
[@cms.editBar editLabel="${i18n['stage.editLabel']}" moveLabel="" /] |
4844 |
|
[/#macro] |
4845 |
|
|
4846 |
|
</text> |
4847 |
|
</stageXL> |
4848 |
|
</stages> |
4849 |
|
<teasers sv:name="teasers"> |
4850 |
|
<carousel sv:name="carousel"> |
4851 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4852 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4853 |
|
<text sv:name="text" sv:type="String"> |
4854 |
|
|
4855 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
4856 |
|
|
4857 |
|
[#-- Assigns: General --] |
4858 |
|
[#assign cms=JspTaglibs["cms-taglib"]] |
4859 |
|
|
4860 |
|
[#-- Assigns: Get Content --] |
4861 |
|
[#assign title = content.title!] |
4862 |
|
[#assign headingLevel = def.headingLevel!] |
4863 |
|
[#assign divClass = def.divClass!] |
4864 |
|
[#assign carouselType = model.carouselType] |
4865 |
|
|
4866 |
|
[#-- Assigns: Is Content Available --] |
4867 |
|
[#assign hasTitle = title?has_content] |
4868 |
|
|
4869 |
|
|
4870 |
|
|
4871 |
|
[#-------------- RENDERING PART --------------] |
4872 |
|
|
4873 |
|
[#-- Rendering: Carousel --] |
4874 |
|
<div class="${model.cssClass}" > |
4875 |
|
|
4876 |
|
[#if def.name=="stkStagePaging"] |
4877 |
|
[@cms.editBar editLabel="${i18n['stage.editLabel']}" moveLabel="" deleteLabel="${i18n['stage.deleteLabel']}" /] |
4878 |
|
[#else] |
4879 |
|
[@cms.editBar editLabel="${i18n['carousel.${carouselType}.editLabel']}" deleteLabel="${i18n['carousel.${carouselType}.deleteLabel']}" /] |
4880 |
|
[/#if] |
4881 |
|
|
4882 |
|
[#if hasTitle]<${headingLevel}>${title}</${headingLevel}>[/#if] |
4883 |
|
|
4884 |
|
[#if mgnl.editMode] |
4885 |
|
<div style="float:right;height:20px">[@cms.newBar contentNodeCollectionName="carouselItems" newLabel="${i18n['carousel.newLabel']}" paragraph="${def.subParagraph}" /]</div> |
4886 |
|
[/#if] |
4887 |
|
|
4888 |
|
[#-- For switcher carousel --] |
4889 |
|
[#if carouselType=="switcher"] |
4890 |
|
<div class="pager"> |
4891 |
|
|
4892 |
|
</div><!-- end pager --> |
4893 |
|
[/#if] |
4894 |
|
|
4895 |
|
[#-- Including/Rendering the carousel items --] |
4896 |
|
<div class="rack"> |
4897 |
|
<div class="rack-design"> |
4898 |
|
[@cms.contentNodeIterator contentNodeCollectionName="carouselItems"] |
4899 |
|
[@cms.includeTemplate] |
4900 |
|
[@cms.attribute name="carouselType" value=carouselType /] |
4901 |
|
[/@cms.includeTemplate] |
4902 |
|
[/@cms.contentNodeIterator] |
4903 |
|
</div><!-- end rack-design --> |
4904 |
|
</div><!-- end rack --> |
4905 |
|
|
4906 |
|
[#-- For slider carousel --] |
4907 |
|
[#if carouselType=="slider"] |
4908 |
|
<div class="${carouselType} ui-${carouselType}-${stk.count(carouselType)}"> |
4909 |
|
<div class="ui-${carouselType}-handle"></div> |
4910 |
|
</div> |
4911 |
|
[/#if] |
4912 |
|
|
4913 |
|
[#-- For paging carousel --] |
4914 |
|
[#if carouselType=="paging"] |
4915 |
|
<div class="pagination"></div> |
4916 |
|
[/#if] |
4917 |
|
|
4918 |
|
</div><!-- end ${divClass} tw-${carouselType} --> |
4919 |
|
</text> |
4920 |
|
</carousel> |
4921 |
|
<carouselItem sv:name="carouselItem"> |
4922 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
4923 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
4924 |
|
<text sv:name="text" sv:type="String"> |
4925 |
|
|
4926 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
4927 |
|
|
4928 |
|
[#-- Include: Global --] |
4929 |
|
[#include "../teasers/init.inc.ftl"] |
4930 |
|
|
4931 |
|
[#-- Assigns: General --] |
4932 |
|
[#assign cms=JspTaglibs["cms-taglib"]] |
4933 |
|
|
4934 |
|
[#-- Assigns: Get and check Teaser Target --] |
4935 |
|
[#assign target = model.target!] |
4936 |
|
[#assign hasTarget = target?has_content] |
4937 |
|
|
4938 |
|
[#-- Assigns: Get Content --] |
4939 |
|
[#assign carouselType = ctx.carouselType] |
4940 |
|
|
4941 |
|
[#-- Assigns: Macro assigning Values --] |
4942 |
|
[#macro assignValues ] |
4943 |
|
[#-- Assigns: Get Content --] |
4944 |
|
[#assign title = content.teaserTitle!target.title!target.@name] |
4945 |
|
[#assign text = content.teaserAbstract!target.abstract!] |
4946 |
|
[#assign teaserLink = model.teaserLink!] |
4947 |
|
|
4948 |
|
[#if !hideTeaserImage] |
4949 |
|
[#assign imageLink = (model.image!).link!] |
4950 |
|
[/#if] |
4951 |
|
|
4952 |
|
[#-- Assigns: Is Content Available --] |
4953 |
|
[#assign hasImageLink = imageLink?has_content] |
4954 |
|
[#assign hasText = text?has_content] |
4955 |
|
|
4956 |
|
[#-- Assigns: Define alt for image tag --] |
4957 |
|
[#if hasImageLink] |
4958 |
|
[#assign imageAlt = title] |
4959 |
|
[#else] |
4960 |
|
[#assign imageAlt = "${i18n['image.resolveError']}"] |
4961 |
|
[/#if] |
4962 |
|
|
4963 |
|
[#-- Assigns: Add " mod" to divClass if no image is available --] |
4964 |
|
[#if !hasImageLink] |
4965 |
|
[#assign divClass = divClass+" mod"] |
4966 |
|
[/#if] |
4967 |
|
[/#macro] |
4968 |
|
|
4969 |
|
|
4970 |
|
|
4971 |
|
[#-------------- RENDERING PART --------------] |
4972 |
|
|
4973 |
|
[#-- Rendering: Stage Carousel Item --] |
4974 |
|
[#if hasTarget] |
4975 |
|
[#-- Macro: Value Assigns --] |
4976 |
|
[@assignValues /] |
4977 |
|
|
4978 |
|
<div class="${divClass}"> |
4979 |
|
|
4980 |
|
[#-- Rendering the switcher and slider carousel item --] |
4981 |
|
[#if carouselType=="switcher" || carouselType=="slider"] |
4982 |
|
[@cms.editBar editLabel="${i18n['carouselItem.editLabel']}" deleteLabel="${i18n['carouselItem.deleteLabel']}"/] |
4983 |
|
|
4984 |
|
<${headingLevel}><a href="${teaserLink}">${title}</a></${headingLevel}> |
4985 |
|
[#if hasImageLink]<a href="${teaserLink}"><img src="${imageLink}" alt="${imageAlt}" /></a>[/#if] |
4986 |
|
[#if hasText]<p>${stk.abbreviateString(text, 270) + " "}<em class="more"><a href="${model.teaserLink}">${i18n['link.readon']} </a></em></p>[/#if] |
4987 |
|
|
4988 |
|
[#-- Rendering the paging carousel item --] |
4989 |
|
[#elseif carouselType=="paging"] |
4990 |
|
[@cms.editBar editLabel="${i18n['carouselItem.editLabel']}" moveLabel="" deleteLabel="${i18n['carouselItem.deleteLabel']}"/] |
4991 |
|
|
4992 |
|
<${headingLevel}><a href="${teaserLink}">${title}</a></${headingLevel}> |
4993 |
|
[#if hasImageLink]<img src="${imageLink}" alt="${imageAlt}" />[/#if] |
4994 |
|
[#if hasText]<p>${stk.abbreviateString(text, 330)}</p>[/#if] |
4995 |
|
[/#if] |
4996 |
|
|
4997 |
|
</div><!-- end ${divClass} --> |
4998 |
|
|
4999 |
|
[#else] |
5000 |
|
[#if mgnl.editMode] |
5001 |
|
<div class="${divClass}"> |
5002 |
|
[@cms.editBar editLabel="${i18n['carouselItem.editLabel']}" /] |
5003 |
|
|
5004 |
|
<${headingLevel}><a href="javascript:alert('${i18n['teaser.internal.resolveError']?js_string}')">${i18n['teaser.internal.resolveError']}</a></${headingLevel}> |
5005 |
|
</div><!-- end ${divClass} --> |
5006 |
|
[/#if] |
5007 |
|
[/#if] |
5008 |
|
</text> |
5009 |
|
</carouselItem> |
5010 |
|
<contact sv:name="contact"> |
5011 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
5012 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
5013 |
|
<text sv:name="text" sv:type="String">[#-------------- INCLUDE AND ASSIGN PART --------------] |
5014 |
|
|
5015 |
|
[#-- Include: Global --] |
5016 |
|
[#include "init.inc.ftl"] |
5017 |
|
|
5018 |
|
[#-- Assigns: Get and check Latest Events --] |
5019 |
|
[#assign contact = model.contact!] |
5020 |
|
[#if contact?has_content] |
5021 |
|
[#assign hasPhoto = model.photo?has_content] |
5022 |
|
[#assign hasPhotoCaption = contact.photoCaption?has_content] |
5023 |
|
[#assign hasOrganization = contact.organizationName?has_content || contact.organizationUnit?has_content || contact.title?has_content ] |
5024 |
|
[#assign hasAddress = contact.streetAddress?has_content || contact.zip?has_content || contact.city?has_content ] |
5025 |
|
[#assign hasTelephone = contact.officePhone?has_content || contact.officeFax?has_content || contact.cellPhone?has_content ] |
5026 |
|
[/#if] |
5027 |
|
[#-------------- RENDERING PART --------------] |
5028 |
|
|
5029 |
|
[#-- Rendering: Contact --] |
5030 |
|
[#if contact?has_content] |
5031 |
|
<div class="${divClass}" ${divID}> |
5032 |
|
[@cms.editBar /] |
5033 |
|
<${headingLevel}>${i18n['contact.title']}</${headingLevel}> |
5034 |
|
|
5035 |
|
[#if hasPhoto] |
5036 |
|
<dl class="photo mod"> |
5037 |
|
<dt><img src="${stk.createImageLink(model.photo, model)}" alt="${contact.photoAltText!?html}" /></dt> |
5038 |
|
[#if hasPhotoCaption] |
5039 |
|
<dd class="caption">${contact.photoCaption?html}</dd> |
5040 |
|
[/#if] |
5041 |
|
</dl> |
5042 |
|
[/#if] |
5043 |
|
[#if hasOrganization] |
5044 |
|
<div class="org"> |
5045 |
|
<h3>${i18n['contact.company']}</h3> |
5046 |
|
[#if contact.organizationName?has_content] |
5047 |
|
<p class="organization-name">${contact.organizationName?html}</p> |
5048 |
|
[/#if] |
5049 |
|
[#if contact.organizationUnit?has_content] |
5050 |
|
<p class="organization-unit">${contact.organizationUnit?html}</p> |
5051 |
|
[/#if] |
5052 |
|
[#if contact.title?has_content] |
5053 |
|
<p class="title">${contact.title?html}</p> |
5054 |
|
[/#if] |
5055 |
|
</div> |
5056 |
|
[/#if] |
5057 |
|
[#if contact.givenName?has_content] |
5058 |
|
<div> |
5059 |
|
<h3>${i18n['contact.name']}</h3> |
5060 |
|
<p class="fn n"><span class="given-name">${contact.givenName?html}</span> <span class="family-name">${contact.familyName?html}</span></p> |
5061 |
|
</div> |
5062 |
|
[/#if] |
5063 |
|
[#if hasAddress] |
5064 |
|
<div class="adr"> |
5065 |
|
<h3>${i18n['contact.address']}</h3> |
5066 |
|
[#if contact.streetAddress?has_content] |
5067 |
|
<p class="street-address">${contact.streetAddress?html}</p> |
5068 |
|
[/#if] |
5069 |
|
[#if contact.zip?has_content] |
5070 |
|
<p><span class="postal-code">${contact.zip?html}</span> <span class="locality">${contact.city?html}</span></p> |
5071 |
|
[/#if] |
5072 |
|
[#if contact.country?has_content] |
5073 |
|
<p> |
5074 |
|
<span class="country-name">${contact.country?html}</span> |
5075 |
|
</p> |
5076 |
|
[/#if] |
5077 |
|
</div> |
5078 |
|
[/#if] |
5079 |
|
[#if hasTelephone?has_content] |
5080 |
|
<div> |
5081 |
|
<h3>${i18n['contact.telephone']}</h3> |
5082 |
|
[#if contact.officePhone?has_content] |
5083 |
|
<dl class="tel"> |
5084 |
|
<dt><span class="type">work</span> |
5085 |
|
${i18n['contact.office.phone']}</dt> |
5086 |
|
<dd class="value">${contact.officePhone?html}</dd> |
5087 |
|
</dl> |
5088 |
|
[/#if] |
5089 |
|
[#if contact.officeFax?has_content] |
5090 |
|
<dl class="tel fax"> |
5091 |
|
<dt><span class="type">fax</span> |
5092 |
|
${i18n['contact.office.fax']}</dt> |
5093 |
|
<dd class="value">${contact.officeFax?html}</dd> |
5094 |
|
</dl> |
5095 |
|
[/#if] |
5096 |
|
[#if contact.cellPhone?has_content] |
5097 |
|
<dl class="tel mobile"> |
5098 |
|
<dt><span class="type">cell</span> |
5099 |
|
${i18n['contact.cellphone']}</dt> |
5100 |
|
<dd class="value">${contact.cellPhone?html}</dd> |
5101 |
|
</dl> |
5102 |
|
[/#if] |
5103 |
|
</div> |
5104 |
|
[/#if] |
5105 |
|
[#if contact.email?has_content] |
5106 |
|
<div> |
5107 |
|
<h3>${i18n['contact.mail.title']}</h3> |
5108 |
|
<dl class="email"> |
5109 |
|
<dt>${i18n['contact.mail']}</dt> |
5110 |
|
<dd class="value"><a href="mailto:${contact.email?html}">${contact.email?html}</a></dd> |
5111 |
|
|
5112 |
|
</dl> |
5113 |
|
</div> |
5114 |
|
[/#if] |
5115 |
|
[#if model.website?has_content] |
5116 |
|
<div> |
5117 |
|
<h3>${i18n['contact.web.title']}</h3> |
5118 |
|
<dl class="url"> |
5119 |
|
<dt>${i18n['contact.web']}</dt> |
5120 |
|
<dd class="url"><a href="${model.website?html}">${contact.web?html}</a></dd> |
5121 |
|
</dl> |
5122 |
|
</div> |
5123 |
|
[/#if] |
5124 |
|
</div><!-- end ${divClass} --> |
5125 |
|
[#elseif mgnl.editMode] |
5126 |
|
[@cms.editBar /] |
5127 |
|
[/#if] |
5128 |
|
|
5129 |
|
</text> |
5130 |
|
</contact> |
5131 |
|
<downloadFile sv:name="downloadFile"> |
5132 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
5133 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
5134 |
|
<text sv:name="text" sv:type="String"> |
5135 |
|
|
5136 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
5137 |
|
|
5138 |
|
[#-- Include: Global --] |
5139 |
|
[#include "init.inc.ftl"] |
5140 |
|
|
5141 |
|
[#-- Assigns: Get and check Teaser Target --] |
5142 |
|
[#assign target = model.target!] |
5143 |
|
[#assign hasTarget = target?has_content] |
5144 |
|
|
5145 |
|
[#-- Assigns: Macro assigning Values --] |
5146 |
|
[#macro assignValues] |
5147 |
|
[#-- Assigns: Get Content --] |
5148 |
|
[#assign document = model.DMSDocument] |
5149 |
|
[#assign text = content.teaserAbstract!] |
5150 |
|
[#assign title = content.teaserTitle!document.title!document.@name] |
5151 |
|
[#assign teaserLink = model.teaserLink!] |
5152 |
|
|
5153 |
|
[#if !hideTeaserImage] |
5154 |
|
[#assign imageLink = (model.image!).link!] |
5155 |
|
[/#if] |
5156 |
|
|
5157 |
|
[#-- Assigns: Is Content Available --] |
5158 |
|
[#assign hasImageLink = imageLink?has_content] |
5159 |
|
[#assign hasText = text?has_content] |
5160 |
|
|
5161 |
|
[#-- Assigns: Define alt for image tag --] |
5162 |
|
[#if hasImageLink] |
5163 |
|
[#assign imageAlt = title] |
5164 |
|
[#else] |
5165 |
|
[#assign imageAlt = "${i18n['image.resolveError']}"] |
5166 |
|
[/#if] |
5167 |
|
[/#macro] |
5168 |
|
|
5169 |
|
|
5170 |
|
|
5171 |
|
[#-------------- RENDERING PART --------------] |
5172 |
|
|
5173 |
|
[#-- Rendering: Teaser Download File --] |
5174 |
|
[#if hasTarget] |
5175 |
|
[#-- Macro: Value Assigns --] |
5176 |
|
[@assignValues /] |
5177 |
|
|
5178 |
|
<div class="${divClass}" ${divID}> |
5179 |
|
[#-- Macro: Edit Bar --] |
5180 |
|
[@editBar /] |
5181 |
|
|
5182 |
|
<${headingLevel}><a href="${teaserLink}">${title} <em>(${document.fileExtension?upper_case}, ${(document.fileSize / 1024)?string("0")} ${i18n['downloadFile.kb']})</em></a></${headingLevel}> |
5183 |
|
[#if hasImageLink]<a href="${teaserLink}"><img src="${imageLink}" alt="${imageAlt}" /></a>[/#if] |
5184 |
|
[#if hasText]<p>${text}</p>[/#if] |
5185 |
|
</div><!-- end ${divClass} --> |
5186 |
|
|
5187 |
|
[#else] |
5188 |
|
[#if mgnl.editMode] |
5189 |
|
<div class="${divClass}" ${divID}> |
5190 |
|
[#-- Macro: Edit Bar --] |
5191 |
|
[@editBar /] |
5192 |
|
|
5193 |
|
<${headingLevel}><a href="javascript:alert('${i18n['teaser.download.resolveError']?js_string}')">${i18n['teaser.download.resolveError']}</a></${headingLevel}> |
5194 |
|
</div><!-- end ${divClass} --> |
5195 |
|
[/#if] |
5196 |
|
[/#if] |
5197 |
|
|
5198 |
|
|
5199 |
|
|
5200 |
|
[#-------------- ADDITIONAL MACROS --------------] |
5201 |
|
|
5202 |
|
[#-- Macro: Edit Bar --] |
5203 |
|
[#macro editBar] |
5204 |
|
[#if divClass == "text-box-section" || divClass == "text-box-section mod" || divClass == "toc-box-section" || divClass == "toc-box-section mod"] |
5205 |
|
[@cms.editBar moveLabel="" editLabel="${i18n['tabItem.editLabel']}" /] |
5206 |
|
[#else] |
5207 |
|
[@cms.editBar /] |
5208 |
|
[/#if] |
5209 |
|
[/#macro] |
5210 |
|
|
5211 |
|
</text> |
5212 |
|
</downloadFile> |
5213 |
|
<eventsList sv:name="eventsList"> |
5214 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
5215 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
5216 |
|
<text sv:name="text" sv:type="String"> |
5217 |
|
|
5218 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
5219 |
|
|
5220 |
|
[#-- Include: Global --] |
5221 |
|
[#include "init.inc.ftl"] |
5222 |
|
|
5223 |
|
[#-- Assigns: Get and check Latest Events --] |
5224 |
|
[#assign latestEvents = model.items!] |
5225 |
|
[#assign hasLatestEvents = latestEvents?has_content] |
5226 |
|
|
5227 |
|
[#-- Assigns: Macro for Item iteration --] |
5228 |
|
[#macro assignItemValues item] |
5229 |
|
[#-- Assigns: Get Content from List Item--] |
5230 |
|
[#assign itemTitle = item.title!item.@name] |
5231 |
|
[#assign itemText = stk.abbreviateString(item.abstract!, 100)] |
5232 |
|
[#assign itemLink = mgnl.createLink(item)!] |
5233 |
|
[#assign itemDate = item.date] |
5234 |
|
[#assign itemLocation = item.location] |
5235 |
|
|
5236 |
|
[#-- Assigns: Is Content Available of Item--] |
5237 |
|
[#assign hasText = itemText?has_content] |
5238 |
|
[#assign hasDate = itemDate?has_content] |
5239 |
|
[#assign hasLocation = itemLocation?has_content] |
5240 |
|
[#assign showText = hasText && content.showAbstract] |
5241 |
|
[/#macro] |
5242 |
|
|
5243 |
|
|
5244 |
|
|
5245 |
|
[#-------------- RENDERING PART --------------] |
5246 |
|
|
5247 |
|
[#-- Rendering: Latest Events --] |
5248 |
|
<div class="${divClass}" ${divID}> |
5249 |
|
[@cms.editBar /] |
5250 |
|
<${headingLevel}>${content.teaserTitle}</${headingLevel}> |
5251 |
|
|
5252 |
|
[#if hasLatestEvents] |
5253 |
|
<ul> |
5254 |
|
[#list latestEvents as item] |
5255 |
|
[#-- Macro: Item Assigns --] |
5256 |
|
[@assignItemValues item=item/] |
5257 |
|
|
5258 |
|
[#-- Rendering: List Item rendering --] |
5259 |
|
<li> |
5260 |
|
[#if hasDate] |
5261 |
|
<div class="date"> |
5262 |
|
<span class="month"><abbr title="${itemDate?string("MMMM")}">${itemDate?string("MMM")}</abbr></span> |
5263 |
|
<span class="day">${itemDate?string("d")}<span>.</span></span> |
5264 |
|
</div> |
5265 |
|
[/#if] |
5266 |
|
|
5267 |
|
<h3> |
5268 |
|
<a href="${itemLink}">${itemTitle}</a> |
5269 |
|
</h3> |
5270 |
|
|
5271 |
|
[#if hasLocation || hasDate || showText] |
5272 |
|
<ul class="event-data"> |
5273 |
|
[#if hasLocation] |
5274 |
|
<li class="location">${itemLocation}</li> |
5275 |
|
[/#if] |
5276 |
|
[#if hasDate] |
5277 |
|
<li class="time">${itemDate?time?string.short}</li> |
5278 |
|
[/#if] |
5279 |
|
[#if showText] |
5280 |
|
<li class="organizer">${itemText}</li> |
5281 |
|
[/#if] |
5282 |
|
</ul> |
5283 |
|
[/#if] |
5284 |
|
</li> |
5285 |
|
[/#list] |
5286 |
|
</ul> |
5287 |
|
[#if model.allEventsLink??] |
5288 |
|
<p class="all"><a href="${model.allEventsLink}">${i18n['eventsList.link.allEvents']}</a></p> |
5289 |
|
[/#if] |
5290 |
|
[#else] |
5291 |
|
<p>${i18n['eventsList.noResults']}</p> |
5292 |
|
[/#if] |
5293 |
|
</div><!-- end ${divClass} --> |
5294 |
|
|
5295 |
|
</text> |
5296 |
|
</eventsList> |
5297 |
|
<externalPage sv:name="externalPage"> |
5298 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
5299 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
5300 |
|
<text sv:name="text" sv:type="String"> |
5301 |
|
|
5302 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
5303 |
|
|
5304 |
|
[#-- Include: Global --] |
5305 |
|
[#include "init.inc.ftl"] |
5306 |
|
|
5307 |
|
[#-- Assigns: Get Content --] |
5308 |
|
[#assign text = content.teaserAbstract!] |
5309 |
|
[#assign title = model.teaserTitle!] |
5310 |
|
[#assign teaserLink = model.teaserLink!] |
5311 |
|
|
5312 |
|
[#if !hideTeaserImage] |
5313 |
|
[#assign imageLink = (model.image!).link!] |
5314 |
|
[/#if] |
5315 |
|
|
5316 |
|
[#-- Assigns: Is Content Available --] |
5317 |
|
[#assign hasImageLink = imageLink?has_content] |
5318 |
|
[#assign hasText = text?has_content] |
5319 |
|
|
5320 |
|
[#-- Assigns: Define alt for image tag --] |
5321 |
|
[#if hasImageLink] |
5322 |
|
[#assign imageAlt = title] |
5323 |
|
[#else] |
5324 |
|
[#assign imageAlt = "${i18n['image.resolveError']}"] |
5325 |
|
[/#if] |
5326 |
|
|
5327 |
|
|
5328 |
|
|
5329 |
|
[#-------------- RENDERING PART --------------] |
5330 |
|
|
5331 |
|
[#-- Rendering: Teaser External Page --] |
5332 |
|
<div class="${divClass}" ${divID}> |
5333 |
|
[#-- Macro: Edit Bar --] |
5334 |
|
[@editBar /] |
5335 |
|
|
5336 |
|
<${headingLevel}><a href="${teaserLink}" target="_blank">${title}</a></${headingLevel}> |
5337 |
|
[#if hasImageLink]<a href="${teaserLink}" target="_blank"><img src="${imageLink}" alt="${imageAlt}" /></a>[/#if] |
5338 |
|
[#if hasText]<p>${text}</p>[/#if] |
5339 |
|
</div><!-- end ${divClass} --> |
5340 |
|
|
5341 |
|
|
5342 |
|
|
5343 |
|
[#-------------- ADDITIONAL MACROS --------------] |
5344 |
|
|
5345 |
|
[#-- Macro: Edit Bar --] |
5346 |
|
[#macro editBar] |
5347 |
|
[#if divClass == "text-box-section" || divClass == "text-box-section mod" || divClass == "toc-box-section" || divClass == "toc-box-section mod"] |
5348 |
|
[@cms.editBar moveLabel="" editLabel="${i18n['tabItem.editLabel']}" /] |
5349 |
|
[#else] |
5350 |
|
[@cms.editBar /] |
5351 |
|
[/#if] |
5352 |
|
[/#macro] |
5353 |
|
</text> |
5354 |
|
</externalPage> |
5355 |
|
<fingerTabbed sv:name="fingerTabbed"> |
5356 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
5357 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
5358 |
|
<text sv:name="text" sv:type="String"> |
5359 |
|
|
5360 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
5361 |
|
|
5362 |
|
[#-- Assigns: General --] |
5363 |
|
[#assign cms=JspTaglibs["cms-taglib"]] |
5364 |
|
|
5365 |
|
[#-- Assigns: Get Content --] |
5366 |
|
[#assign headingLevel = def.headingLevel!] |
5367 |
|
[#assign divClass = def.divClass!] |
5368 |
|
[#assign tocPrefix = def.tocPrefix!] |
5369 |
|
|
5370 |
|
|
5371 |
|
|
5372 |
|
[#-------------- RENDERING PART --------------] |
5373 |
|
|
5374 |
|
[#-- Rendering: Finger Tabbed Teaser --] |
5375 |
|
<div class="${divClass}"> |
5376 |
|
[@cms.editBar editLabel="" moveLabel="${i18n['teaser.group.moveLabel']}" deleteLabel="${i18n['teaser.group.deleteLabel']}" /] |
5377 |
|
|
5378 |
|
<ol class="${divClass}-toc"> |
5379 |
|
[#-- Macro: Item iteration for toc list rendering--] |
5380 |
|
[@iterateItems toc=true /] |
5381 |
|
|
5382 |
|
[#if mgnl.editMode] |
5383 |
|
<li>[@cms.newBar contentNodeCollectionName="fingerTabItems" newLabel="${i18n['tabItem.newLabel']}" paragraph="${def.subParagraph}" /]</li> |
5384 |
|
[/#if] |
5385 |
|
</ol> |
5386 |
|
|
5387 |
|
[#-- Macro: Item iteration for content rendering--] |
5388 |
|
[@iterateItems toc=false /] |
5389 |
|
|
5390 |
|
</div><!-- end ${divClass} --> |
5391 |
|
|
5392 |
|
|
5393 |
|
|
5394 |
|
[#-------------- ADDITIONAL MACROS --------------] |
5395 |
|
|
5396 |
|
[#-- Macro: Iterate through items --] |
5397 |
|
[#macro iterateItems toc] |
5398 |
|
[#assign index=1] |
5399 |
|
[@cms.contentNodeIterator contentNodeCollectionName="fingerTabItems"] |
5400 |
|
[@cms.includeTemplate] |
5401 |
|
[@cms.attribute name="toc" value=toc /] |
5402 |
|
[@cms.attribute name="index" value=index /] |
5403 |
|
[/@cms.includeTemplate] |
5404 |
|
[#assign index=index+1] |
5405 |
|
[/@cms.contentNodeIterator] |
5406 |
|
[/#macro] |
5407 |
|
</text> |
5408 |
|
</fingerTabbed> |
5409 |
|
<fingerTabbedItem sv:name="fingerTabbedItem"> |
5410 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
5411 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
5412 |
|
<text sv:name="text" sv:type="String"> |
5413 |
|
|
5414 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
5415 |
|
[#assign cms=JspTaglibs["cms-taglib"]] |
5416 |
|
|
5417 |
|
[#-- Assigns: Get and check Teaser Target --] |
5418 |
|
[#assign target = model.target!] |
5419 |
|
[#assign hasTarget = target?has_content] |
5420 |
|
|
5421 |
|
[#-- Assigns: Macro assigning Values --] |
5422 |
|
[#macro assignValues] |
5423 |
|
[#-- Assigns: Get Content which is usually assigned by the init.inc.ftl. In this paragraph different indexing is needed for divID value --] |
5424 |
|
[#assign headingLevel = def.headingLevel] |
5425 |
|
[#assign divClass = def.divClass] |
5426 |
|
[#assign divIDPrefix = def.divIDPrefix!] |
5427 |
|
[#assign divID = ""] |
5428 |
|
[#if divIDPrefix?has_content] |
5429 |
|
[#assign divID = "${divIDPrefix}-${ctx.index}"] |
5430 |
|
[/#if] |
5431 |
|
|
5432 |
|
[#-- Assigns: Get Content --] |
5433 |
|
[#assign title = content.teaserTitle!target.title!target.@name] |
5434 |
|
[#assign tabTitle = model.tabTitle!] |
5435 |
|
[#assign text = content.teaserAbstract!target.abstract!] |
5436 |
|
[#assign text = stk.abbreviateString(text, 260)] |
5437 |
|
[#assign teaserLink = model.teaserLink!] |
5438 |
|
|
5439 |
|
[#assign imageLink = (model.image!).link!] |
5440 |
|
|
5441 |
|
[#-- Assigns: Is Content Available --] |
5442 |
|
[#assign hasImageLink = imageLink?has_content] |
5443 |
|
[#assign hasText = text?has_content] |
5444 |
|
|
5445 |
|
[#-- Assigns: Define alt for image tag --] |
5446 |
|
[#if hasImageLink] |
5447 |
|
[#assign imageAlt = title] |
5448 |
|
[#else] |
5449 |
|
[#assign imageAlt = "${i18n['image.resolveError']}"] |
5450 |
|
[/#if] |
5451 |
|
[/#macro] |
5452 |
|
|
5453 |
|
|
5454 |
|
|
5455 |
|
[#-------------- RENDERING PART --------------] |
5456 |
|
|
5457 |
|
[#-- Rendering: Finger Tabbed Teaser toc item --] |
5458 |
|
[#if ctx.toc] |
5459 |
|
[#-- Macro: Value Assigns --] |
5460 |
|
[@assignValues /] |
5461 |
|
|
5462 |
|
<li>[@cms.editBar editLabel="${i18n['tabItem.editLabel']}" /]<a href="#${divID}">${tabTitle}</a></li> |
5463 |
|
[/#if] |
5464 |
|
|
5465 |
|
|
5466 |
|
[#-- Rendering: Finger Tabbed Teaser content item--] |
5467 |
|
[#if !ctx.toc] |
5468 |
|
[#if hasTarget] |
5469 |
|
[#-- Macro: Value Assigns --] |
5470 |
|
[@assignValues /] |
5471 |
|
|
5472 |
|
<div class="${divClass}" id="${divID}"> |
5473 |
|
<${headingLevel}><a href="${teaserLink}">${title}</a></${headingLevel}> |
5474 |
|
[#if hasImageLink]<a href="${teaserLink}"><img src="${imageLink}" alt="${imageAlt}" /></a>[/#if] |
5475 |
|
|
5476 |
|
<p> |
5477 |
|
[#if hasText]${text}[/#if] |
5478 |
|
<em class="more"> |
5479 |
|
<a href="${model.teaserLink}">${i18n['link.readmore']} <span>${i18n['word.about']} ${title}</span></a> |
5480 |
|
</em> |
5481 |
|
</p> |
5482 |
|
</div><!-- end ${divClass} --> |
5483 |
|
|
5484 |
|
[#else] |
5485 |
|
[#if mgnl.editMode] |
5486 |
|
<div class="${divClass}" id="${divID}"> |
5487 |
|
<${headingLevel}><a href="javascript:alert('${i18n['teaser.internal.resolveError']?js_string}')">${i18n['teaser.internal.resolveError']}</a></${headingLevel}> |
5488 |
|
</div><!-- end ${divClass} --> |
5489 |
|
[/#if] |
5490 |
|
[/#if] |
5491 |
|
[/#if] |
5492 |
|
</text> |
5493 |
|
</fingerTabbedItem> |
5494 |
|
<group sv:name="group"> |
5495 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
5496 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
5497 |
|
<text sv:name="text" sv:type="String"> |
5498 |
|
|
5499 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
5500 |
|
|
5501 |
|
[#-- Include: Global --] |
5502 |
|
[#include "init.inc.ftl"] |
5503 |
|
|
5504 |
|
[#-- Assigns: General --] |
5505 |
|
[#assign cms = JspTaglibs["cms-taglib"]] |
5506 |
|
|
5507 |
|
[#-- Assigns: Get Content --] |
5508 |
|
[#assign title = content.title!] |
5509 |
|
[#assign groupItems = content.teaserGroupItems!] |
5510 |
|
|
5511 |
|
[#-- Assigns: Is Content Available --] |
5512 |
|
[#assign hasTitle = title?has_content] |
5513 |
|
[#assign hasGroupItems = groupItems?has_content] |
5514 |
|
|
5515 |
|
[#-- Assigns: Get divIDPrefix abbreviation for sub paragraphs --] |
5516 |
|
[#if def.divIDPrefix?has_content] |
5517 |
|
[#assign abbreviatedPrefix = stk.getDivIdAbbreviation(def.divIDPrefix)] |
5518 |
|
[#else] |
5519 |
|
[#assign abbreviatedPrefix = "tg"] |
5520 |
|
[/#if] |
5521 |
|
|
5522 |
|
[#-------------- RENDERING PART --------------] |
5523 |
|
|
5524 |
|
[#-- Rendering: Teaser Group --] |
5525 |
|
<div class="${divClass}" ${divID}> |
5526 |
|
[@cms.editBar editLabel="${i18n['teaser.group.editLabel']}" deleteLabel="${i18n['teaser.group.deleteLabel']}" /] |
5527 |
|
|
5528 |
|
[#if hasTitle] |
5529 |
|
<${headingLevel}>${title}</${headingLevel}> |
5530 |
|
[/#if] |
5531 |
|
|
5532 |
|
[@cms.contentNodeIterator contentNodeCollectionName="teaserGroupItems"] |
5533 |
|
[@cms.includeTemplate] |
5534 |
|
[#-- Setting a prefix for the sub paragraphs --] |
5535 |
|
[@cms.attribute name="divIdPrefix" value="${abbreviatedPrefix}-${teaserCount}" /] |
5536 |
|
[/@cms.includeTemplate] |
5537 |
|
[/@cms.contentNodeIterator] |
5538 |
|
|
5539 |
|
[@cms.newBar contentNodeCollectionName="teaserGroupItems" newLabel="${i18n['teaser.group.newLabel']}" paragraph="${def.subParagraphs}" /] |
5540 |
|
</div><!-- end ${divClass} --> |
5541 |
|
</text> |
5542 |
|
</group> |
5543 |
|
<horizontalTabbed sv:name="horizontalTabbed"> |
5544 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
5545 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
5546 |
|
<text sv:name="text" sv:type="String"> |
5547 |
|
|
5548 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
5549 |
|
|
5550 |
|
[#-- Include: Global --] |
5551 |
|
[#include "init.inc.ftl"] |
5552 |
|
|
5553 |
|
[#-- Assigns: General --] |
5554 |
|
[#assign cms = JspTaglibs["cms-taglib"]] |
5555 |
|
|
5556 |
|
[#-- Assigns: Get Content --] |
5557 |
|
[#assign title = content.title!] |
5558 |
|
[#assign tabItems = content.horizontalTabItems!] |
5559 |
|
|
5560 |
|
[#-- Assigns: Is Content Available --] |
5561 |
|
[#assign hasTitle = title?has_content] |
5562 |
|
[#assign hasTabItems = tabItems?has_content] |
5563 |
|
|
5564 |
|
[#-- Assigns: For outer indexing --] |
5565 |
|
[#assign outerIndex = stk.count("outerCount")] |
5566 |
|
[#assign outerIndexString = divIDPrefix+"-"+outerIndex] |
5567 |
|
|
5568 |
|
[#-- Assigns: Defining the ol-tag id --] |
5569 |
|
[#if divClass == "text-box-tabs"] |
5570 |
|
[#assign olClass = "text-box-toc"] |
5571 |
|
[#elseif divClass == "box toc-box"] |
5572 |
|
[#assign olClass = "toc-box-toc"] |
5573 |
|
[/#if] |
5574 |
|
|
5575 |
|
|
5576 |
|
|
5577 |
|
[#-------------- RENDERING PART --------------] |
5578 |
|
|
5579 |
|
[#-- Rendering: Horizontal Tabbed Teaser --] |
5580 |
|
<div class="${divClass}" > |
5581 |
|
[@cms.editBar editLabel="${i18n['teaser.group.editLabel']}" /] |
5582 |
|
|
5583 |
|
[#if hasTitle] |
5584 |
|
<${headingLevel}>${title}</${headingLevel}> |
5585 |
|
[/#if] |
5586 |
|
|
5587 |
|
<ol class="${olClass}"> |
5588 |
|
[#if hasTabItems] |
5589 |
|
[#list tabItems?children as item] |
5590 |
|
[#if item_index == 0] |
5591 |
|
[#assign classOn = 'class="on"'] |
5592 |
|
[#else] |
5593 |
|
[#assign classOn = ""] |
5594 |
|
[/#if] |
5595 |
|
<li><a ${classOn} href="#${outerIndexString}-${stk.count(outerIndexString)}"><span>${model.getTabTitle(item)!}</span></a></li> |
5596 |
|
[/#list] |
5597 |
|
[/#if] |
5598 |
|
[#if mgnl.editMode] |
5599 |
|
<li> |
5600 |
|
[@cms.newBar contentNodeCollectionName="horizontalTabItems" newLabel="${i18n['tabItem.newLabel']}" paragraph="${def.subParagraphs}" /] |
5601 |
|
</li> |
5602 |
|
[/#if] |
5603 |
|
</ol> |
5604 |
|
|
5605 |
|
[#assign innerIndex=1] |
5606 |
|
[@cms.contentNodeIterator contentNodeCollectionName="horizontalTabItems"] |
5607 |
|
[@cms.includeTemplate ] |
5608 |
|
[@cms.attribute name="index" value=outerIndex+"-"+innerIndex/] |
5609 |
|
[/@cms.includeTemplate ] |
5610 |
|
[#assign innerIndex=innerIndex+1] |
5611 |
|
[/@cms.contentNodeIterator] |
5612 |
|
</div><!-- end ${divClass} --> |
5613 |
|
</text> |
5614 |
|
</horizontalTabbed> |
5615 |
|
<init.inc sv:name="init.inc"> |
5616 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
5617 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
5618 |
|
<text sv:name="text" sv:type="String">[#assign cms=JspTaglibs["cms-taglib"]] |
5619 |
|
|
5620 |
|
[#assign headingLevel = def.headingLevel] |
5621 |
|
[#assign hideTeaserImage = content.hideTeaserImage!false] |
5622 |
|
[#assign divClass = def.divClass] |
5623 |
|
[#assign divIDPrefix = def.divIDPrefix!] |
5624 |
|
|
5625 |
|
[#-- Adding a prefix passed from the parent teaser-group --] |
5626 |
|
[#if ctx.divIdPrefix?? && divIDPrefix??] |
5627 |
|
[#assign divIDPrefix = "${ctx.divIdPrefix}-${divIDPrefix}"] |
5628 |
|
[/#if] |
5629 |
|
|
5630 |
|
[#-- Setting variable teaserCount for usage in the teaser-template --] |
5631 |
|
[#assign teaserCount = ctx.index!stk.count(divIDPrefix)] |
5632 |
|
|
5633 |
|
[#if divIDPrefix?has_content] |
5634 |
|
[#assign divID = 'id="${divIDPrefix}-${teaserCount}"'] |
5635 |
|
[#elseif def.divID?has_content] |
5636 |
|
[#assign divID = 'id="${def.divID}"'] |
5637 |
|
[#else] |
5638 |
|
[#assign divID = ""] |
5639 |
|
[/#if] |
5640 |
|
|
5641 |
|
[#if hideTeaserImage] |
5642 |
|
[#assign divClass = "${divClass} mod"] |
5643 |
|
[/#if] |
5644 |
|
</text> |
5645 |
|
</init.inc> |
5646 |
|
<internalPage sv:name="internalPage"> |
5647 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
5648 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
5649 |
|
<text sv:name="text" sv:type="String"> |
5650 |
|
|
5651 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
5652 |
|
|
5653 |
|
[#-- Include: Global --] |
5654 |
|
[#include "init.inc.ftl"] |
5655 |
|
[#include "../macros/linkList.ftl"] |
5656 |
|
|
5657 |
|
[#-- Assigns: Get and check Teaser Target --] |
5658 |
|
[#assign target = model.target!] |
5659 |
|
[#assign hasTarget = target?has_content] |
5660 |
|
|
5661 |
|
[#-- Assigns: Macro assigning Values --] |
5662 |
|
[#macro assignValues] |
5663 |
|
[#-- Assigns: Get Content --] |
5664 |
|
[#assign title = content.teaserTitle!target.title!target.@name] |
5665 |
|
[#assign kicker = target.kicker!] |
5666 |
|
[#assign text = content.teaserAbstract!target.abstract!] |
5667 |
|
[#assign teaserLink = model.teaserLink!] |
5668 |
|
[#assign hasLinkList = content.hasLinkList!false] |
5669 |
|
|
5670 |
|
[#if !hideTeaserImage] |
5671 |
|
[#assign imageLink = (model.image!).link!] |
5672 |
|
[#if !imageLink?has_content && divIDPrefix="teaser"] [#-- TODO: This is a hack, solution with imageLink return object must be implemented --] |
5673 |
|
[#assign divClass = "${divClass} mod"] |
5674 |
|
[/#if] |
5675 |
|
[/#if] |
5676 |
|
|
5677 |
|
[#-- Assigns: Is Content Available --] |
5678 |
|
[#assign hasImageLink = imageLink?has_content] |
5679 |
|
[#assign hasText = text?has_content] |
5680 |
|
[#assign hasKicker = kicker?has_content] |
5681 |
|
|
5682 |
|
[#-- Assigns: Define alt for image tag --] |
5683 |
|
[#if hasImageLink] |
5684 |
|
[#assign imageAlt = title] |
5685 |
|
[#else] |
5686 |
|
[#assign imageAlt = "${i18n['image.resolveError']}"] |
5687 |
|
[/#if] |
5688 |
|
[/#macro] |
5689 |
|
|
5690 |
|
|
5691 |
|
|
5692 |
|
[#-------------- RENDERING PART --------------] |
5693 |
|
|
5694 |
|
[#-- Rendering: Teaser Internal Page --] |
5695 |
|
[#if hasTarget] |
5696 |
|
[#-- Macro: Value Assigns --] |
5697 |
|
[@assignValues /] |
5698 |
|
|
5699 |
|
<div class="${divClass}" ${divID}> |
5700 |
|
[#-- Macro: Edit Bar --] |
5701 |
|
[@editBar/] |
5702 |
|
|
5703 |
|
<${headingLevel}> |
5704 |
|
<a href="${teaserLink}"> |
5705 |
|
[#if hasKicker]<em>${kicker}</em>[/#if] |
5706 |
|
${title} |
5707 |
|
</a> |
5708 |
|
</${headingLevel}> |
5709 |
|
[#if hasImageLink]<a href="${teaserLink}"><img src="${imageLink}" alt="${imageAlt}" /></a>[/#if] |
5710 |
|
[#if hasText]<p>${text + " "}<em class="more"><a href="${model.teaserLink}">${i18n['link.readon']} <span>${title}</span></a></em></p>[/#if] |
5711 |
|
|
5712 |
|
[#if hasLinkList] |
5713 |
|
[#-- Macro: Link List from include --] |
5714 |
|
[@linkList titleLevel="h3" content=content /] |
5715 |
|
[/#if] |
5716 |
|
</div><!-- end ${divClass} --> |
5717 |
|
|
5718 |
|
[#else] |
5719 |
|
[#if mgnl.editMode] |
5720 |
|
<div class="${divClass}" ${divID}> |
5721 |
|
[#-- Macro: Edit Bar --] |
5722 |
|
[@editBar/] |
5723 |
|
|
5724 |
|
<${headingLevel}><a href="javascript:alert('${i18n['teaser.internal.resolveError']?js_string}')">${i18n['teaser.internal.resolveError']}</a></${headingLevel}> |
5725 |
|
</div><!-- end ${divClass} --> |
5726 |
|
[/#if] |
5727 |
|
[/#if] |
5728 |
|
|
5729 |
|
|
5730 |
|
|
5731 |
|
[#-------------- ADDITIONAL MACROS --------------] |
5732 |
|
|
5733 |
|
[#-- Macro: Edit Bar --] |
5734 |
|
[#macro editBar] |
5735 |
|
[#if divClass == "opener"] |
5736 |
|
[@cms.editBar moveLabel="" editLabel="${i18n['teaser.opener.editLabel']}" /] |
5737 |
|
[#elseif divClass == "text-box-section" || divClass == "text-box-section mod" || divClass == "toc-box-section" || divClass == "toc-box-section mod"] |
5738 |
|
[@cms.editBar moveLabel="" editLabel="${i18n['tabItem.editLabel']}" /] |
5739 |
|
[#else] |
5740 |
|
[@cms.editBar /] |
5741 |
|
[/#if] |
5742 |
|
[/#macro] |
5743 |
|
</text> |
5744 |
|
</internalPage> |
5745 |
|
<newsList sv:name="newsList"> |
5746 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
5747 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
5748 |
|
<text sv:name="text" sv:type="String"> |
5749 |
|
|
5750 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
5751 |
|
|
5752 |
|
[#-- Include: Global --] |
5753 |
|
[#include "init.inc.ftl"] |
5754 |
|
|
5755 |
|
[#-- Assigns: Get and check Latest News --] |
5756 |
|
[#assign newsList = model.items!] |
5757 |
|
[#assign hasNewsList = newsList?has_content] |
5758 |
|
|
5759 |
|
[#-- Assigns: Macro for Item iteration --] |
5760 |
|
[#macro assignItemValues item] |
5761 |
|
[#-- Assigns: Get Content from List Item--] |
5762 |
|
[#assign itemTitle = item.title!item.@name] |
5763 |
|
[#assign itemText = stk.abbreviateString(item.abstract!, 100)] |
5764 |
|
[#assign itemKicker = item.kicker!] |
5765 |
|
[#assign itemDate = item.date] |
5766 |
|
[#assign itemLink = mgnl.createLink(item)!] |
5767 |
|
[#if !hideTeaserImage] |
5768 |
|
[#assign itemImageLink = stk.getAssetLink(item, "image", model)!] |
5769 |
|
[#-- Assigns: Define alt for image tag --] |
5770 |
|
|
5771 |
|
[#if itemImageLink?has_content] |
5772 |
|
[#assign imageAlt = itemTitle] |
5773 |
|
[#else] |
5774 |
|
[#assign imageAlt = "${i18n['image.resolveError']}"] |
5775 |
|
[/#if] |
5776 |
|
[/#if] |
5777 |
|
|
5778 |
|
[#-- Assigns: Is Content Available of Item--] |
5779 |
|
[#assign hasDate = itemDate?has_content] |
5780 |
|
[#assign hasKicker = itemKicker?has_content] |
5781 |
|
[#assign hasText = itemText?has_content] |
5782 |
|
[#assign hasImageLink = itemImageLink?has_content] |
5783 |
|
|
5784 |
|
[#if hasImageLink] |
5785 |
|
[#assign liClass = ""] |
5786 |
|
[#else] |
5787 |
|
[#assign liClass = "class='mod'"] |
5788 |
|
[/#if] |
5789 |
|
[/#macro] |
5790 |
|
|
5791 |
|
|
5792 |
|
|
5793 |
|
[#-------------- RENDERING PART --------------] |
5794 |
|
|
5795 |
|
[#-- Rendering: Latest News --] |
5796 |
|
<div class="${divClass}" ${divID} > |
5797 |
|
[@cms.editBar /] |
5798 |
|
<${headingLevel}>${content.teaserTitle}</${headingLevel}> |
5799 |
|
|
5800 |
|
[#if hasNewsList] |
5801 |
|
<ul> |
5802 |
|
[#list newsList as item] |
5803 |
|
[#-- Macro: Item Assigns --] |
5804 |
|
[@assignItemValues item=item/] |
5805 |
|
|
5806 |
|
[#-- Rendering: Item rendering --] |
5807 |
|
<li ${liClass}> |
5808 |
|
<h3> |
5809 |
|
<a href="${itemLink}"> |
5810 |
|
[#if hasKicker]<em>${itemKicker}</em>[/#if] |
5811 |
|
${itemTitle} |
5812 |
|
</a> |
5813 |
|
</h3> |
5814 |
|
[#if hasImageLink]<a href="${itemLink}"><img src="${itemImageLink}" alt="${imageAlt}" ></a>[/#if] |
5815 |
|
<p>[#if hasDate]<em class="date">${itemDate?date?string.medium}</em>[/#if] [#if hasText]${itemText}[/#if] <em class="more"><a href="${itemLink}">${i18n['link.readon']} <span> ${itemTitle}</span></a></em></p> |
5816 |
|
</li> |
5817 |
|
[/#list] |
5818 |
|
</ul> |
5819 |
|
[#if model.allNewsLink??] |
5820 |
|
<p class="all"><a href="${model.allNewsLink}">${i18n['newsList.link.allNews']}</a></p> |
5821 |
|
[/#if] |
5822 |
|
[#else] |
5823 |
|
<ul> |
5824 |
|
<p>${i18n['newsList.noResults']}</p> |
5825 |
|
</ul> |
5826 |
|
[/#if] |
5827 |
|
</div><!-- end ${divClass} --> |
5828 |
|
|
5829 |
|
|
5830 |
|
</text> |
5831 |
|
</newsList> |
5832 |
|
<promo sv:name="promo"> |
5833 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
5834 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
5835 |
|
<text sv:name="text" sv:type="String"> |
5836 |
|
|
5837 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
5838 |
|
|
5839 |
|
[#-- Include: Global --] |
5840 |
|
[#include "init.inc.ftl"] |
5841 |
|
|
5842 |
|
[#-- Assigns: Get and check Teaser Target --] |
5843 |
|
[#assign target = model.target!] |
5844 |
|
[#assign hasTarget = target?has_content] |
5845 |
|
|
5846 |
|
[#-- Assigns: Macro assigning Values --] |
5847 |
|
[#macro assignValues] |
5848 |
|
[#-- Assigns: Get Content --] |
5849 |
|
[#assign title = content.teaserTitle!target.title!target.@name] |
5850 |
|
[#assign text = content.teaserAbstract!target.abstract!] |
5851 |
|
[#assign teaserLink = model.teaserLink!] |
5852 |
|
[#assign text = stk.abbreviateString(text, 80)] |
5853 |
|
[#assign image = model.image!] |
5854 |
|
[#if image?has_content && !hideTeaserImage] |
5855 |
|
[#assign imageLink = stk.getAssetVariation(image, "promo").link] |
5856 |
|
[/#if] |
5857 |
|
|
5858 |
|
[#-- Assigns: Is Content Available --] |
5859 |
|
[#assign hasImageLink = imageLink?has_content] |
5860 |
|
[#assign hasText = text?has_content] |
5861 |
|
|
5862 |
|
[#-- Assigns: Define alt for image tag --] |
5863 |
|
[#if hasImageLink] |
5864 |
|
[#assign imageAlt = title] |
5865 |
|
[#else] |
5866 |
|
[#assign imageAlt = "${i18n['image.resolveError']}"] |
5867 |
|
[/#if] |
5868 |
|
[/#macro] |
5869 |
|
|
5870 |
|
|
5871 |
|
|
5872 |
|
[#-------------- RENDERING PART --------------] |
5873 |
|
|
5874 |
|
[#-- Rendering: Promo Teaser Internal Page --] |
5875 |
|
[#if hasTarget] |
5876 |
|
[#-- Macro: Value Assigns --] |
5877 |
|
[@assignValues /] |
5878 |
|
|
5879 |
|
<div class="${divClass}" ${divID}> |
5880 |
|
[@cms.editBar /] |
5881 |
|
[#if hasImageLink] |
5882 |
|
<a href="${teaserLink}"><img src="${imageLink}" alt="${imageAlt}" /></a> |
5883 |
|
[#else] |
5884 |
|
<a href="${teaserLink}"><img height="90" src="${contextPath}/.resources/0.gif" alt="${imageAlt}" /></a>[#-- TODO: THis is a hack for a promo ponting to a target page without teaser image --] |
5885 |
|
[/#if] |
5886 |
|
|
5887 |
|
<div class="promo-text"> |
5888 |
|
<${headingLevel}><a href="${teaserLink}">${title}</a></${headingLevel}> |
5889 |
|
[#if hasText]<p>${text}<em class="more"><a href="${model.teaserLink}">${i18n['link.readon']} <span>${title}</span></a></em></p>[/#if] |
5890 |
|
</div> |
5891 |
|
</div><!-- end ${divClass} --> |
5892 |
|
|
5893 |
|
[#else] |
5894 |
|
[#if mgnl.editMode] |
5895 |
|
<div class="${divClass}" ${divID}> |
5896 |
|
[@cms.editBar /] |
5897 |
|
<${headingLevel}><a href="javascript:alert('${i18n['teaser.internal.resolveError']?js_string}')">${i18n['teaser.internal.resolveError']}</a></${headingLevel}> |
5898 |
|
</div><!-- end ${divClass} --> |
5899 |
|
[/#if] |
5900 |
|
[/#if] |
5901 |
|
|
5902 |
|
</text> |
5903 |
|
</promo> |
5904 |
|
<pureLinkList sv:name="pureLinkList"> |
5905 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
5906 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
5907 |
|
<text sv:name="text" sv:type="String"> |
5908 |
|
|
5909 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
5910 |
|
|
5911 |
|
[#-- Include: Global --] |
5912 |
|
[#include "init.inc.ftl"] |
5913 |
|
[#include "../macros/linkList.ftl"] |
5914 |
|
|
5915 |
|
[#-- Assigns: Get Content --] |
5916 |
|
[#assign title = content.teaserTitle!] |
5917 |
|
[#assign text = content.teaserAbstract!] |
5918 |
|
|
5919 |
|
[#if !hideTeaserImage] |
5920 |
|
[#assign imageLink = (model.image!).link!] |
5921 |
|
[/#if] |
5922 |
|
|
5923 |
|
[#-- Assigns: Is Content Available --] |
5924 |
|
[#assign hasImageLink = imageLink?has_content] |
5925 |
|
[#assign hasText = text?has_content] |
5926 |
|
|
5927 |
|
[#-- Assigns: Define alt for image tag --] |
5928 |
|
[#if hasImageLink] |
5929 |
|
[#assign imageAlt = title] |
5930 |
|
[#else] |
5931 |
|
[#assign imageAlt = "${i18n['image.resolveError']}"] |
5932 |
|
[/#if] |
5933 |
|
|
5934 |
|
|
5935 |
|
|
5936 |
|
[#-------------- RENDERING PART --------------] |
5937 |
|
|
5938 |
|
[#-- Rendering: Pure Link List --] |
5939 |
|
<div class="${divClass}" ${divID}> |
5940 |
|
[@cms.editBar /] |
5941 |
|
|
5942 |
|
<${headingLevel}>${title}</${headingLevel}> |
5943 |
|
[#if hasImageLink]<img src="${imageLink}" alt="${imageAlt}" />[/#if] |
5944 |
|
[#if hasText]<p>${text}</p>[/#if] |
5945 |
|
|
5946 |
|
[#-- Macro: Link List from include --] |
5947 |
|
[@linkList titleLevel="h3" content=content /] |
5948 |
|
</div><!-- end ${divClass} --> |
5949 |
|
|
5950 |
|
</text> |
5951 |
|
</pureLinkList> |
5952 |
|
<stkTeaserCombinedFeed sv:name="stkTeaserCombinedFeed"> |
5953 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
5954 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
5955 |
|
<text sv:name="text" sv:type="String">[#-------------- INCLUDE AND ASSIGN PART --------------] |
5956 |
|
|
5957 |
|
[#assign cms=JspTaglibs["cms-taglib"]] |
5958 |
|
|
5959 |
|
[#assign headingLevel = def.headingLevel] |
5960 |
|
[#assign hideTeaserImage = content.hideTeaserImage!false] |
5961 |
|
[#assign divClass = def.divClass] |
5962 |
|
[#assign divIDPrefix = def.divIDPrefix!] |
5963 |
|
|
5964 |
|
[#if divIDPrefix?has_content] |
5965 |
|
[#assign divID = 'id="${divIDPrefix}-${ctx.index!stk.count(divIDPrefix)}"'] |
5966 |
|
[#elseif def.divID?has_content] |
5967 |
|
[#assign divID = 'id="${def.divID}"'] |
5968 |
|
[#else] |
5969 |
|
[#assign divID = ""] |
5970 |
|
[/#if] |
5971 |
|
|
5972 |
|
[#if hideTeaserImage] |
5973 |
|
[#assign divClass = "${divClass} mod"] |
5974 |
|
[/#if] |
5975 |
|
|
5976 |
|
[#-- Assigns: Get and check Latest News --] |
5977 |
|
[#assign newsList = model.items!] |
5978 |
|
[#assign hasNewsList = newsList?has_content] |
5979 |
|
[#assign showIndex = content.showIndex == "true"] |
5980 |
|
|
5981 |
|
[#-- Assigns: Macro for Item iteration --] |
5982 |
|
[#macro assignItemValues item] |
5983 |
|
[#-- Assigns: Get Content from List Item--] |
5984 |
|
[#assign itemTitle = item.title!item.@name] |
5985 |
|
[#if content.descriptionCut == -1] |
5986 |
|
[#assign itemText = item.description!?replace("</?[^>]+(>|$)", "", "r")] |
5987 |
|
[#else] |
5988 |
|
[#assign itemText = stk.abbreviateString(item.description!?replace("</?[^>]+(>|$)", "", "r"), content.descriptionCut)] |
5989 |
|
[/#if] |
5990 |
|
[#assign itemDate = model.convertPubDate(item.pubDate!)!] |
5991 |
|
[#assign itemLink = item.link!] |
5992 |
|
|
5993 |
|
[#-- Assigns: Is Content Available of Item--] |
5994 |
|
[#assign hasDate = itemDate?has_content] |
5995 |
|
[#assign hasText = itemText?has_content] |
5996 |
|
[#assign showAuthor = (content.showAuthor == "true" && item.author?has_content)] |
5997 |
|
[#assign itemAuthor = item.author!] |
5998 |
|
[/#macro] |
5999 |
|
|
6000 |
|
|
6001 |
|
|
6002 |
|
[#-------------- RENDERING PART --------------] |
6003 |
|
|
6004 |
|
[#-- Rendering: Latest News --] |
6005 |
|
<div class="${divClass}" ${divID}> |
6006 |
|
[@cms.editBar /] |
6007 |
|
<${headingLevel}>${content.title}</${headingLevel}> |
6008 |
|
|
6009 |
|
[#if hasNewsList] |
6010 |
|
<ul> |
6011 |
|
[#list newsList as item] |
6012 |
|
[#if content.entryCount > -1 && item_index + 1 > content.entryCount ][#break][/#if] |
6013 |
|
[#-- Macro: Item Assigns --] |
6014 |
|
[@assignItemValues item=item/] |
6015 |
|
|
6016 |
|
[#-- Rendering: Item rendering --] |
6017 |
|
<li class="mod"> |
6018 |
|
<h3>[#if showIndex]${item_index+1}.[/#if] |
6019 |
|
<a href="${itemLink}"> |
6020 |
|
${itemTitle} |
6021 |
|
</a> |
6022 |
|
</h3> |
6023 |
|
<p>[#if hasDate]<span class="teaser-meta"><em class="date">${itemDate?date?string.medium}</em>[/#if] [#if showAuthor]<em class="author">${itemAuthor}</em>[/#if]</span> [#if hasText]${itemText}[/#if] <em class="more"><a href="${itemLink}">${i18n['rssaggregator.template.readmore']} <span> ${itemTitle}</span></a></em></p> |
6024 |
|
</li> |
6025 |
|
[/#list] |
6026 |
|
</ul> |
6027 |
|
[#else] |
6028 |
|
<ul> |
6029 |
|
<p>${i18n['rssaggregator.template.noResults']}</p> |
6030 |
|
</ul> |
6031 |
|
[/#if] |
6032 |
|
</div><!-- end ${divClass} --> |
6033 |
|
</text> |
6034 |
|
</stkTeaserCombinedFeed> |
6035 |
|
<stkTeaserSingleFeed sv:name="stkTeaserSingleFeed"> |
6036 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6037 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6038 |
|
<text sv:name="text" sv:type="String"> |
6039 |
|
|
6040 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
6041 |
|
|
6042 |
|
[#assign cms=JspTaglibs["cms-taglib"]] |
6043 |
|
|
6044 |
|
[#assign headingLevel = def.headingLevel] |
6045 |
|
[#assign hideTeaserImage = content.hideTeaserImage!false] |
6046 |
|
[#assign divClass = def.divClass] |
6047 |
|
[#assign divIDPrefix = def.divIDPrefix!] |
6048 |
|
|
6049 |
|
[#if divIDPrefix?has_content] |
6050 |
|
[#assign divID = 'id="${divIDPrefix}-${ctx.index!stk.count(divIDPrefix)}"'] |
6051 |
|
[#elseif def.divID?has_content] |
6052 |
|
[#assign divID = 'id="${def.divID}"'] |
6053 |
|
[#else] |
6054 |
|
[#assign divID = ""] |
6055 |
|
[/#if] |
6056 |
|
|
6057 |
|
[#if hideTeaserImage] |
6058 |
|
[#assign divClass = "${divClass} mod"] |
6059 |
|
[/#if] |
6060 |
|
|
6061 |
|
|
6062 |
|
[#-- Assigns: Get and check Latest News --] |
6063 |
|
[#assign feedList = model.feeds] |
6064 |
|
[#assign hasFeedList = feedList?has_content] |
6065 |
|
|
6066 |
|
[#-- Assigns: Macro for Item iteration --] |
6067 |
|
[#macro assignItemValues item] |
6068 |
|
[#-- Assigns: Get Content from List Item--] |
6069 |
|
[#assign itemTitle = item.title!item.@name] |
6070 |
|
[#assign itemText = stk.abbreviateString(item.description!?replace("</?[^>]+(>|$)", "", "r"), content.descriptionCut)] |
6071 |
|
[#assign itemDate = model.convertPubDate(item.pubDate!)!] |
6072 |
|
[#assign itemLink = item.link!] |
6073 |
|
|
6074 |
|
[#-- Assigns: Is Content Available of Item--] |
6075 |
|
[#assign hasDate = itemDate?has_content] |
6076 |
|
[#assign hasText = itemText?has_content] |
6077 |
|
[/#macro] |
6078 |
|
|
6079 |
|
|
6080 |
|
|
6081 |
|
[#-------------- RENDERING PART --------------] |
6082 |
|
|
6083 |
|
[#-- Rendering: Single Feed --] |
6084 |
|
<div class="${divClass}" ${divID}> |
6085 |
|
[@cms.editBar /] |
6086 |
|
[#if hasFeedList] |
6087 |
|
[#list feedList as feed] |
6088 |
|
<${headingLevel}>${feed.title!}</${headingLevel}> |
6089 |
|
[#assign newsList = model.getItems(feed.@handle)!] |
6090 |
|
[#assign hasNewsList = newsList?has_content] |
6091 |
|
[#if hasNewsList] |
6092 |
|
<ul> |
6093 |
|
[#list newsList as item] |
6094 |
|
[#-- Macro: Item Assigns --] |
6095 |
|
[@assignItemValues item=item /] |
6096 |
|
|
6097 |
|
[#-- Rendering: Item rendering --] |
6098 |
|
<li class="mod"> |
6099 |
|
<h3> |
6100 |
|
<a href="${itemLink}"> |
6101 |
|
${itemTitle} |
6102 |
|
</a> |
6103 |
|
</h3> |
6104 |
|
<p>[#if hasDate]<em class="date">${itemDate?date?string.medium}</em>[/#if] [#if hasText]${itemText}[/#if] <em class="more"><a href="${itemLink}">${i18n['rssaggregator.template.readmore']} <span> ${itemTitle}</span></a></em></p> |
6105 |
|
</li> |
6106 |
|
[/#list] |
6107 |
|
</ul> |
6108 |
|
[/#if] |
6109 |
|
[/#list] |
6110 |
|
[#else] |
6111 |
|
<ul> |
6112 |
|
<p>${i18n['rssaggregator.template.noResults']}</p> |
6113 |
|
</ul> |
6114 |
|
[/#if] |
6115 |
|
|
6116 |
|
</div><!-- end ${divClass} --> |
6117 |
|
|
6118 |
|
|
6119 |
|
</text> |
6120 |
|
</stkTeaserSingleFeed> |
6121 |
|
<syndicate sv:name="syndicate"> |
6122 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6123 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6124 |
|
<text sv:name="text" sv:type="String">[#assign cms=JspTaglibs["cms-taglib"]] |
6125 |
|
|
6126 |
|
[#assign divClass = def.divClass!] |
6127 |
|
[#assign itemLink = model.link!] |
6128 |
|
|
6129 |
|
<div class="${divClass}" > |
6130 |
|
[@cms.editBar/] |
6131 |
|
[#if itemLink?has_content] |
6132 |
|
<em style="background: url('${ctx.contextPath}/docroot/rssaggregator/imgs/feed.gif') no-repeat left bottom;display:block;padding:5px 0 0 0"><a href="${ctx.contextPath}/contentFeeds${itemLink}"> </a></em> |
6133 |
|
[/#if] |
6134 |
|
</div> |
6135 |
|
</text> |
6136 |
|
</syndicate> |
6137 |
|
</teasers> |
6138 |
|
</paragraphs> |
6139 |
|
<templates sv:name="templates"> |
6140 |
|
<content sv:name="content"> |
6141 |
|
<contentNavigation sv:name="contentNavigation"> |
6142 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6143 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6144 |
|
<text sv:name="text" sv:type="String"> |
6145 |
|
|
6146 |
|
[#if model.contentNavigation?exists] |
6147 |
|
<div id="nav-content"> |
6148 |
|
[#if content.title?has_content]<h3><em>${i18n['contentNavigation.index.title']} </em>${content.title}</h3>[/#if] |
6149 |
|
[#list model.contentNavigation as item] |
6150 |
|
<ul> |
6151 |
|
<li><a href="${item.href}">${item.title}</a></li> |
6152 |
|
</ul> |
6153 |
|
[/#list] |
6154 |
|
</div><!-- end nav-content --> |
6155 |
|
[/#if] |
6156 |
|
</text> |
6157 |
|
</contentNavigation> |
6158 |
|
<contentTable sv:name="contentTable"> |
6159 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6160 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6161 |
|
<text sv:name="text" sv:type="String"><div id="toc"> |
6162 |
|
<h2>${i18n['structural.toc']}</h2> |
6163 |
|
[#if content.main??] |
6164 |
|
<ul> |
6165 |
|
[#list content.main?children as para] |
6166 |
|
[#if para.subtitle?has_content]<li><a href="#jump${para_index +1}">${para.subtitle}</a></li>[/#if] |
6167 |
|
[/#list] |
6168 |
|
</ul> |
6169 |
|
[/#if] |
6170 |
|
</div><!-- end toc --> |
6171 |
|
</text> |
6172 |
|
</contentTable> |
6173 |
|
<event sv:name="event"> |
6174 |
|
<infoblock sv:name="infoblock"> |
6175 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6176 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6177 |
|
<text sv:name="text" sv:type="String"> |
6178 |
|
|
6179 |
|
[#-- Assigns: Is Content Available --] |
6180 |
|
[#assign hasDate = content.date?has_content] |
6181 |
|
[#assign hasDateEnd = content.dateEnd?has_content] |
6182 |
|
[#assign hasLocation = content.location?has_content] |
6183 |
|
[#assign hasLink = content.link?has_content] |
6184 |
|
[#assign hasEventTitle = content.eventTitle?has_content] |
6185 |
|
|
6186 |
|
[#-- Assigns: Micro Format for Date&Time --] |
6187 |
|
[#if hasDate] |
6188 |
|
[#assign microFormatDate = content.date?string("yyyy-MM-dd") + "T" + content.date?string("hh:mm:ss")] |
6189 |
|
[/#if] |
6190 |
|
[#if hasDateEnd] |
6191 |
|
[#assign microFormatDateEnd = content.dateEnd?string("yyyy-MM-dd") + "T" + content.dateEnd?string("hh:mm:ss")] |
6192 |
|
[/#if] |
6193 |
|
|
6194 |
|
|
6195 |
|
[#-- Content Template Rendering --] |
6196 |
|
<div class="vevent"> |
6197 |
|
<div class="date"> |
6198 |
|
[#if hasDate] |
6199 |
|
<span class="month"><abbr title="${content.date?string("MMMM")}">${content.date?string("MMM")}</abbr></span> |
6200 |
|
<span class="day">${content.date?string("dd")}<span>.</span></span> |
6201 |
|
[/#if] |
6202 |
|
|
6203 |
|
[#if hasDateEnd] |
6204 |
|
<span class="till">till</span> |
6205 |
|
<span class="month d-end"><abbr title="${content.dateEnd?string("MMMM")}">${content.dateEnd?string("MMM")}</abbr></span> |
6206 |
|
<span class="day d-end">${content.dateEnd?string("dd")}<span>.</span></span> |
6207 |
|
[/#if] |
6208 |
|
</div> |
6209 |
|
|
6210 |
|
<h2 class="summary">${content.eventTitle!'No "Event Tile" is defined: Fill out the "Event Header"'}</h2> |
6211 |
|
<p class="description">${content.abstract!'No "Event Description" is defined: Fill out the "Event Header"'}</p> |
6212 |
|
|
6213 |
|
<dl> |
6214 |
|
<dt>${i18n['event.date']}</dt> |
6215 |
|
<dd> |
6216 |
|
[#if hasDate] |
6217 |
|
${content.date?date?string.long}<span class="dtstart">${microFormatDate}</span> |
6218 |
|
[#else] |
6219 |
|
${i18n['infoblock.no.event.date.error']} |
6220 |
|
[/#if] |
6221 |
|
[#if hasDateEnd] - ${content.dateEnd?date?string.long} <span class="dtend">${microFormatDateEnd}</span>[/#if] |
6222 |
|
</dd> |
6223 |
|
</dl> |
6224 |
|
|
6225 |
|
<dl> |
6226 |
|
<dt>${i18n['event.time']}</dt> |
6227 |
|
<dd> |
6228 |
|
[#if hasDate] |
6229 |
|
${content.date?time?string.short} <span class="dtstart">${microFormatDate}</span> |
6230 |
|
[#else] |
6231 |
|
${i18n['infoblock.no.event.time.error']} |
6232 |
|
[/#if] |
6233 |
|
[#if hasDateEnd] - ${content.dateEnd?time?string.short} <span class="dtend">${microFormatDateEnd}</span>[/#if] |
6234 |
|
</dd> |
6235 |
|
</dl> |
6236 |
|
|
6237 |
|
[#if hasLocation] |
6238 |
|
<dl> |
6239 |
|
<dt>${i18n['event.location']}</dt> |
6240 |
|
<dd class="location">${content.location}</dd> |
6241 |
|
</dl> |
6242 |
|
[/#if] |
6243 |
|
|
6244 |
|
[#if hasLink] |
6245 |
|
<dl> |
6246 |
|
<dt>${i18n['event.url']}</dt> |
6247 |
|
<dd><a class="url" href="${model.externalLink}">${model.externalLinkTitle}</a></dd> |
6248 |
|
</dl> |
6249 |
|
[/#if] |
6250 |
|
|
6251 |
|
</div><!-- end .vevent --> |
6252 |
|
|
6253 |
|
</text> |
6254 |
|
</infoblock> |
6255 |
|
</event> |
6256 |
|
<mainArea sv:name="mainArea"> |
6257 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6258 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6259 |
|
<text sv:name="text" sv:type="String">[#include "contentNavigation.ftl"] |
6260 |
|
|
6261 |
|
<div class="text"> |
6262 |
|
[#include "../global/mainArea.ftl"] |
6263 |
|
</div><!-- end text --> |
6264 |
|
|
6265 |
|
[#-- commenting --] |
6266 |
|
[#if content[def.mainArea.comments.paragraph]?has_content] |
6267 |
|
[@cms.includeTemplate contentNodeName="${def.mainArea.comments.paragraph}" /] |
6268 |
|
[#else] |
6269 |
|
[#if mgnl.editMode] |
6270 |
|
<div style="padding-top: 20px;"> |
6271 |
|
[@cms.newBar contentNodeName="${def.mainArea.comments.paragraph}" paragraph="${def.mainArea.comments.paragraph}" newLabel="${i18n['comments.newLabel']}" /] |
6272 |
|
</div> |
6273 |
|
[/#if] |
6274 |
|
[/#if] |
6275 |
|
</text> |
6276 |
|
</mainArea> |
6277 |
|
<sectionHeader sv:name="sectionHeader"> |
6278 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6279 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6280 |
|
<text sv:name="text" sv:type="String"> |
6281 |
|
|
6282 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
6283 |
|
|
6284 |
|
[#-- Assigns: Get Content --] |
6285 |
|
[#assign sectionTitle = model.sectionTitle!] |
6286 |
|
[#assign sectionText = model.sectionText!] |
6287 |
|
|
6288 |
|
[#-- Assigns: Is Content Available --] |
6289 |
|
[#assign hasSectionTitle = sectionTitle?has_content] |
6290 |
|
[#assign hasSectionText = sectionText?has_content] |
6291 |
|
|
6292 |
|
|
6293 |
|
|
6294 |
|
[#-------------- RENDERING PART --------------] |
6295 |
|
|
6296 |
|
[#-- Rendering: Section Header --] |
6297 |
|
[#if hasSectionTitle || hasSectionText] |
6298 |
|
<div id="section-header"> |
6299 |
|
[#if hasSectionTitle]<h6>${sectionTitle}</h6>[/#if] |
6300 |
|
[#if hasSectionText]<p>${sectionText}</p>[/#if] |
6301 |
|
</div><!-- end section-header --> |
6302 |
|
[/#if] |
6303 |
|
|
6304 |
|
</text> |
6305 |
|
</sectionHeader> |
6306 |
|
<textFeatures sv:name="textFeatures"> |
6307 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6308 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6309 |
|
<text sv:name="text" sv:type="String"> |
6310 |
|
|
6311 |
|
<ul id="text-features"> |
6312 |
|
<li class="social-b"><a href="#bookmarks">Bookmark</a> |
6313 |
|
<div id="bookmarks"> |
6314 |
|
<ul> |
6315 |
|
<li><a href="#">Browser Bookmark</a></li> |
6316 |
|
<li class="wong"><a href="http://www.mister-wong.de" onclick="window.open('http://www.mister-wong.de/index.php?action=addurl&bm_url='+encodeURIComponent(location.href)+'&bm_description='+encodeURIComponent(document.title));return false">Mister Wong</a></li> |
6317 |
|
<li class="webnews"><a href="http://www.webnews.de" onclick="window.open('http://www.webnews.de/einstellen?url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title));return false">Webnews</a></li> |
6318 |
|
<li class="yigg"><a href="http://yigg.de" onclick="window.open('http://yigg.de/neu?exturl='+encodeURIComponent(location.href)+'&exttitle='+encodeURIComponent(document.title));return false">Yigg</a></li> |
6319 |
|
<li class="delicious"><a href="http://del.icio.us/" onclick="window.open('http://del.icio.us/post?url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title));return false;">del.icio.us</a></li> |
6320 |
|
<li class="linkarena"><a href="http://www.linkarena.com" onclick="window.open('http://linkarena.com/bookmarks/addlink/?url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title));return false">Linkarena</a></li> |
6321 |
|
<li class="oneview"><a href="http://www.oneview.de/" onclick="window.open('http://www.oneview.de/quickadd/neu/addBookmark.jsf?URL='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title));return false">Oneview</a></li> |
6322 |
|
</ul> |
6323 |
|
</div><!-- end bookmarks --> |
6324 |
|
</li> |
6325 |
|
</ul><!-- end text-features --> |
6326 |
|
</text> |
6327 |
|
</textFeatures> |
6328 |
|
</content> |
6329 |
|
<functional sv:name="functional"> |
6330 |
|
<redirect sv:name="redirect"> |
6331 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6332 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6333 |
|
<text sv:name="text" sv:type="String">[#assign cms=JspTaglibs["cms-taglib"]] |
6334 |
|
[@cms.mainBar dialog="stkRedirect" /] |
6335 |
|
|
6336 |
|
[#assign targetPath = content.path!] |
6337 |
|
[#assign pathIsValid = false] |
6338 |
|
[#assign pathIsInternal = true] |
6339 |
|
|
6340 |
|
[#-- Check if path has content --] |
6341 |
|
[#if targetPath?has_content] |
6342 |
|
|
6343 |
|
[#-- Check if targetPath is internal --] |
6344 |
|
[#if model.isInternalPath(targetPath)] |
6345 |
|
|
6346 |
|
[#-- Check if targetPath is resolvable to a target content node --] |
6347 |
|
[#assign targetNode = mgnl.getContent(targetPath)!] |
6348 |
|
[#if targetNode?has_content] |
6349 |
|
[#assign pathIsValid = true] |
6350 |
|
[/#if] |
6351 |
|
[#else] |
6352 |
|
[#-- TargetPath is external --] |
6353 |
|
[#assign pathIsInternal = false] |
6354 |
|
[/#if] |
6355 |
|
[/#if] |
6356 |
|
|
6357 |
|
[#if mgnl.editMode] |
6358 |
|
<p style="margin-top:40px"> |
6359 |
|
|
6360 |
|
[#if targetPath?has_content] |
6361 |
|
|
6362 |
|
[#-- TargetPath is resolvable to a content node and is internal --] |
6363 |
|
[#if pathIsValid && pathIsInternal] |
6364 |
|
[#assign targetLink= mgnl.createLink(targetNode)!] |
6365 |
|
<p>${i18n['redirect.target.success']} <a href="${targetLink}">${targetLink}</a> </p> |
6366 |
|
|
6367 |
|
[#-- TargetPath is an external URL --] |
6368 |
|
[#elseif !pathIsInternal] |
6369 |
|
<p>${i18n['redirect.target.success']} <a href="${model.externalLink}">${model.externalLink}</a> </p> |
6370 |
|
|
6371 |
|
[#-- TargetPath is not external and internally not resolvable to a content node --] |
6372 |
|
[#else] |
6373 |
|
<h1>${i18n['redirect.author.404onPublic']} </h1> |
6374 |
|
<p>${i18n['redirect.404.causeIntro']} </p> |
6375 |
|
<p>"${targetPath}" ${i18n['redirect.target.invalid']} </p> |
6376 |
|
[/#if] |
6377 |
|
|
6378 |
|
[#else] |
6379 |
|
${i18n['redirect.target.fistChild']} |
6380 |
|
|
6381 |
|
[#assign childPath = model.redirectPathToFirstChild!] |
6382 |
|
[#if childPath?has_content] |
6383 |
|
<p>${i18n['redirect.target.childSuccess']} <a href="${childPath}">${childPath}</a> </p> |
6384 |
|
[#else] |
6385 |
|
<h1>${i18n['redirect.author.404onPublic']} </h1> |
6386 |
|
<p>${i18n['redirect.404.causeIntro']} </p> |
6387 |
|
<p>${i18n['redirect.target.noChild']} </p> |
6388 |
|
[/#if] |
6389 |
|
|
6390 |
|
[/#if] |
6391 |
|
|
6392 |
|
</p> |
6393 |
|
[#elseif mgnl.authorInstance] |
6394 |
|
|
6395 |
|
<h1>${i18n['redirect.author.404onPublic']} </h1> |
6396 |
|
<p>${i18n['redirect.404.causeIntro']} </p> |
6397 |
|
[#if !targetPath?has_content] |
6398 |
|
<p>${i18n['redirect.target.noChild']} </p> |
6399 |
|
[#elseif !pathIsValid] |
6400 |
|
<p>${targetPath} ${i18n['redirect.target.invalid']} </p> |
6401 |
|
[/#if] |
6402 |
|
|
6403 |
|
[/#if]</text> |
6404 |
|
</redirect> |
6405 |
|
</functional> |
6406 |
|
<global sv:name="global"> |
6407 |
|
<baseArea sv:name="baseArea"> |
6408 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6409 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6410 |
|
<text sv:name="text" sv:type="String">[@cms.contentNodeIterator contentNodeCollectionName="base"] |
6411 |
|
[@cms.includeTemplate /] |
6412 |
|
[/@cms.contentNodeIterator] |
6413 |
|
|
6414 |
|
[#if mgnl.editMode] |
6415 |
|
[#-- FIXME this is a temporal fix to show the new bar --] |
6416 |
|
<div style="clear: both;width:100%;padding-top: 20px;"> |
6417 |
|
[@cms.newBar contentNodeCollectionName="base" newLabel="${i18n['base.newLabel']}" paragraph="${stk.asStringList(def.baseArea.paragraphs)}" /] |
6418 |
|
</div> |
6419 |
|
[/#if] |
6420 |
|
</text> |
6421 |
|
</baseArea> |
6422 |
|
<branding sv:name="branding"> |
6423 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6424 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6425 |
|
<text sv:name="text" sv:type="String">[#if mgnl.editMode]<!-- TODO: better solution for showing the edit and new bar if the service menu links in preview mode --> |
6426 |
|
<br/> |
6427 |
|
<br/> |
6428 |
|
[/#if] |
6429 |
|
|
6430 |
|
|
6431 |
|
|
6432 |
|
[#assign inhContent = mgnl.inherit(content)] |
6433 |
|
[#assign siteTitle = model.siteTitle!model.homeTitle!model.homeName] |
6434 |
|
[#assign homeTitle = model.homeTitle!model.homeName] |
6435 |
|
[#assign logoImageLink = model.logoImageLink!] |
6436 |
|
[#assign printLogoImageLink = model.printLogoImageLink!logoImageLink] |
6437 |
|
[#assign logoAltText = inhContent.alternativeLogoText!siteTitle] |
6438 |
|
|
6439 |
|
|
6440 |
|
<div id="branding"> |
6441 |
|
<p class="skip"><a href="#main">${i18n['accessibility.header.mainContent']}</a></p> |
6442 |
|
<div id="logo"> |
6443 |
|
<a href="${model.homeLink}" title="${i18n['logo.title']}"> |
6444 |
|
[#if printLogoImageLink?has_content]<img src="${printLogoImageLink}" alt="${logoAltText}" />[/#if] |
6445 |
|
<strong>${logoAltText}</strong> |
6446 |
|
[#if inhContent.slogan?has_content]<em>${inhContent.slogan}</em>[/#if] |
6447 |
|
<span></span> |
6448 |
|
</a> |
6449 |
|
</div><!-- end logo --> |
6450 |
|
<div id="search-box"> |
6451 |
|
<h6>${i18n['accessibility.header.search']}</h6> |
6452 |
|
<form action="${model.searchPageLink!}" > |
6453 |
|
<div> |
6454 |
|
<label for="searchbar">${i18n['accessibility.header.searchFor']}</label> |
6455 |
|
<input id="searchbar" name="queryStr" type="text" value="${ctx.queryStr!?html}" /> |
6456 |
|
<input class="button" type="submit" value="${i18n['button.label.search']}" /> |
6457 |
|
</div> |
6458 |
|
</form> |
6459 |
|
</div><!-- end search-box --> |
6460 |
|
|
6461 |
|
[#if def.navigation.meta.enabled] |
6462 |
|
[#include def.navigation.meta.template] |
6463 |
|
[/#if] |
6464 |
|
|
6465 |
|
</div><!-- end branding --> |
6466 |
|
</text> |
6467 |
|
</branding> |
6468 |
|
<breadcrumb sv:name="breadcrumb"> |
6469 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6470 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6471 |
|
<text sv:name="text" sv:type="String"><div id="breadcrumb"> |
6472 |
|
<h2>${i18n['nav.selected']}</h2> |
6473 |
|
<ol> |
6474 |
|
[#list model.breadcrumb as item] |
6475 |
|
[#if item_has_next] |
6476 |
|
<li><a href="${item.href}">${item.navigationTitle}</a></li> |
6477 |
|
[#else] |
6478 |
|
<li><strong>${item.navigationTitle}</strong></li> |
6479 |
|
[/#if] |
6480 |
|
[/#list] |
6481 |
|
</ol> |
6482 |
|
</div><!-- end breadcrumb --> |
6483 |
|
|
6484 |
|
|
6485 |
|
</text> |
6486 |
|
</breadcrumb> |
6487 |
|
<extrasArea sv:name="extrasArea"> |
6488 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6489 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6490 |
|
<text sv:name="text" sv:type="String"> |
6491 |
|
[#if def.extrasArea.columns > 1] |
6492 |
|
[#if def.extrasArea.module.enabled] |
6493 |
|
[@module /] |
6494 |
|
[/#if] |
6495 |
|
|
6496 |
|
[#list 1..def.extrasArea.columns as columnIndex] |
6497 |
|
<div id="extras-${columnIndex}"> |
6498 |
|
[@extrasColumn columnIndex=columnIndex/] |
6499 |
|
</div> |
6500 |
|
[/#list] |
6501 |
|
[#else] |
6502 |
|
[@extrasColumn columnIndex=1 /] |
6503 |
|
[/#if] |
6504 |
|
|
6505 |
|
[#macro extrasColumn columnIndex ] |
6506 |
|
[#list model.extras.column[columnIndex] as extra] |
6507 |
|
[@cms.includeTemplate contentNode=extra.content noEditBars=extra.inherited /] |
6508 |
|
[/#list] |
6509 |
|
|
6510 |
|
|
6511 |
|
[#if mgnl.editMode] |
6512 |
|
<div class="box"> |
6513 |
|
[@cms.set contentNodeName="extras" scope="local" forBodyOnly=true] |
6514 |
|
[@cms.newBar contentNodeCollectionName="extras${columnIndex}" newLabel="${i18n['extras.newLabel']}" paragraph="${stk.asStringList(def.extrasArea.paragraphs)}" /] |
6515 |
|
[/@cms.set] |
6516 |
|
</div> |
6517 |
|
[/#if] |
6518 |
|
[/#macro] |
6519 |
|
|
6520 |
|
[#macro module ] |
6521 |
|
[#if content.module?has_content] |
6522 |
|
<div id="module"> |
6523 |
|
[@cms.includeTemplate contentNodeName="module" /] |
6524 |
|
</div> |
6525 |
|
[#else] |
6526 |
|
[#if mgnl.editMode] |
6527 |
|
<div id="module"> |
6528 |
|
<div class="box"> |
6529 |
|
[@cms.newBar contentNodeName="module" newLabel="${i18n['module.newLabel']}" paragraph="${stk.asStringList(def.extrasArea.module.paragraphs)}" /] |
6530 |
|
</div> |
6531 |
|
</div> |
6532 |
|
[/#if] |
6533 |
|
[/#if] |
6534 |
|
[/#macro] |
6535 |
|
</text> |
6536 |
|
</extrasArea> |
6537 |
|
<footer sv:name="footer"> |
6538 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6539 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6540 |
|
<text sv:name="text" sv:type="String">[#assign footer = model.footer] |
6541 |
|
<div id="site-info"> |
6542 |
|
<div> |
6543 |
|
[#if def.footer.editable] |
6544 |
|
[#if !footer.exists] |
6545 |
|
[@cms.newBar contentNodeName="footer" paragraph=def.footer.paragraph newLabel="${i18n['footer.create.newLabel']}" /] |
6546 |
|
[#elseif !footer.inherited] |
6547 |
|
[#-- FIXME: temporal fix for MAGNOLIA-2652 --] |
6548 |
|
[@cms.set contentNodeName="footer" scope="local" forBodyOnly=true] |
6549 |
|
[@cms.editBar editLabel="${i18n['footer.editLabel']}" moveLabel="" /] |
6550 |
|
[/@cms.set] |
6551 |
|
[#else] |
6552 |
|
[@cms.newBar contentNodeName="footer" paragraph=def.footer.paragraph newLabel="${i18n['footer.overwrite.newLabel']}" /] |
6553 |
|
[/#if] |
6554 |
|
[/#if] |
6555 |
|
[#if footer.exists] |
6556 |
|
[@cms.includeTemplate contentNode=footer.content noEditBars=footer.inherited /] |
6557 |
|
[/#if] |
6558 |
|
|
6559 |
|
[#-- |
6560 |
|
This template is copyright 2008-2011 by Magnolia International Ltd. and |
6561 |
|
licensed under the OSI-approved Common Public Attribution License (CPAL). |
6562 |
|
Under the terms of CPAL, you are required to leave the following notice |
6563 |
|
as well as other displays of the Magnolia logo and links to Magnolia intact. |
6564 |
|
If you are unable to comply with these terms, do not use this software or |
6565 |
|
contact Magnolia to obtain a commercial license. |
6566 |
|
--] |
6567 |
|
|
6568 |
|
${model.badge} |
6569 |
|
</div> |
6570 |
|
</div><!-- end site-info --> |
6571 |
|
</text> |
6572 |
|
</footer> |
6573 |
|
<header sv:name="header"> |
6574 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6575 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6576 |
|
<text sv:name="text" sv:type="String">[#if def.header.branding.enabled] |
6577 |
|
[#include def.header.branding.template] |
6578 |
|
[/#if] |
6579 |
|
|
6580 |
|
[#include def.navigation.horizontal.template] |
6581 |
|
|
6582 |
|
[#if def.header.stage.enabled] |
6583 |
|
[#include def.header.stage.template] |
6584 |
|
[/#if] |
6585 |
|
|
6586 |
|
[#if def.header.sectionHeader.enabled] |
6587 |
|
[#include def.header.sectionHeader.template] |
6588 |
|
[/#if] |
6589 |
|
|
6590 |
|
</text> |
6591 |
|
</header> |
6592 |
|
<horizontalNavigation sv:name="horizontalNavigation"> |
6593 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6594 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6595 |
|
<text sv:name="text" sv:type="String">[#if model.navigation.showHorizontalNavigation] |
6596 |
|
[#assign navigation = model.navigation.horizontalNavigation/] |
6597 |
|
[#if (model.navigation.horizontalLevel >1 && navigation.selectedItem??) && (navigation.selectedItem.level>1 || !navigation.selectedItem.leaf)] |
6598 |
|
[#assign cssClass = "class=\"plus-navsub\""] |
6599 |
|
[/#if] |
6600 |
|
<div id="nav-global" ${cssClass!}> |
6601 |
|
<h6>${i18n['structural.navigation']}</h6> |
6602 |
|
[@renderNavigation navigation=navigation/] |
6603 |
|
</div><!-- end nav-global --> |
6604 |
|
[/#if] |
6605 |
|
|
6606 |
|
[#macro renderNavigation navigation] |
6607 |
|
[#if navigation.items?has_content] |
6608 |
|
<ul> |
6609 |
|
[#list navigation.items as item] |
6610 |
|
[#if item.open && item.selected] |
6611 |
|
[#assign cssClass = " class=\"open on\""] |
6612 |
|
[#elseif item.open] |
6613 |
|
[#assign cssClass = " class=\"open\""] |
6614 |
|
[#elseif item.selected] |
6615 |
|
[#assign cssClass = " class=\"on\""] |
6616 |
|
[#else] |
6617 |
|
[#assign cssClass = ""] |
6618 |
|
[/#if] |
6619 |
|
|
6620 |
|
[#if item.level == 1] |
6621 |
|
[#assign id = " id=\"nav-sec-${item.id}\""] |
6622 |
|
[#else] |
6623 |
|
[#assign id = ""] |
6624 |
|
[/#if] |
6625 |
|
|
6626 |
|
<li${id}${cssClass}> |
6627 |
|
[#if item.selected] |
6628 |
|
[#assign title] |
6629 |
|
<span><em>${i18n['nav.selected']} </em>${item.navigationTitle}</span> |
6630 |
|
[/#assign] |
6631 |
|
[#if content.@uuid != item.content.@uuid] |
6632 |
|
<a href="${item.href}">${title}</a> |
6633 |
|
[#else] |
6634 |
|
<strong>${title}</strong> |
6635 |
|
[/#if] |
6636 |
|
[#else] |
6637 |
|
<a href="${item.href}"><span>${item.navigationTitle}</span></a> |
6638 |
|
[/#if] |
6639 |
|
|
6640 |
|
[#if item.open] |
6641 |
|
[@renderNavigation navigation=item /] |
6642 |
|
[/#if] |
6643 |
|
</li> |
6644 |
|
[/#list] |
6645 |
|
</ul> |
6646 |
|
[/#if] |
6647 |
|
[/#macro] |
6648 |
|
|
6649 |
|
</text> |
6650 |
|
</horizontalNavigation> |
6651 |
|
<htmlHeader sv:name="htmlHeader"> |
6652 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6653 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6654 |
|
<text sv:name="text" sv:type="String"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> |
6655 |
|
|
6656 |
|
<meta name="keywords" content="${content.keywords!content.title!content.@name}" /> |
6657 |
|
<meta name="description" content="${content.description!content.abstract!}" /> |
6658 |
|
<meta name="author" content="" /> |
6659 |
|
<meta name="robots" content="all" /> |
6660 |
|
<meta name="generator" content="[@cmsu.poweredBy pattern="Magnolia {0} {1}"/]" /> |
6661 |
|
|
6662 |
|
[#assign siteTitle = model.siteTitle!model.homeTitle!model.homeName] |
6663 |
|
[#assign contentPageTitle = content.windowTitle!content.title!content.@name] |
6664 |
|
|
6665 |
|
<title>${siteTitle} - ${contentPageTitle}</title> |
6666 |
|
|
6667 |
|
[#comment] until we have an icon |
6668 |
|
<link rel="shortcut icon" type="image/ico" href="#" /> |
6669 |
|
[/#comment] |
6670 |
|
|
6671 |
|
[#list model.site.theme.cssFiles as cssFile] |
6672 |
|
<link rel="stylesheet" type="text/css" href="${cssFile.link}" media="${cssFile.media}" /> |
6673 |
|
[/#list] |
6674 |
|
|
6675 |
|
[#list def.cssFiles as cssFile] |
6676 |
|
<link rel="stylesheet" type="text/css" href="${cssFile.link}" media="${cssFile.media}" /> |
6677 |
|
[/#list] |
6678 |
|
|
6679 |
|
[#if model.logoImageLink?has_content] |
6680 |
|
<style type="text/css"> |
6681 |
|
#logo span { |
6682 |
|
background-image: url('${model.logoImageLink}'); |
6683 |
|
} |
6684 |
|
</style> |
6685 |
|
[/#if] |
6686 |
|
[#list model.site.theme.jsFiles as jsFile] |
6687 |
|
<script src="${jsFile.link}" type="text/javascript"></script> |
6688 |
|
[/#list] |
6689 |
|
|
6690 |
|
[#list model.site.jsFiles as jsFile] |
6691 |
|
<script src="${jsFile.link}" type="text/javascript"></script> |
6692 |
|
[/#list] |
6693 |
|
|
6694 |
|
[#list def.jsFiles as jsFile] |
6695 |
|
<script src="${jsFile.link}" type="text/javascript"></script> |
6696 |
|
[/#list] |
6697 |
|
|
6698 |
|
[#-- add Magnolia css and js: --] |
6699 |
|
[@cms.links /] |
6700 |
|
</text> |
6701 |
|
</htmlHeader> |
6702 |
|
<mainArea sv:name="mainArea"> |
6703 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6704 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6705 |
|
<text sv:name="text" sv:type="String">[#if def.mainArea.intro.enabled] |
6706 |
|
[#include def.mainArea.intro.template ] |
6707 |
|
[/#if] |
6708 |
|
|
6709 |
|
[@cms.contentNodeIterator contentNodeCollectionName="main"] |
6710 |
|
[@cms.includeTemplate /] |
6711 |
|
[/@cms.contentNodeIterator] |
6712 |
|
|
6713 |
|
[#if mgnl.editMode] |
6714 |
|
<div style="clear: both;padding-top: 20px;"> |
6715 |
|
[@cms.newBar contentNodeCollectionName="main" newLabel="${i18n['content.newLabel']}" paragraph="${stk.asStringList(def.mainArea.paragraphs)}" /] |
6716 |
|
</div> |
6717 |
|
[/#if] |
6718 |
|
</text> |
6719 |
|
</mainArea> |
6720 |
|
<mainAreaIntro sv:name="mainAreaIntro"> |
6721 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6722 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6723 |
|
<text sv:name="text" sv:type="String"> |
6724 |
|
|
6725 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
6726 |
|
|
6727 |
|
[#-- Assigns: General --] |
6728 |
|
[#assign cms=JspTaglibs["cms-taglib"]] |
6729 |
|
|
6730 |
|
[#assign intro = def.mainArea.intro] |
6731 |
|
[#assign pageType = def.subcategory!def.category] |
6732 |
|
|
6733 |
|
[#-- Assigns: Template Intro Definitions --] |
6734 |
|
[#assign showAuthorDate = intro.showAuthorDate] |
6735 |
|
[#assign showTextFeatures = intro.showTextFeatures] |
6736 |
|
[#assign showAbstract = intro.showAbstract] |
6737 |
|
[#assign showTOC = intro.showTOC] |
6738 |
|
[#assign showCategories = intro.showCategories] |
6739 |
|
[#assign showImage = intro.showImage] |
6740 |
|
|
6741 |
|
[#-- Assigns: Get Content --] |
6742 |
|
[#assign title = content.title!content.@name] |
6743 |
|
[#assign kicker = content.kicker!] |
6744 |
|
[#assign date = content.date!] |
6745 |
|
[#assign author = content.author!] |
6746 |
|
[#assign location = content.location!] |
6747 |
|
[#assign abstract = content.abstract!] |
6748 |
|
[#assign categories = model.categories!] |
6749 |
|
[#assign imageModel = model.imageModel!] |
6750 |
|
|
6751 |
|
[#-- Assigns: Is Content Available --] |
6752 |
|
[#assign hasTitle = title?has_content] |
6753 |
|
[#assign hasKicker = kicker?has_content] |
6754 |
|
[#assign hasDate = date?has_content] |
6755 |
|
[#assign hasAuthor = author?has_content] |
6756 |
|
[#assign hasLocation = location?has_content] |
6757 |
|
[#assign hasAbstract = abstract?has_content] |
6758 |
|
[#assign hasCategories = categories?has_content] |
6759 |
|
[#assign hasExtraTemplate = extraTemplate?has_content] |
6760 |
|
[#assign hasImage = imageModel.image?has_content] |
6761 |
|
|
6762 |
|
[#-- Assigns: Macro for Item iteration --] |
6763 |
|
[#macro assignItemValues item] |
6764 |
|
[#-- Assigns: Get Content from List Item--] |
6765 |
|
[#assign itemName = item.@name] |
6766 |
|
[#assign itemDisplayName = item.displayName!itemName] |
6767 |
|
[#assign itemLink = model.getCategoryLink(itemName)!] |
6768 |
|
[/#macro] |
6769 |
|
|
6770 |
|
|
6771 |
|
|
6772 |
|
[#-------------- RENDERING PART --------------] |
6773 |
|
|
6774 |
|
[#-- Rendering: Main Area Intro --] |
6775 |
|
[#if intro.divID??] |
6776 |
|
<div id="${intro.divID}"> |
6777 |
|
[/#if] |
6778 |
|
|
6779 |
|
[#if intro.dialog??] |
6780 |
|
[@cms.editBar dialog="${intro.dialog}" editLabel="${i18n['${pageType}.editLabel.header']}" moveLabel="" deleteLabel=""/] |
6781 |
|
[/#if] |
6782 |
|
|
6783 |
|
[#if hasTitle] |
6784 |
|
<h1> |
6785 |
|
[#if hasKicker]<em>${kicker}</em>[/#if] |
6786 |
|
${title} |
6787 |
|
</h1> |
6788 |
|
[/#if] |
6789 |
|
|
6790 |
|
[#if (showAuthorDate && (hasDate || hasAuthor || hasLocation)) || showTextFeatures || (showCategories && hasCategories)] |
6791 |
|
<div class="text-meta"> |
6792 |
|
[#if showAuthorDate] |
6793 |
|
[#if hasDate || hasAuthor || hasLocation] |
6794 |
|
<ul class="text-data"> |
6795 |
|
[#if hasDate] |
6796 |
|
<li class="date">${date?date?string.medium}</li> |
6797 |
|
[/#if] |
6798 |
|
[#if hasAuthor] |
6799 |
|
<li class="author">${author}</li> |
6800 |
|
[/#if] |
6801 |
|
[#if hasLocation] |
6802 |
|
<li class="location">${location}</li> |
6803 |
|
[/#if] |
6804 |
|
</ul> |
6805 |
|
[/#if] |
6806 |
|
[/#if] |
6807 |
|
|
6808 |
|
[#if showTextFeatures] |
6809 |
|
[#include "../content/textFeatures.ftl"] |
6810 |
|
[/#if] |
6811 |
|
|
6812 |
|
[#if showCategories] |
6813 |
|
[#if hasCategories] |
6814 |
|
<dl> |
6815 |
|
<dt>${i18n['mainAreaIntro.category.label']}</dt> |
6816 |
|
[#list categories as item] |
6817 |
|
[#-- Macro: Item Assigns --] |
6818 |
|
[@assignItemValues item=item /] |
6819 |
|
<dd><a href="${itemLink}" >${itemDisplayName}</a></dd> |
6820 |
|
[/#list] |
6821 |
|
</dl> |
6822 |
|
[/#if] |
6823 |
|
[/#if] |
6824 |
|
</div><!-- end text-meta --> |
6825 |
|
[/#if] |
6826 |
|
|
6827 |
|
[#if intro.infoBlock.enabled] |
6828 |
|
[#include intro.infoBlock.template] |
6829 |
|
[/#if] |
6830 |
|
|
6831 |
|
[#if showImage] |
6832 |
|
[#if hasImage] |
6833 |
|
<img class="${imageModel.imageClass}" src="${imageModel.image.link}" alt="${imageModel.image.caption!"Image "+content.title!content.@name}" /> |
6834 |
|
[/#if] |
6835 |
|
[/#if] |
6836 |
|
|
6837 |
|
[#if showAbstract] |
6838 |
|
[#if hasAbstract] |
6839 |
|
[#if !intro.divID?has_content] |
6840 |
|
[#assign abstractClass = 'class="intro"'] |
6841 |
|
[/#if] |
6842 |
|
<p ${abstractClass!}>${abstract}</p> |
6843 |
|
[/#if] |
6844 |
|
[/#if] |
6845 |
|
|
6846 |
|
[#if showTOC] |
6847 |
|
[#include "../content/contentTable.ftl" ] |
6848 |
|
[/#if] |
6849 |
|
|
6850 |
|
[#if intro.divID??] |
6851 |
|
</div> |
6852 |
|
[/#if] |
6853 |
|
</text> |
6854 |
|
</mainAreaIntro> |
6855 |
|
<metaNavigation sv:name="metaNavigation"> |
6856 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6857 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6858 |
|
<text sv:name="text" sv:type="String">[#assign metaNavigation = model.metaNavigation] |
6859 |
|
|
6860 |
|
<div id="nav-meta"> |
6861 |
|
<ul> |
6862 |
|
[#if metaNavigation.exists] |
6863 |
|
[@cms.contentNodeIterator items=metaNavigation.content?children] |
6864 |
|
[@cms.includeTemplate noEditBars=metaNavigation.inherited/] |
6865 |
|
[/@cms.contentNodeIterator] |
6866 |
|
[/#if] |
6867 |
|
|
6868 |
|
[#if (!metaNavigation.exists || !metaNavigation.inherited) && mgnl.editMode] |
6869 |
|
<li><div style="width:103px">[@cms.newBar contentNodeCollectionName="metaNavigation" newLabel="${i18n['link.newLabel']}" paragraph="${stk.asStringList(def.navigation.meta.paragraphs)}" /]</div></li> |
6870 |
|
[/#if] |
6871 |
|
</ul> |
6872 |
|
</div><!-- end nav-meta --> |
6873 |
|
</text> |
6874 |
|
</metaNavigation> |
6875 |
|
<platformArea sv:name="platformArea"> |
6876 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6877 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6878 |
|
<text sv:name="text" sv:type="String"> |
6879 |
|
|
6880 |
|
[#if mgnl.editMode && def.name!="stkHome"]<!-- TODO: better solution for having new bar not overlapped by breadcrumb div --> |
6881 |
|
<br/> |
6882 |
|
[/#if] |
6883 |
|
|
6884 |
|
[@cms.contentNodeIterator contentNodeCollectionName="platform"] |
6885 |
|
[@cms.includeTemplate /] |
6886 |
|
[/@cms.contentNodeIterator] |
6887 |
|
|
6888 |
|
[#if mgnl.editMode] |
6889 |
|
[#if !content.platform?has_content && def.name!="stkHome"]<!-- TODO: better solution for having new bar not overlapped by breadcrumb div --> |
6890 |
|
<br/> |
6891 |
|
[/#if] |
6892 |
|
[#-- FIXME this is a temporal fix to show the new bar --] |
6893 |
|
<div style="clear: both;width:100%;padding-bottom: 20px;"> |
6894 |
|
[@cms.newBar contentNodeCollectionName="platform" newLabel="${i18n['platform.newLabel']}" paragraph="${stk.asStringList(def.platformArea.paragraphs)}" /] |
6895 |
|
</div> |
6896 |
|
[/#if] |
6897 |
|
</text> |
6898 |
|
</platformArea> |
6899 |
|
<promosArea sv:name="promosArea"> |
6900 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6901 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6902 |
|
<text sv:name="text" sv:type="String"> |
6903 |
|
|
6904 |
|
<div id="promos"> |
6905 |
|
[#list model.promos as promo] |
6906 |
|
[@cms.includeTemplate contentNode=promo.content noEditBars=promo.inherited /] |
6907 |
|
[/#list] |
6908 |
|
|
6909 |
|
[#if mgnl.editMode && !model.promos?has_content]<!-- TODO: better solution for having new bar not overlapped by breadcrumb div --> |
6910 |
|
<br/> |
6911 |
|
[/#if] |
6912 |
|
|
6913 |
|
[#if mgnl.editMode] |
6914 |
|
<div class="promo"> |
6915 |
|
[@cms.newBar contentNodeCollectionName="promos" newLabel="${i18n['promos.newLabel']}" paragraph="${stk.asStringList(def.promosArea.paragraphs)}" /] |
6916 |
|
</div> |
6917 |
|
[/#if] |
6918 |
|
|
6919 |
|
</div><!-- end promos --> |
6920 |
|
|
6921 |
|
</text> |
6922 |
|
</promosArea> |
6923 |
|
<verticalNavigation sv:name="verticalNavigation"> |
6924 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6925 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6926 |
|
<text sv:name="text" sv:type="String">[#if model.navigation.showVerticalNavigation] |
6927 |
|
[#assign navigation = model.navigation.verticalNavigation] |
6928 |
|
<div id="nav"> |
6929 |
|
<div id="nav-box"> |
6930 |
|
<h6>${i18n['structural.subnavigation']}</h6> |
6931 |
|
[@renderNavigation navigation=navigation /] |
6932 |
|
</div><!-- end nav-box --> |
6933 |
|
</div><!-- end nav --> |
6934 |
|
[/#if] |
6935 |
|
|
6936 |
|
[#macro renderNavigation navigation] |
6937 |
|
[#if navigation.items?has_content] |
6938 |
|
<ul> |
6939 |
|
[#list navigation.items as item] |
6940 |
|
[#if item.open && item.selected] |
6941 |
|
[#assign cssClass = " class=\"open on\""] |
6942 |
|
[#elseif item.open] |
6943 |
|
[#assign cssClass = " class=\"open\""] |
6944 |
|
[#elseif item.selected] |
6945 |
|
[#assign cssClass = " class=\"on\""] |
6946 |
|
[#else] |
6947 |
|
[#assign cssClass = ""] |
6948 |
|
[/#if] |
6949 |
|
|
6950 |
|
<li${cssClass}> |
6951 |
|
[#if item.selected] |
6952 |
|
[#assign title] |
6953 |
|
<span><em>${i18n['nav.selected']}</em>${item.navigationTitle}</span> |
6954 |
|
[/#assign] |
6955 |
|
[#if content.@uuid != item.content.@uuid] |
6956 |
|
<a href="${item.href}">${title}</a> |
6957 |
|
[#else] |
6958 |
|
<strong>${title}</strong> |
6959 |
|
[/#if] |
6960 |
|
[#else] |
6961 |
|
<a href="${item.href}">${item.navigationTitle}</a> |
6962 |
|
[/#if] |
6963 |
|
[#if item.open] |
6964 |
|
[@renderNavigation navigation=item /] |
6965 |
|
[/#if] |
6966 |
|
</li> |
6967 |
|
[/#list] |
6968 |
|
</ul> |
6969 |
|
[/#if] |
6970 |
|
[/#macro] |
6971 |
|
</text> |
6972 |
|
</verticalNavigation> |
6973 |
|
</global> |
6974 |
|
<home sv:name="home"> |
6975 |
|
<stage sv:name="stage"> |
6976 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6977 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6978 |
|
<text sv:name="text" sv:type="String"> |
6979 |
|
|
6980 |
|
[#if content.stage?has_content] |
6981 |
|
<div id="stage"> |
6982 |
|
[@cms.includeTemplate contentNodeName="stage" /] |
6983 |
|
</div><!-- end stage --> |
6984 |
|
[#else] |
6985 |
|
[#if mgnl.editMode] |
6986 |
|
<div id="stage"> |
6987 |
|
[@cms.newBar contentNodeName="stage" newLabel="${i18n['stage.newLabel']}" paragraph="${stk.asStringList(def.header.stage.paragraphs)}" /] |
6988 |
|
</div><!-- end div-id="stage" --> |
6989 |
|
[/#if] |
6990 |
|
[/#if] |
6991 |
|
|
6992 |
|
|
6993 |
|
</text> |
6994 |
|
</stage> |
6995 |
|
</home> |
6996 |
|
<main sv:name="main"> |
6997 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
6998 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
6999 |
|
<text sv:name="text" sv:type="String"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
7000 |
|
[#assign cms=JspTaglibs["cms-taglib"]] |
7001 |
|
[#assign cmsu=JspTaglibs["cms-util-taglib"]] |
7002 |
|
|
7003 |
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="${model.language}" lang="${model.language}"> |
7004 |
|
|
7005 |
|
<head> |
7006 |
|
[#include def.htmlHeader.template] |
7007 |
|
</head> |
7008 |
|
|
7009 |
|
[#if model.bodyClass?has_content] |
7010 |
|
[#assign bodyClass = 'class="${model.bodyClass}"'] |
7011 |
|
[#else] |
7012 |
|
[#assign bodyClass = ''] |
7013 |
|
[/#if] |
7014 |
|
|
7015 |
|
[#if def.bodyID?has_content] |
7016 |
|
[#assign bodyID = 'id="${def.bodyID}"'] |
7017 |
|
[#else] |
7018 |
|
[#assign bodyID = ''] |
7019 |
|
[/#if] |
7020 |
|
|
7021 |
|
<body ${bodyID} ${bodyClass}> |
7022 |
|
[#if def.dialog?has_content] |
7023 |
|
[@cms.mainBar label="Page Info" dialog="${def.dialog!}" /] |
7024 |
|
[#else] |
7025 |
|
[@cms.mainBar label="" /] |
7026 |
|
[/#if] |
7027 |
|
|
7028 |
|
<div id="wrapper"> |
7029 |
|
|
7030 |
|
[#if def.header.enabled] |
7031 |
|
[#include def.header.template] |
7032 |
|
[/#if] |
7033 |
|
|
7034 |
|
<div id="wrapper-2"> |
7035 |
|
[#include def.navigation.vertical.template] |
7036 |
|
<div id="wrapper-3"> |
7037 |
|
[#if def.platformArea.enabled] |
7038 |
|
[#include def.platformArea.template] |
7039 |
|
[/#if] |
7040 |
|
|
7041 |
|
<div id="main"> |
7042 |
|
[#if def.breadcrumb.enabled] |
7043 |
|
[#include def.breadcrumb.template] |
7044 |
|
[/#if] |
7045 |
|
|
7046 |
|
[#include def.mainArea.template] |
7047 |
|
|
7048 |
|
</div><!-- end main --> |
7049 |
|
|
7050 |
|
[#if def.extrasArea.enabled] |
7051 |
|
<div id="extras"> |
7052 |
|
[#include def.extrasArea.template] |
7053 |
|
</div><!-- end extras --> |
7054 |
|
[/#if] |
7055 |
|
|
7056 |
|
</div><!-- end wrapper-3 --> |
7057 |
|
|
7058 |
|
[#if def.promosArea.enabled] |
7059 |
|
[#include def.promosArea.template] |
7060 |
|
[/#if] |
7061 |
|
|
7062 |
|
[#if def.baseArea.enabled] |
7063 |
|
[#include def.baseArea.template] |
7064 |
|
[/#if] |
7065 |
|
</div><!-- end wrapper-2 --> |
7066 |
|
|
7067 |
|
[#include def.footer.template] |
7068 |
|
</div><!-- end wrapper --> |
7069 |
|
|
7070 |
|
</body> |
7071 |
|
</html> |
7072 |
|
</text> |
7073 |
|
</main> |
7074 |
|
<section sv:name="section"> |
7075 |
|
<mainArea sv:name="mainArea"> |
7076 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
7077 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
7078 |
|
<text sv:name="text" sv:type="String"> |
7079 |
|
[#if def.mainArea.intro.enabled] |
7080 |
|
[#include def.mainArea.intro.template ] |
7081 |
|
[/#if] |
7082 |
|
|
7083 |
|
[#include "opener.ftl" ] |
7084 |
|
|
7085 |
|
[@cms.contentNodeIterator contentNodeCollectionName="main"] |
7086 |
|
[@cms.includeTemplate /] |
7087 |
|
[/@cms.contentNodeIterator] |
7088 |
|
|
7089 |
|
[#if mgnl.editMode] |
7090 |
|
<div class="teaser" id="teaser-${stk.count('teaser')}"> |
7091 |
|
[@cms.newBar contentNodeCollectionName="main" newLabel="${i18n['teasers.newLabel']}" paragraph="${stk.asStringList(def.mainArea.paragraphs)}" /] |
7092 |
|
</div> |
7093 |
|
[/#if] |
7094 |
|
</text> |
7095 |
|
</mainArea> |
7096 |
|
<opener sv:name="opener"> |
7097 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
7098 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
7099 |
|
<text sv:name="text" sv:type="String">[#if def.mainArea.opener.enabled] |
7100 |
|
[#if content.opener?has_content] |
7101 |
|
[@cms.includeTemplate contentNodeName="opener" /] |
7102 |
|
[#else] |
7103 |
|
[#if mgnl.editMode] |
7104 |
|
<div class="opener"> |
7105 |
|
[@cms.newBar contentNodeName="opener" newLabel="${i18n['teaser.opener.newLabel']}" paragraph="${stk.asStringList(def.mainArea.opener.paragraphs)}" /] |
7106 |
|
</div> |
7107 |
|
[/#if] |
7108 |
|
[/#if] |
7109 |
|
[/#if] |
7110 |
|
</text> |
7111 |
|
</opener> |
7112 |
|
<sectionHeader sv:name="sectionHeader"> |
7113 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
7114 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
7115 |
|
<text sv:name="text" sv:type="String"> |
7116 |
|
|
7117 |
|
[#-------------- INCLUDE AND ASSIGN PART --------------] |
7118 |
|
|
7119 |
|
[#-- Assigns: General --] |
7120 |
|
[#assign cms=JspTaglibs["cms-taglib"]] |
7121 |
|
|
7122 |
|
[#-- Assigns: Get Content --] |
7123 |
|
[#assign sectionTitle = model.sectionTitle!] |
7124 |
|
[#assign sectionText = model.sectionText!] |
7125 |
|
|
7126 |
|
[#-- Assigns: Is Content Available --] |
7127 |
|
[#assign hasSectionTitle = sectionTitle?has_content] |
7128 |
|
[#assign hasSectionText = sectionText?has_content] |
7129 |
|
|
7130 |
|
[#-------------- RENDERING PART --------------] |
7131 |
|
|
7132 |
|
[#-- Rendering: Section Header --] |
7133 |
|
[#if hasSectionTitle || hasSectionText || mgnl.editMode ] |
7134 |
|
<div id="section-header"> |
7135 |
|
[@cms.editBar dialog="stkSectionBanner" editLabel="${i18n['section.editLabel.banner']}" moveLabel="" deleteLabel=""/] |
7136 |
|
[#if hasSectionTitle]<h6>${sectionTitle}</h6>[/#if] |
7137 |
|
[#if hasSectionText]<p>${sectionText}</p>[/#if] |
7138 |
|
</div><!-- end section-header --> |
7139 |
|
[/#if] |
7140 |
|
</text> |
7141 |
|
</sectionHeader> |
7142 |
|
</section> |
7143 |
|
<singleton sv:name="singleton"> |
7144 |
|
<mainArea sv:name="mainArea"> |
7145 |
|
<autoImport sv:name="autoImport" sv:type="Boolean">true</autoImport> |
7146 |
|
<enabled sv:name="enabled" sv:type="Boolean">false</enabled> |
7147 |
|
<text sv:name="text" sv:type="String"> |
7148 |
|
|
7149 |
|
[#-- Assigns: General --] |
7150 |
|
[#assign cms=JspTaglibs["cms-taglib"]] |
7151 |
|
|
7152 |
|
[#if def.mainArea.intro.enabled] |
7153 |
|
[#include def.mainArea.intro.template ] |
7154 |
|
[/#if] |
7155 |
|
|
7156 |
|
[@cms.includeTemplate contentNode=content.main.singleton /] |
7157 |
|
|
7158 |
|
|
7159 |
|
|
7160 |
|
</text> |
7161 |
|
</mainArea> |
7162 |
|
</singleton> |
7163 |
|
</templates> |
7164 |
3490 |
</templating_kit> |
7165 |
3491 |
</ROOT> |