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">&#169; ${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}">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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&amp;bm_url='+encodeURIComponent(location.href)+'&amp;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)+'&amp;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)+'&amp;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)+'&amp;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)+'&amp;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)+'&amp;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>