1<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 2<#assign groupService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") /> 3<#assign umTemplateService = serviceLocator.findService("de.xdot.um.template.UmTemplateService") /> 4
5<#assign groupObj = groupService.getGroup(groupId) />
6<#assign groupName = groupObj.getDescriptiveName(locale) />
7
8<#assign layoutSet = groupObj.getPublicLayoutSet() />
9<#assign hostname = layoutSet.getVirtualHostname()/>
10
11<#assign namespace = randomNamespace />
12
13<div class="print-header">
14${groupName} - https://${hostname} 15</div>
16
17
18<div class="artikel">
19
20<#if Spitzmarke.getData()!="">
21 <h2 class="spitzmarke">${Spitzmarke.getData()}</h2> 22</#if>
23
24
25 <div class="green-line"></div>
26
27
28 <h1 class="h1--large">${Ueberschrift.getData()}</h1> 29
30<#if BildMitBildunterschrift??>
31
32 <#if BildMitBildunterschrift.getSiblings()?has_content>
33
34 <#if (BildMitBildunterschrift.getSiblings()?size>1)>
35 <@imageTextSlider/>
36 <#else>
37
38 <#list BildMitBildunterschrift.getSiblings() as cur_Bild>
39 <#if cur_Bild.Bild.getData()?has_content>
40 <div class="teaser-image no-carousel">
41 <@createImageTag imageUrl="${cur_Bild.Bild.getData()}" bildunterschrift="${cur_Bild.Bildunterschrift.getData()}"/> 42 </div>
43 </#if>
44 </#list>
45
46 </#if>
47
48 </#if>
49</#if>
50
51
52 <div class="teaser-content">
53 <#assign content = umTemplateService.addCopyright(Inhalt.data, locale) />
54 <#assign content = umTemplateService.removeUuidFromDownloadUrls(content, locale) />
55 <#assign content = umTemplateService.updateEMailAddresses(content) />
56
57 ${content} 58
59 <#assign layoutService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") /> 60
61 <#if (WeitereInformationen.getSiblings()?has_content) &&
62 (WeitereInformationen.getSiblings()?size>0) &&
63 ((WeitereInformationen.getSiblings()[0].Linktext.getData()?has_content) ||
64 (WeitereInformationen.getSiblings()[0].InternerLink.getFriendlyUrl()?has_content)) ||
65 ( (WeitereInformationen.getSiblings()[0].article?? && WeitereInformationen.getSiblings()[0].article.data?has_content) )>
66
67 <h2 class="h2">Weitere Informationen</h2>
68
69 <#assign weitereInformationenListe=WeitereInformationen.getSiblings()/>
70
71 <#list weitereInformationenListe as cur_WeitereInformationen>
72
73 <#assign tlink=""/>
74
75 <#-- if internal link, use page name as default link text -->
76 <#if (cur_WeitereInformationen.InternerLink??) &&
77 (cur_WeitereInformationen.InternerLink.getFriendlyUrl()?has_content)>
78
79 <#assign tlink = cur_WeitereInformationen.InternerLink.getFriendlyUrl()>
80
81 <#-- always use relative URL -->
82 <#if tlink?starts_with("http")> 83 <#assign tlink = "/"+tlink?split("/")[3]> 84 </#if>
85
86 <#-- page might have been deleted -->
87 <#assign tlink_text="">
88
89
90 <#if (layoutService.fetchLayoutByFriendlyURL( getterUtil.getLong(groupId), getterUtil.getBoolean(false), tlink)??)>
91
92 <#assign layout = layoutService.fetchLayoutByFriendlyURL( getterUtil.getLong(groupId), getterUtil.getBoolean(false), tlink) />
93
94 <#assign tlink_text = layout.getName(locale)/>
95
96 </#if>
97
98 </#if>
99
100
101 <#assign linktarget="">
102
103 <#if ! tlink?has_content>
104 <#assign tlink = cur_WeitereInformationen.ExternerLink.getData()>
105 <#assign linktarget="_blank">
106 </#if>
107
108 <#if ! tlink?has_content>
109 <#if (cur_WeitereInformationen.article?? && cur_WeitereInformationen.article.data?has_content)>
110 <#assign
111 entryInfo = cur_WeitereInformationen.article.data?eval
112 entryClassPK = getterUtil.getLong(entryInfo.classPK)
113 article = journalArticleLocalService.fetchLatestArticle(entryClassPK)
114 tlink = "/-/" + article.urlTitle
115 linktarget = ""
116 tlink_text = article.getTitle(locale)
117 />
118 </#if>
119 </#if>
120
121 <#-- overwrite linktext, if editor has set it manually -->
122 <#if (cur_WeitereInformationen.Linktext.getData()?has_content)>
123 <#assign tlink_text = cur_WeitereInformationen.Linktext.getData()>
124 </#if>
125
126 <div class="weiterer-link">
127
128 <a class="mehr-link" href="${tlink}" target="${linktarget}" alt="${tlink_text}" 129 title="${tlink_text}">${tlink_text}</a> 130
131 </div>
132
133
134 </#list>
135
136
137 </#if>
138
139 <#if ZumHerunterladen??>
140
141 <#if (ZumHerunterladen.PdfDatei.getSiblings()?has_content) &&
142 (ZumHerunterladen.PdfDatei.getSiblings()?size>0) &&
143 (ZumHerunterladen.PdfDatei.getSiblings()[0].getData()?has_content)>
144
145
146
147 <h2>Zum Herunterladen</h2>
148
149 <#list ZumHerunterladen.PdfDatei.getSiblings() as cur_Datei>
150 <#if cur_Datei.getData()?has_content>
151
152 <#assign fileUrl = getterUtil.getString(cur_Datei.getData())>
153 <#assign fileUid = stringUtil.extractLast(fileUrl, "/")>
154
155 <#assign DLAppServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService")> 156 <#assign Datei = DLAppServiceUtil.getFileEntryByUuidAndGroupId(fileUid,groupId)>
157
158 <#assign downloadURL = fileUrl?substring(0, fileUrl?last_index_of("/")) /> 159 <#assign downloadURL = downloadURL?substring(0, downloadURL?last_index_of("/")) /> 160 <#assign downloadURL = downloadURL + "/" + htmlUtil.escapeURL(Datei.getTitle()) />
161
162 <#if (Datei.getDescription()?has_content)>
163 <#assign dateiText=Datei.getDescription()>
164 <#else>
165 <#assign dateiText=Datei.getTitle()>
166 </#if>
167
168 <#-- Add the filesize to linktext -->
169 <#if Datei??>
170 <#assign fileSize = ((Datei.getSize()/1024)?round)/>
171 <#assign unit="KB"/>
172
173 <#if (fileSize > 1000) >
174 <#setting locale="de_DE">
175 <#assign fileSize = (fileSize / 1024)?string["0.#"]/>
176 <#assign unit="MB"/>
177 </#if>
178
179 <#assign dateiGroesse="["+fileSize+" "+unit+ getAccessibilityInformation(fileUid,groupId) + "]"/>
180 <#assign dateiText+= " " + dateiGroesse>
181 </#if>
182
183 <div class="weiterer-link">
184 <a href="${downloadURL}" target="_blank" alt="${dateiText}" 185 title="${dateiText}">${dateiText}</a><br/> 186 </div>
187
188 </#if>
189 </#list>
190 </#if>
191
192 </#if>
193
194
195 </div>
196
197</div>
198
199
200
201
202<#-- image text slider -->
203
204
205
206
207<#macro imageTextSlider>
208
209
210<section class="carousel-container slider-articlepage">
211 <div class="carousel slide carousel-fade" data-ride="carousel" id="${namespace}carousel"> 212 <div class="indicators-wrapper">
213 <button class="ctrlTogglePlay playing" id="${namespace}ctrlTogglePlay"> </button> 214 <ol class="carousel-indicators">
215 <#list BildMitBildunterschrift.getSiblings() as cur_images>
216 <li class="${(cur_images?counter == 1)?then('active', '')}" 217 data-slide-to="${(cur_images?counter == 1)?then(0, (cur_images?counter - 1))}" 218 data-target='#${namespace}carousel'></li> 219 </#list>
220 </ol>
221 </div>
222 <a class="left carousel-control" href='#${namespace}carousel' role="button" data-slide="prev"> 223 <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
224 <span class="sr-only">Previous</span>
225 </a>
226
227
228 <a class="right carousel-control" href='#${namespace}carousel' role="button" data-slide="next"> 229 <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
230 <span class="sr-only">Next</span>
231 </a>
232
233
234 <div class="carousel-inner" role="listbox">
235 <#list BildMitBildunterschrift.getSiblings() as cur_images>
236 <div class="${(cur_images?counter == 1)?then('active', '')} item" role="option"> 237 <div class="teaser-image">
238 <@createImageTag imageUrl="${cur_images.Bild.getData()}" bildunterschrift="${cur_images.Bildunterschrift.getData()}"/> 239 </div>
240 </div>
241 </#list>
242 </div>
243 </div>
244</section>
245
246
247</#macro>
248
249<script>
250 $(document).ready(function () { 251
252 $('#${namespace}ctrlTogglePlay').on('click', function () { 253
254 if($(this).hasClass('playing')) { 255 $('#${namespace}carousel').carousel('pause'); 256 // console.log('stop'); 257 }else { 258 $('#${namespace}carousel').carousel('cycle'); 259 // console.log('play'); 260 }
261
262 $(this).toggleClass('playing'); 263
264 });
265
266 $('#${namespace}carousel').carousel({ 267 interval: 5000,
268 pause: "false"
269 });
270 });
271</script>
272
273
274
275
276<#macro createImageTag imageUrl bildunterschrift>
277
278 <#assign altTag="alt-tag">
279 <#assign bildnachweis="">
280
281 <#assign imageFileUid = stringUtil.extractLast(imageUrl, "/")>
282
283 <#if (stringUtil.extractFirst(imageFileUid, "t")??)>
284 <#assign imageFileUid = stringUtil.extractFirst(imageFileUid, "t")/>
285 <#assign imageFileUid= imageFileUid?substring(0,imageFileUid?length-1)/>
286 </#if>
287
288
289 <#assign dlimageFileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")> 290 <#assign dlimageFileEntryTypeService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryTypeLocalService")> 291 <#assign dlFileVersionService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileVersionLocalService")> 292 <#assign DLAppServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService")> 293 <#assign Datei = DLAppServiceUtil.getFileEntryByUuidAndGroupId(imageFileUid,groupId)>
294 <#assign imageFileEntry = dlimageFileEntryService.getFileEntryByUuidAndGroupId(Datei.getUuid() , Datei.getGroupId() ) />
295
296 <#assign imageFileEntryTypeId = imageFileEntry.getFileEntryTypeId() />
297
298 <#if imageFileEntryTypeId gt 0 >
299 <#assign imageFileEntryType = dlimageFileEntryTypeService.getDLFileEntryType(imageFileEntryTypeId) />
300 <#assign dlFileVersion = dlFileVersionService.getLatestFileVersion(imageFileEntry.getUserId(), imageFileEntry.getFileEntryId()) />
301 <#assign fieldsMap = imageFileEntry.getDDMFormValuesMap(dlFileVersion.getFileVersionId()) />
302
303 <#list fieldsMap?keys as ddmFormKey>
304
305 <#assign ddmForm = fieldsMap[ddmFormKey]/>
306
307 <#list ddmForm.getDDMFormFieldValues() as formField>
308 <#--name= ${formField.getName()} value= ${formField.getValue().getString(locale)}<br/>--> 309
310 <#if formField.getName() == 'AltTag'>
311 <#assign altTag = formField.getValue().getString(locale) />
312 </#if>
313
314 <#if formField.getName() == 'Bildnachweis'>
315 <#assign bildnachweis = formField.getValue().getString(locale) />
316 </#if>
317
318 </#list>
319
320 </#list>
321
322 </#if>
323
324<#--<div class="teaser-image-wrapper">-->
325<#if viewMode == "view">
326 <img src="${imageUrl}" alt="${altTag}" title="${altTag}"/> 327<#elseif viewMode == "export">
328 <@createExportImageTag imageUrl=imageUrl altTag=altTag hostname=hostname />
329</#if>
330<#--<a href="#" class="btn btn-default btn-prev mycarousel-prev"><span class="icon icon-chevron-left"></span></a>-->
331<#--<a href="#" class="btn btn-default btn-next mycarousel-next"><span class="icon icon-chevron-right"></span></a>-->
332<#--</div>-->
333
334<div class="bildunterschrift">${bildunterschrift}</div> 335<div class="bildnachweis">Quelle: ${bildnachweis}</div> 336
337</#macro>
338
339<#macro createExportImageTag imageUrl altTag hostname>
340 <#assign
341 imageFileUid = stringUtil.extractLast(imageUrl, "/")
342 />
343 <#if (stringUtil.extractFirst(imageFileUid, "t")??)>
344 <#assign imageFileUid = stringUtil.extractFirst(imageFileUid, "t")/>
345 <#assign imageFileUid= imageFileUid?substring(0,imageFileUid?length-1)/>
346 </#if>
347 <#assign
348 dlAppService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService") 349 fileEntry = dlAppService.getFileEntryByUuidAndGroupId(imageFileUid,groupId)
350 inputStream = fileEntry.getContentStream()
351 imageModel = imageToolUtil.getImage(inputStream)
352 />
353 <#assign
354 width = imageModel.getWidth()
355 height = imageModel.getHeight()
356 aspectRatio = width / height
357 />
358 <#if width gt 650>
359 <#assign
360 height = 650 / aspectRatio
361 width = 650
362 />
363 </#if>
364 <img src="${imageUrl}" alt="${altTag}" title="${altTag}" width="${width}" height="${height}"/> 365</#macro>
366
367<#function getAccessibilityInformation fileUid,groupId>
368 <#assign DLAppServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService")> 369 <#assign dlFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")> 370 <#assign dlFileEntryTypeLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryTypeLocalService")> 371 <#assign dlFileVersionLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileVersionLocalService")> 372
373 <#assign Datei = dlFileEntryLocalService.getFileEntryByUuidAndGroupId(fileUid,groupId) />
374
375 <#assign fileEntryTypeId = Datei.getFileEntryTypeId() />
376
377 <#if fileEntryTypeId gt 0 >
378 <#assign imageFileEntryType = dlFileEntryTypeLocalService.getDLFileEntryType(fileEntryTypeId) />
379 <#assign dlFileVersion = dlFileVersionLocalService.getLatestFileVersion(Datei.getUserId(), Datei.getFileEntryId()) />
380 <#assign fieldsMap = Datei.getDDMFormValuesMap(dlFileVersion.getFileVersionId()) />
381
382 <#list fieldsMap?keys as ddmFormKey>
383 <#assign ddmForm = fieldsMap[ddmFormKey]/>
384
385 <#list ddmForm.getDDMFormFieldValues() as formField>
386 <#if formField.getName() == 'notAccessible'>
387 <#assign notAccessbile = formField.getValue().getString(locale) />
388 <#if getterUtil.getBoolean(notAccessbile)>
389 <#return "; nicht barrierefrei" />
390 </#if>
391 </#if>
392
393 </#list>
394
395 </#list>
396 </#if>
397
398 <#return "" />
399</#function>