An error occurred while processing the template.
Denied access to model object as it does not belong to current company 252001 ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign entry = FrontendService.artic... [in template "252001#252047#252845" at line 83, column 1] ----
1<#-- used @ Veranstaltung-Detailseite Intro
2 used @ Publikation-Detailseite Intro
3-->
4
5<#--
6Web content templates to display teaser on thema detail page
7
8Generic template for detail pages Intro / Teaser element
9-->
10<#--
11Display the current page title
12-->
13<#include "${fullTemplatesPath}/functions/relatedContentUtil.ftl" />
14<#include "${fullTemplatesPath}/macros/debugging.ftl" />
15
16<#include "${fullTemplatesPath}/macros/page-modules/PMIntro.ftl" />
17<#include "${fullTemplatesPath}/macros/atomic-modules/AMPublicationCarousel.ftl" />
18<#include "${fullTemplatesPath}/macros/atomic-modules/AMMetadata.ftl" />
19<#include "${fullTemplatesPath}/macros/atomic-modules/AMDatetime.ftl" />
20
21
22<#--
23 renders the Intro for nearly all Pages
24 TODO: remove Share? (was in the designs, but not anymore?)
25 TODO: check if languageSelect/filter are working (js)
26
27 - portletId
28 - data = {
29 "media": string (src from image),
30 "category": string,
31 "title": string,
32 "author": string,
33 "subheadline": string,
34 "copy": string,
35 "filter": {
36 "id": string,
37 "name": string,
38 "entries": Array<Object> ({key:value}),
39 },
40 "languageSelect": {
41 "id": string,
42 "name": string,
43 "entries": Array<Object> ({key:value}),
44 },
45 "meta": {
46 "pos"; string (top/bottom)
47 "date": string,
48 "hash": string,
49 "info": string, (url)
50 },
51 "share" : {
52 "login": string,
53 "print": string,
54 "mail": string,
55 "multishare": string?? (tbd)
56 }
57 - AMMetadata: macro
58 - position: String ("top") -> defines wether the meta-data should be rendered above or below the intro-content
59 }
60-->
61
62<#assign
63 JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")
64
65 ServiceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()
66 DLAPP = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService")
67
68 themeDisplay = ServiceContext.getThemeDisplay()
69 editmode = FrontendService.user.isPrivilegedUser(themeDisplay)
70
71 languageId = themeDisplay.getLocale()
72 groupId = themeDisplay.getScopeGroupId()
73 currentUrl = themeDisplay.getURLCurrent()
74
75 layout = themeDisplay.getLayout()
76 layouttpl = layout.getTypeSettingsProperties().getProperty("layout-template-id")
77/>
78
79<#setting locale="${languageId}">
80
81<#-- get article from url -->
82
83<#assign entry = FrontendService.article.getArticleToUrl(currentUrl, groupId?number)! >
84
85
86<#if entry?has_content>
87
88 <#if entry.resourcePrimKey??>
89 <#assign primaryKey = entry.resourcePrimKey?number >
90 <#elseif entry.classPK??>
91 <#assign primaryKey = entry.classPK?number >
92 </#if>
93
94 <#assign
95 jsonString = FrontendService.article.getWebcontent(primaryKey)
96 json = FrontendService.json.parseAsJson(jsonString)
97 availablelanguages = FrontendService.article.getAssetEntryToUrl(primaryKey).getAvailableLanguageIds()
98
99 title = entry.getTitle(languageId)
100 data = {
101 "title": title
102 }
103 />
104 <@debugJsonString jsonString "ADT_KASDE_DYNAMIC_INTRO" />
105
106 <#if hasContent('untertitel', languageId, json)>
107 <#assign data = data + { "subheadline": getValueForLanguage('untertitel', languageId, json, "first") } >
108 </#if>
109
110 <#if hasContent('detailsubtitle', languageId, json)>
111 <#assign data = data + { "detailsubtitle": getValueForLanguage('detailsubtitle', languageId, json, "first") } >
112 </#if>
113
114 <#if hasContent('beschreibung', languageId, json)>
115 <#assign data = data + { "copy": getValueForLanguage('beschreibung', languageId, json, "first") } >
116 </#if>
117
118 <#-- fill meta data -->
119 <#assign meta = {} />
120
121 <#-- PUBLIKATIONEN DETAIL -->
122 <#if layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL")>
123
124 <#if hasContent('coverDMTKASDEMEDIUM', languageId, json)>
125 <#assign
126 coverBildString = getValueForLanguage('coverDMTKASDEMEDIUM', languageId, json, "first")
127 />
128
129 <#if coverBildString?has_content>
130 <#assign
131 coverBild = FrontendService.json.parseAsJson(coverBildString)
132 dMTJsonObject = FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale )
133 linkToDMT = FrontendService.media.getImageURLForAMConfiguration('hd-resolution',coverBild.groupId?number, coverBild.uuid )
134 data = data + { "media": linkToDMT, "meta" : dMTJsonObject }
135 />
136 <#if dMTJsonObject.altText?? >
137 <#assign data = data + {"alt" : dMTJsonObject.altText} />
138 </#if>
139 <#if dMTJsonObject.quelle??>
140 <#assign meta = meta + { "quelle": dMTJsonObject.quelle } />
141 </#if>
142 </#if>
143 <#-- uncomment to display pdf cover as Intro Image
144 <#elseif hasContent('document_pdfDMTBASICDOCUMENT', languageId, json)>
145 <#assign
146 pdfDocument = getValueForLanguage('document_pdfDMTBASICDOCUMENT', languageId, json, "first")
147 fileEntry = FrontendService.media.getFileEntry(pdfDocument.uuid, groupId?number)!/>
148 <#if fileEntry?has_content>
149 <#assign
150 linkToThumbnail = FrontendService.link.getThumbnailSrc(fileEntry , themeDisplay)
151 data = data + { "media": linkToThumbnail }
152 />
153 </#if>
154 -->
155 </#if>
156
157 <#assign
158 meta = meta + { "orderInfo": "true" }
159 verbundJournalArticle = FrontendService.publication.getVerbundToPublikation( entry )!""
160 />
161
162
163
164 <#if hasContent('erscheinungsdatum', languageId, json)>
165 <#assign
166 erscheinungsdatum = getValueForLanguage('erscheinungsdatum', languageId, json, "first")
167 />
168 <#if erscheinungsdatum?has_content >
169 <#assign
170 erscheinungsdatumFormatted = FrontendService.date.getDateFormatLong( erscheinungsdatum, languageId )
171 meta = meta + { "date": erscheinungsdatumFormatted }
172 />
173 </#if>
174 </#if>
175
176 <#if verbundJournalArticle?has_content>
177 <#assign
178 verbundJsonString = FrontendService.article.getWebcontent(verbundJournalArticle.resourcePrimKey)
179 verbundJson = FrontendService.json.parseAsJson(verbundJsonString)
180 laufendenummer = getValueForLanguage('laufendenummer', languageId, verbundJson, "first")
181 coverImg = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, verbundJson, "first")
182 />
183 <@debugJsonString verbundJsonString "ADT_KASDE_DYNAMIC_INTRO-verbundJournalArticle" />
184 <#assign meta = meta + { "laufendenummer": laufendenummer } >
185
186 <#if coverImg?has_content && coverImg.url?has_content >
187 <#assign meta = meta + { "coverImg": coverImg.url } >
188 </#if>
189 </#if>
190
191
192 <#if meta?has_content>
193 <#assign data = data + {"meta": meta } >
194 </#if>
195
196 </#if>
197 <#-- PUBLIKATIONEN DETAIL END -->
198
199
200 <#-- VERANSTALTUNGEN DETAIL -->
201 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")>
202 <#assign
203 friendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, languageId, groupId)!""
204 links = []
205 />
206 <#if availablelanguages?has_content && friendlyUrl?has_content>
207 <#if (availablelanguages?size > 1) >
208 <#list availablelanguages as language>
209 <#assign
210 defaultLanguage = "de_DE"
211 defaultLocale = FrontendService.language.getLocaleByKey(defaultLanguage)
212 linkLocale = (FrontendService.language.getLocaleByKey(language))!defaultLocale
213 langFriendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, linkLocale, groupId)
214
215 link = {
216 "key": language!defaultLanguage,
217 "value": linkLocale.getDisplayLanguage(languageId),
218 "url": "/c/portal/update_language?p_l_id=" +
219 layout.plid + "&redirect=" + langFriendlyUrl +
220 "&languageId=" + language
221 }
222 />
223 <#if language == languageId>
224 <#assign link = link + { "selected": "true" } >
225 </#if>
226 <#assign links = links + [link]>
227 </#list>
228 <#assign
229 data = data + {
230 "languageSelect": {
231 "id": "languageSelectRedirect",
232 "name": "languageselectRedirect",
233 "entries": links,
234 "label": languageUtil.get(languageId, "diese.veranstaltung.ist.in.weiteren.sprachen.verfuegbar")
235 }
236 }
237 />
238 </#if>
239 </#if>
240 </#if>
241
242 <#if hasContent('erscheinungsdatum', languageId, json)>
243 <#assign
244 startdate = getValueForLanguage('erscheinungsdatum', languageId, json, "first")
245 meta = meta + { "start": startdate?date.iso, "end": "" }
246 />
247 </#if>
248
249 <#if hasContent('startdatum', languageId, json)>
250 <#assign
251 startdate = getValueForLanguage('startdatum', languageId, json, "first")
252 meta = meta + { "start": startdate?date.iso, "end": "" }
253 />
254 </#if>
255
256 <#if hasValue('einfuehrungText', locale, json)>
257 <#assign data = data + { "einfuehrungText" : getValueForLanguage('einfuehrungText', locale, json, "first") } >
258 <#elseif hasValue(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first")>
259 <#assign data = data + { "einfuehrungText" : getValueForLanguage(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first") } >
260 </#if>
261
262 <#if hasContent('endedatum', languageId, json)>
263 <#assign
264 enddate = getValueForLanguage('endedatum', languageId, json, "first")
265 meta = meta + { "end": enddate?date.iso }
266 />
267 </#if>
268
269 <#if hasContent('startzeit', languageId, json)>
270 <#assign
271 startzeit = getValueForLanguage('startzeit', languageId, json, "first")
272 />
273 <#if startzeit?has_content >
274 <#assign meta = meta + { "startzeit": startzeit } />
275 </#if>
276 </#if>
277
278 <#if hasContent('endezeit', languageId, json)>
279 <#assign
280 endezeit = getValueForLanguage('endezeit', languageId, json, "first")
281 meta = meta + { "endezeit": endezeit }
282 />
283 </#if>
284
285 <#if hasContent('ortWCSKASDEORT', languageId, json)>
286 <#assign
287 ortWCSKASDEORT = FrontendService.json.parseAsJson(getValueForLanguage('ortWCSKASDEORT', languageId, json, "first"))
288 ortWCSKASDEORTPrimaryKey = ortWCSKASDEORT.classPK?number
289 ortWCSKASDEORTWebContent = FrontendService.article.getWebcontentByPk(ortWCSKASDEORTPrimaryKey)!""
290 />
291 <#if ortWCSKASDEORTWebContent?has_content >
292 <#assign
293 ortWCSKASDEORTTitle = ortWCSKASDEORTWebContent.getTitle(languageId)!""
294 />
295 <#if ortWCSKASDEORTTitle?has_content >
296 <#assign
297 meta = meta + { "ortWCSKASDEORT": ortWCSKASDEORTTitle }
298 />
299 </#if>
300 </#if>
301 </#if>
302
303
304 <#if hasContent('veranstaltungsnummer', languageId, json)>
305 <#assign
306 verauuid = getValueForLanguage('veranstaltungsnummer', languageId, json, "first")
307 meta = meta + { "verauuid": verauuid }
308 />
309 </#if>
310
311
312 <#if (data.meta)?has_content >
313 <#assign meta = data.meta />
314 </#if>
315
316 <#if !(data.media)?has_content && hasContent('mediumDMTKASDEMEDIUM', languageId, json)>
317 <#assign
318 medium = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, json, "first")
319 mediaData = getRelatedMediaObject(medium, themeDisplay, languageId, FrontendService, "hd-resolution")
320 />
321 <#assign data = data + { "media": mediaData.url , "meta" : mediaData.meta} >
322
323
324 <#if mediaData.meta?? && mediaData.meta.quelle??>
325 <#assign meta = meta + data.meta + { "quelle": mediaData.meta.quelle } />
326 </#if>
327 </#if>
328
329
330 <#if meta?has_content>
331 <#assign data = data + {"meta": meta } >
332 </#if>
333
334 <#-- END fill meta data -->
335
336 <#if hasContentForSequence('autorenWCSKASDEPERSON', languageId, json)>
337 <#assign
338 journalArticles = getValueForLanguageAnsprechpartner('autorenWCSKASDEPERSON', languageId, json)
339 authors = []
340 />
341 <#list journalArticles as articleString>
342 <#assign article = FrontendService.json.parseAsJson(articleString) />
343 <#if article?has_content && article?is_hash && article.classPK??>
344 <#assign articleDereferenced = FrontendService.person.resolveContactInstanceToPerson(article, languageId)!"" />
345 <#if articleDereferenced?has_content >
346 <#assign
347 author = ""
348 articlePrimaryKey = articleDereferenced.classPK?number
349 articleJsonString = FrontendService.article.getWebcontent(articlePrimaryKey)
350 articleJson = FrontendService.json.parseAsJson(articleJsonString)
351 />
352 <@debugJsonString articleJsonString "ADT_KASDE_DYNAMIC_INTRO-autorenWCSKASDEPERSON" />
353 <#if hasValue('anredetitel', languageId, articleJson)>
354 <#assign author = author + getValueForLanguage('anredetitel', languageId, articleJson, " ") + " ">
355 </#if>
356 <#if hasValue('vorname', languageId, articleJson)>
357 <#assign author = author + getValueForLanguage('vorname', languageId, articleJson, " ") + " ">
358 </#if>
359 <#if hasValue('nachname', languageId, articleJson)>
360 <#assign author = author + getValueForLanguage('nachname', languageId, articleJson, " ") + " ">
361 </#if>
362
363 <#attempt>
364 <#assign href = FrontendService.article.getFriendlyUrl(articlePrimaryKey, languageId, groupId)!"#" >
365 <#recover>
366 <#assign href = "#" >
367 </#attempt>
368 <#if href?has_content && href != "#" && href != "/_404">
369 <#assign author = '<a href="' + href + '">' + author?trim + '</a>'>
370 </#if>
371
372 <#assign authors = authors + [author?trim]>
373 </#if>
374 </#if>
375 </#list>
376 <#if authors?has_content>
377 <#assign data = data + { "author": authors?join(", ") } >
378 </#if>
379 </#if>
380
381 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL") >
382 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "VERANSTALTUNGSTYP")! >
383 <#if categories?has_content && categories[0]?has_content >
384 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } >
385 </#if>
386
387 <#if hasContent('ausgebucht', languageId, json)>
388 <#assign data = data + { "ausgebucht" : getValueForLanguage('ausgebucht', languageId, json, "first") }>
389 </#if>
390
391 <#if hasContent('storniert', languageId, json)>
392 <#assign data = data + { "storniert" : getValueForLanguage('storniert', languageId, json, "first") }>
393 </#if>
394
395 <#elseif layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL") >
396 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "PUBLIKATIONSREIHE")! >
397 <#if categories?has_content && categories[0]?has_content >
398 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } >
399 </#if>
400 <#else>
401 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "THEMA")! >
402 <#if categories?has_content && categories[0]?has_content >
403 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } >
404 </#if>
405 </#if>
406
407
408 <#assign
409 languages = []
410 />
411
412 <#attempt>
413 <#if json["document_pdfDMTBASICDOCUMENT"]?? >
414 <#if availablelanguages?has_content>
415 <#list availablelanguages as pdf_language>
416 <#assign
417 docRefJson = getValueForLanguage('document_pdfDMTBASICDOCUMENT', pdf_language, json, "first")
418 docRef = FrontendService.json.parseAsJson(docRefJson)
419 />
420 <#if docRef?is_hash && pdf_language != languageId >
421 <#assign
422 lang = FrontendService.language.getLocaleByKey(pdf_language)!""
423 docGroupId = docRef["groupId"]?number
424 docUuid = docRef["uuid"]
425 dMTJsonObject = FrontendService.media.getDMTJsonObject( docGroupId, docUuid, locale )
426 dMTLink = FrontendService.media.getLinkToDMT( dMTJsonObject )
427 />
428 <#if lang?has_content>
429 <#assign
430 languages = languages + [
431 {
432 "key": pdf_language,
433 "value": FrontendService.language.getLocaleByKey(pdf_language).getDisplayLanguage(),
434 "url": dMTLink
435 }]
436 />
437 </#if>
438 </#if>
439 </#list>
440 </#if>
441 </#if>
442 <#recover>
443 </#attempt>
444
445 <#if (languages?size > 0)>
446 <#attempt>
447 <#assign
448 data = data + { "languageSelect": {
449 "id": "languageSelect",
450 "name": "languageselect",
451 "entries": languages,
452 "documents": "",
453 "button": "true"
454 }}
455 />
456 <#recover>
457 </#attempt>
458 </#if>
459
460 <@PMIntro "ADT_KASDE_DYNAMIC_INTRO" data AMMetadata AMDatetime "bottom" />
461 ${FrontendService.article.getEditArticleHtml(primaryKey, themeDisplay)}
462
463 <#if data.meta?has_content>
464 <#if data.meta.laufendenummer?has_content !isACColorScheme() && !isVLCColorScheme() && !isDPMColorScheme()>
465 <div>
466 <div id="publicationVerbundPagination">
467 <@AMPublicationCarousel data.meta.laufendenummer data.meta.date data.meta.coverImg />
468 </div>
469 </div>
470 </#if>
471 </#if>
472
473<#elseif (editmode?? && editmode)>
474 <@errorMessage languageUtil.get(locale, "kein.journalArticle.gefunden") "ADT_KASDE_DYNAMIC_INTRO" layouttpl currentUrl />
475</#if>
An error occurred while processing the template.
Denied access to model object as it does not belong to current company 252001 ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign journalArticle = FrontendServ... [in template "252001#252047#252853" at line 39, column 5] ----
1<#include "${fullTemplatesPath}/functions/relatedContentUtil.ftl" />
2<#include "${fullTemplatesPath}/functions/freemarkerUtil.ftl" />
3<#include "${fullTemplatesPath}/macros/debugging.ftl" />
4<#include "${fullTemplatesPath}/functions/liferayServicesUtil.ftl" />
5
6<#include "${fullTemplatesPath}/macros/page-modules/PMNavigation.ftl" />
7<#include "${fullTemplatesPath}/macros/page-modules/PMMarginalspalte.ftl" />
8<#include "${fullTemplatesPath}/macros/atomic-modules/AMVenue.ftl" />
9<#include "${fullTemplatesPath}/macros/atomic-modules/AMMarginalContent.ftl" />
10<#include "${fullTemplatesPath}/macros/atomic-modules/AMPricing.ftl" />
11<#include "${fullTemplatesPath}/macros/atomic-modules/AMPerson.ftl" />
12<#include "${fullTemplatesPath}/macros/atomic-modules/AMMediaElement.ftl" />
13<#include "${fullTemplatesPath}/macros/atomic-modules/AMDatetime.ftl" />
14<#include "${fullTemplatesPath}/macros/atomic-modules/AMMap.ftl" />
15<#include "${fullTemplatesPath}/macros/atomic-modules/AMMarginalLinks.ftl" />
16<#include "${fullTemplatesPath}/macros/atomic-modules/AMCollapsibleListItem.ftl" />
17
18<#assign
19 JournalArticleLocalService = getJournalArticleLocalService()
20
21
22
23 themeDisplay = getThemeDisplay()
24 languageId = themeDisplay.getLocale()
25 editmode = FrontendService.user.isPrivilegedUser(themeDisplay)
26
27 groupId = themeDisplay.getScopeGroupId()
28 currentUrl = themeDisplay.getURLCurrent()
29
30 layout = themeDisplay.getLayout()
31 layouttpl = layout.getTypeSettingsProperties().getProperty("layout-template-id")
32
33 isMicrosite = FrontendService.site.isMicrosite(groupId)!false
34/>
35
36<#-- Veranstaltungen-Detail, Publikationen-Detail -->
37<#if currentUrl?contains("/-/content") >
38
39 <#assign journalArticle = FrontendService.article.getArticleToUrl(currentUrl, groupId?number)! >
40
41 <#if journalArticle?has_content>
42 <#if journalArticle.resourcePrimKey??>
43 <#assign primaryKey = journalArticle.resourcePrimKey?number >
44 <#elseif journalArticle.classPK??>
45 <#assign primaryKey = journalArticle.classPK?number >
46 </#if>
47
48 <#assign
49 jsonString = FrontendService.article.getWebcontent(primaryKey)
50 json = FrontendService.json.parseAsJson(jsonString)
51 />
52
53
54 <@debugJsonString jsonString "ADT_KASDE_MARGINALSPALTE" />
55
56 <#if hasContent('title', locale, json)>
57 <#assign
58 pageName = ""
59 title = " - " + getValueForLanguage("title", languageId, json, "first")
60 />
61 <#if isMicrosite >
62 <#assign
63 pageGroup = layout.getGroup()
64 pageName = " - " + htmlUtil.escape(pageGroup.getDescriptiveName())
65 />
66 </#if>
67
68 </#if>
69
70 <#assign content = getMarginalContent(json, locale, primaryKey, FrontendService, JournalArticleLocalService, themeDisplay) >
71
72
73 <#if hasContent('ausgebucht', locale, json)>
74 <#assign content = content + { "ausgebucht" : getValueForLanguage('ausgebucht', locale, json, "first") }>
75 </#if>
76
77 <#if hasContent('storniert', locale, json)>
78 <#assign content = content + { "storniert" : getValueForLanguage('storniert', locale, json, "first") }>
79 </#if>
80
81 <#if hasContent('document_pdfDMTBASICDOCUMENT', locale, json)>
82 <#assign
83 pdfDocumentString = getValueForLanguage('document_pdfDMTBASICDOCUMENT', locale, json, "first")
84 pdfDocument = FrontendService.json.parseAsJson(pdfDocumentString)
85 fileEntry = FrontendService.media.getFileEntry(pdfDocument.uuid, pdfDocument.groupId?number)!/>
86 <#if fileEntry?has_content>
87 <#assign
88 linkToThumbnail = FrontendService.link.getThumbnailSrc(fileEntry , themeDisplay)
89 covermedia = getDefaultMediaObject(linkToThumbnail, "pdf cover")
90 covermedia = covermedia + {"hrefSource" : content.pdfBasicDocumentUrl.url }
91 content = content + { "covermedia": covermedia }
92 />
93 </#if>
94 </#if>
95
96 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")>
97 <#assign calendar = FrontendService.event.createCalendarFile(primaryKey, locale) />
98 <#assign content = content + {"calendar": calendar } />
99 </#if>
100 <#elseif (editmode?? && editmode)>
101 <@errorMessage languageUtil.get(locale, "kein.journalArticle.gefunden") "ADT_KASDE_MARGINALSPALTE" layouttpl />
102 </#if>
103
104<#-- Themen-Detail and others -->
105<#else>
106 <#-- content in marginalspalte -->
107 <#if entries?has_content>
108 <#assign
109 entry = entries?first
110 primaryKey = entry.classPK?number
111
112 jsonString = FrontendService.article.getWebcontent(primaryKey)
113 json = FrontendService.json.parseAsJson(jsonString)
114 />
115 <@debugJsonString jsonString "ADT_KASDE_MARGINALSPALTE" />
116 <@debugJson json "MARGINALSPALTE_CONTENT_JSON" />
117
118 <#assign content = getMarginalContent(json, locale, primaryKey, FrontendService, JournalArticleLocalService, themeDisplay) >
119 <#elseif (editmode?? && editmode)>
120 <@errorMessage languageUtil.get(locale, "es.existieren.keine.entries") "ADT_KASDE_MARGINALSPALTE" layouttpl />
121 </#if>
122</#if>
123
124
125<#if content??>
126 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")>
127 <#assign type = "veranstaltung" />
128
129 <#elseif layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL")>
130 <#assign type = "publikation" />
131 <#elseif layouttpl?contains("LAYOUT_KASDE_THEMEN_DETAIL")>
132 <#assign type = "thema" />
133 <#else>
134 <#assign type = "default" />
135 </#if>
136
137 <#assign content = content + {"type": type } />
138 <@debugJsonString content "ADT_KASDE_MARGINALSPALTE_CONTENT" />
139 <@PMMarginalspalte "ADT_KASDE_MARGINALSPALTE" content AMArticle AMPerson AMVenue AMPricing AMMediaElement AMDatetime AMMap AMMarginalContent AMMarginalLinks/>
140<#elseif (editmode?? && editmode)>
141 <@errorMessage languageUtil.get(locale, "entries.enthalten.keinen.content") "ADT_KASDE_MARGINALSPALTE" layouttpl />
142</#if>
An error occurred while processing the template.
Denied access to model object as it does not belong to current company 252001 ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign journalArticle = FrontendServ... [in template "252001#252047#252837" at line 31, column 9] ----
1<#-- used @ Publikationen-Detailseite, Tagcloud "Themen" -->
2
3<#--
4Rendert die verknüpften Themen als Tag-Wolke
5-->
6
7<#include "${fullTemplatesPath}/functions/relatedContentUtil.ftl" />
8<#include "${fullTemplatesPath}/macros/debugging.ftl" />
9
10<#include "${fullTemplatesPath}/macros/page-modules/PMTagcloud.ftl" />
11<#include "${fullTemplatesPath}/macros/atomic-modules/AMTag.ftl" />
12
13<#assign
14
15 ServiceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()
16
17 themeDisplay = ServiceContext.getThemeDisplay()
18 currentUrl = themeDisplay.getURLCurrent()
19 editmode = FrontendService.user.isPrivilegedUser(themeDisplay)
20 languageId = themeDisplay.getLocale()
21 headline = languageUtil.get(locale, "themen")
22
23 layout = themeDisplay.getLayout()
24 layouttpl = layout.getTypeSettingsProperties().getProperty("layout-template-id")
25/>
26
27
28 <#assign tags = [] >
29
30 <#if currentUrl?contains("/-/content") >
31 <#assign journalArticle = FrontendService.article.getArticleToUrl(currentUrl, groupId?number)! >
32
33 <#if journalArticle?has_content>
34
35 <#if journalArticle.resourcePrimKey??>
36 <#assign primaryKey = journalArticle.resourcePrimKey?number >
37 <#elseif journalArticle.classPK??>
38 <#assign primaryKey = journalArticle.classPK?number >
39 </#if>
40
41 <#assign
42 jsonString = FrontendService.article.getWebcontent(primaryKey)
43 json = FrontendService.json.parseAsJson(jsonString)
44 />
45 <@debugJsonString jsonString "ADT_KASDE_RELATED_THEMEN" />
46
47 <#attempt>
48 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "THEMA")!"" >
49 <#if categories?has_content>
50 <#list categories as category>
51 <#assign
52 href = FrontendService.category.getAnzeigeseiteToCategory(category, languageId, themeDisplay.getScopeGroupId())!"/_404"
53 title = category.getTitle(languageId)
54 />
55 <#if !FrontendService.category.isHideCategoryByUrl(href)>
56 <#assign
57 tags = tags + [{
58 "title": title,
59 "href": href
60 }]
61 />
62 </#if>
63
64 </#list>
65 </#if>
66 <#recover>
67 </#attempt>
68
69 <#elseif (editmode?? && editmode)>
70 <div class="alert alert-info -hide-live"> RELATED THEMEN: KEIN JOURNAL ARTICLE ZUR URL</div>
71 <@errorMessage languageUtil.get(locale, "kein.journalArticle.gefunden") "ADT_KASDE_RELATED_PUBLIKATIONEN" layouttpl />
72 </#if>
73
74 <#else>
75
76 <#list entries as entry>
77 <#assign
78 primaryKey = entry.classPK?number
79 tag = {
80 "title": entry.getTitle(languageId)
81 }
82 />
83
84 <#attempt>
85 <#assign
86 href = FrontendService.article.getFriendlyUrl(primaryKey, languageId, themeDisplay.getScopeGroupId())
87 tag = tag + {"href": href}
88 />
89 <#recover>
90 </#attempt>
91
92 <#assign tags = tags + [tag] >
93 </#list>
94
95 </#if>
96
97
98<#if tags?has_content >
99 <div class="o-page-module">
100 <@PMTagcloud "ADT_KASDE_KONTEXTLINKS" tags AMTag headline />
101 </div>
102<#elseif (editmode?? && editmode)>
103 <@errorMessage languageUtil.get(locale, "keine.tags.zum.inhalt.vorhanden") "ADT_KASDE_RELATED_PUBLIKATIONEN" layouttpl />
104</#if>
An error occurred while processing the template.
Denied access to model object as it does not belong to current company 252001 ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign journalArticle = FrontendServ... [in template "252001#252047#252729" at line 35, column 5] ----
1<#--
2 used @ Detailseite, PARTNER
3 used @ Veranstaltungs-Detailseite, PARTNER + Bereitgestellt von
4-->
5
6<#include "${fullTemplatesPath}/functions/relatedContentUtil.ftl" />
7<#include "${fullTemplatesPath}/functions/contentUtil.ftl" />
8<#include "${fullTemplatesPath}/macros/debugging.ftl" />
9
10<#include "${fullTemplatesPath}/macros/page-modules/PMContextPartner.ftl" />
11<#include "${fullTemplatesPath}/macros/page-modules/PMPartner.ftl" />
12<#include "${fullTemplatesPath}/macros/page-modules/PMContext.ftl" />
13<#include "${fullTemplatesPath}/macros/page-modules/PMPromo.ftl" />
14
15<#include "${fullTemplatesPath}/macros/atomic-modules/AMPartner.ftl" />
16<#include "${fullTemplatesPath}/macros/atomic-modules/AMMediaElement.ftl" />
17
18<#assign
19
20
21 JournalArticleLocalService = getJournalArticleLocalService()
22
23 themeDisplay = getThemeDisplay()
24 currentUrl = themeDisplay.getURLCurrent()
25 locale = themeDisplay.getLocale()
26 layout = themeDisplay.getLayout()
27
28 layouttpl = layout.getTypeSettingsProperties().getProperty("layout-template-id")
29 editmode = FrontendService.user.isPrivilegedUser(themeDisplay)
30/>
31
32<#-- PARTNER + "Bereitgestellt von" (Veranstaltungs-Detail) -->
33<#-- check if it is a hidden detail page - get article from url -->
34<#if currentUrl?contains("/-/content") >
35 <#assign journalArticle = FrontendService.article.getArticleToUrl(currentUrl, groupId?number)!"" >
36
37 <#if journalArticle?has_content >
38 <#assign
39 primaryKey = journalArticle.resourcePrimKey?number
40 jsonString = FrontendService.article.getWebcontent(primaryKey)
41 json = FrontendService.json.parseAsJson(jsonString)
42
43 title = journalArticle.getTitle(locale)
44 data = {
45 "title": title
46 }
47 />
48 <@debugJsonString jsonString "ADT_KASDE_CONTEXT" />
49
50 <#assign content = getRelatedPublication(json, locale, primaryKey, themeDisplay, FrontendService ) >
51
52 <#if hasContentForSequence('partnerWCSKASDEPARTNER', locale, json)>
53 <#assign
54 partner = []
55 partners = getValueForLanguageAnsprechpartner('partnerWCSKASDEPARTNER', locale, json)
56 />
57
58 <#list partners as partnerEntry>
59 <#if partnerEntry?has_content >
60 <#assign
61 partnerJson = getJsonFromArticle(FrontendService.json.parseAsJson(partnerEntry), JournalArticleLocalService, FrontendService)
62 partnerData = getRelatedPartner(partnerJson, themeDisplay, locale, FrontendService)!""
63 />
64 <@debugJson partnerJson "ADT_KASDE_CONTEXT-partnerWCSKASDEPARTNER" />
65
66 <#if partnerData?has_content >
67 <#assign
68 partner = partner + [partnerData]
69 />
70 </#if>
71 </#if>
72 </#list>
73 <#assign content = content + {"partner": partner} >
74 </#if>
75
76 <#if content?has_content>
77
78 <#-- PARTNER -->
79 <#if content.partner?? >
80 <div class="o-page-module o-page-module--border">
81 <@PMContextPartner "ADT_KASDE_PARTNER_CONTEXT" content.partner PMPartner AMPartner AMMediaElement languageUtil.get(locale, "partner") "c-page-context--veranstaltungdetail" />
82 </div>
83 <#elseif (editmode?? && editmode)>
84 <@errorMessage languageUtil.get(locale, "keine.partner.zum.thema") "ADT_KASDE_CONTEXT" layouttpl currentUrl />
85 </#if>
86
87 <#if hasValue('bereitgestelltvon', locale, json)>
88 <#assign
89 bereitgestelltvon = getValueForLanguage('bereitgestelltvon', locale, json, "first")
90 />
91
92 <#-- "Bereitsgestellt von" -->
93 <#if bereitgestelltvon?has_content >
94 <#assign
95 data = {
96 "title": languageUtil.get(locale, "bereitgestellt.von"),
97 "copy": bereitgestelltvon
98 }
99 />
100
101 <#if hasValue('bereitgestelltvonlink', locale, json)>
102 <#assign data = data + { "href" : getValueForLanguage('bereitgestelltvonlink', locale, json, "first") } />
103 </#if>
104
105 <#assign data = data + { "uniquename" : "presented-by" } />
106
107 <div class="o-page-module o-page-module--border">
108 <@PMContext "ADT_KASDE_ABOUT_CONTEXT" data "c-page-context--veranstaltungdetail c-page-context--presented-by" />
109 </div>
110 <#elseif (editmode?? && editmode)>
111 <@errorMessage languageUtil.get(locale, "es.existieren.keine.entries") "ADT_KASDE_CONTEXT" layouttpl currentUrl />
112 </#if>
113 <#elseif (editmode?? && editmode)>
114 <@errorMessage languageUtil.get(locale, "es.existieren.keine.entries") "ADT_KASDE_CONTEXT" layouttpl currentUrl />
115 </#if>
116 <#elseif (editmode?? && editmode)>
117 <@errorMessage languageUtil.get(locale, "es.existieren.keine.entries") "ADT_KASDE_CONTEXT" layouttpl currentUrl />
118 </#if>
119 </#if>
120
121<#-- PARTNER -->
122<#elseif entries?has_content>
123 <#assign content = [] >
124
125 <#list entries as entry>
126 <#assign
127 primaryKey = entry.classPK?number
128 jsonString = FrontendService.article.getWebcontent(primaryKey)
129 json = FrontendService.json.parseAsJson(jsonString)
130
131 headline = languageUtil.get(locale, "partner")
132 />
133 <@debugJsonString jsonString "ADT_KASDE_CONTEXT" />
134
135 <#-- "PARTNER List" -->
136 <#if hasContentForSequence('partnerWCSKASDEPARTNER', locale, json)>
137 <#assign
138 partner = []
139 partners = getValueForLanguageAnsprechpartner('partnerWCSKASDEPARTNER', locale, json)
140 />
141
142 <#list partners as partnerEntry>
143 <#if partnerEntry?has_content >
144 <#assign
145 partnerJson = getJsonFromArticle(partnerEntry, JournalArticleLocalService, FrontendService)
146 partnerData = getRelatedPartner(partnerJson, themeDisplay, locale, FrontendService)!""
147 />
148 <#if partnerData?has_content >
149 <#assign
150 partner = partner + [partnerData]
151 />
152 </#if>
153 </#if>
154 </#list>
155
156 <#if partner?has_content>
157 <div class="o-page-module o-page-module--border">
158 <@PMContextPartner "ADT_KASDE_PARTNER_CONTEXT" partner PMPartner AMPartner AMMediaElement headline "c-page-context--themadetail" />
159 </div>
160 <#elseif (editmode?? && editmode && entry?is_first)>
161 <@errorMessage languageUtil.get(locale, "keine.partner.zum.thema") "ADT_KASDE_CONTEXT" layouttpl currentUrl />
162 </#if>
163 <#elseif (editmode?? && editmode && entry?is_first)>
164 <@errorMessage languageUtil.get(locale, "keine.partner.zum.thema") "ADT_KASDE_CONTEXT" layouttpl currentUrl />
165 </#if>
166
167 </#list>
168<#elseif (editmode?? && editmode)>
169 <@errorMessage languageUtil.get(locale, "es.existieren.keine.entries") "ADT_KASDE_CONTEXT" layouttpl currentUrl />
170</#if>