Social market economy - Regional Programme Energy Security and Climate Change in Asia and the Pacific
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 82, 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/AMMetadata.ftl" />
18<#include "${fullTemplatesPath}/macros/atomic-modules/AMDatetime.ftl" />
19
20
21<#--
22 renders the Intro for nearly all Pages
23 TODO: remove Share? (was in the designs, but not anymore?)
24 TODO: check if languageSelect/filter are working (js)
25
26 - portletId
27 - data = {
28 "media": string (src from image),
29 "category": string,
30 "title": string,
31 "author": string,
32 "subheadline": string,
33 "copy": string,
34 "filter": {
35 "id": string,
36 "name": string,
37 "entries": Array<Object> ({key:value}),
38 },
39 "languageSelect": {
40 "id": string,
41 "name": string,
42 "entries": Array<Object> ({key:value}),
43 },
44 "meta": {
45 "pos"; string (top/bottom)
46 "date": string,
47 "hash": string,
48 "info": string, (url)
49 },
50 "share" : {
51 "login": string,
52 "print": string,
53 "mail": string,
54 "multishare": string?? (tbd)
55 }
56 - AMMetadata: macro
57 - position: String ("top") -> defines wether the meta-data should be rendered above or below the intro-content
58 }
59-->
60
61<#assign
62 JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")
63
64 ServiceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()
65 DLAPP = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService")
66
67 themeDisplay = ServiceContext.getThemeDisplay()
68 editmode = FrontendService.user.isPrivilegedUser(themeDisplay)
69
70 languageId = themeDisplay.getLocale()
71 groupId = themeDisplay.getScopeGroupId()
72 currentUrl = themeDisplay.getURLCurrent()
73
74 layout = themeDisplay.getLayout()
75 layouttpl = layout.getTypeSettingsProperties().getProperty("layout-template-id")
76/>
77
78<#setting locale="${languageId}">
79
80<#-- get article from url -->
81
82<#assign entry = FrontendService.article.getArticleToUrl(currentUrl, groupId?number)! >
83
84
85<#if entry?has_content>
86
87 <#if entry.resourcePrimKey??>
88 <#assign primaryKey = entry.resourcePrimKey?number >
89 <#elseif entry.classPK??>
90 <#assign primaryKey = entry.classPK?number >
91 </#if>
92
93 <#assign
94 jsonString = FrontendService.article.getWebcontent(primaryKey)
95 json = FrontendService.json.parseAsJson(jsonString)
96
97 title = entry.getTitle(languageId)
98 data = {
99 "title": title
100 }
101 />
102 <@debugJsonString jsonString "ADT_KASDE_DYNAMIC_INTRO" />
103
104 <#if hasContent('untertitel', languageId, json)>
105 <#assign data = data + { "subheadline": getValueForLanguage('untertitel', languageId, json, "first") } >
106 </#if>
107
108 <#if hasContent('beschreibung', languageId, json)>
109 <#assign data = data + { "copy": getValueForLanguage('beschreibung', languageId, json, "first") } >
110 </#if>
111
112 <#-- fill meta data -->
113 <#assign meta = {} />
114
115 <#-- PUBLIKATIONEN DETAIL -->
116 <#if layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL")>
117
118 <#if hasContent('coverDMTKASDEMEDIUM', languageId, json)>
119 <#assign
120 coverBildString = getValueForLanguage('coverDMTKASDEMEDIUM', languageId, json, "first")
121 />
122
123 <#if coverBildString?has_content>
124 <#assign
125 coverBild = FrontendService.json.parseAsJson(coverBildString)
126 dMTJsonObject = FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale )
127 linkToDMT = FrontendService.media.getImageURLForAMConfiguration('hd-resolution',coverBild.groupId?number, coverBild.uuid )
128 data = data + { "media": linkToDMT, "meta" : dMTJsonObject }
129 />
130 <#if dMTJsonObject.altText?? >
131 <#assign data = data + {"alt" : dMTJsonObject.altText} />
132 </#if>
133 <#if dMTJsonObject.quelle??>
134 <#assign meta = meta + { "quelle": dMTJsonObject.quelle } />
135 </#if>
136 </#if>
137 <#-- uncomment to display pdf cover as Intro Image
138 <#elseif hasContent('document_pdfDMTBASICDOCUMENT', languageId, json)>
139 <#assign
140 pdfDocument = getValueForLanguage('document_pdfDMTBASICDOCUMENT', languageId, json, "first")
141 fileEntry = FrontendService.media.getFileEntry(pdfDocument.uuid, groupId?number)!/>
142 <#if fileEntry?has_content>
143 <#assign
144 linkToThumbnail = FrontendService.link.getThumbnailSrc(fileEntry , themeDisplay)
145 data = data + { "media": linkToThumbnail }
146 />
147 </#if>
148 -->
149 </#if>
150
151 <#assign
152 meta = meta + { "orderInfo": "true" }
153 verbundJournalArticle = FrontendService.publication.getVerbundToPublikation( entry )!""
154 />
155
156
157
158 <#if hasContent('erscheinungsdatum', languageId, json)>
159 <#assign
160 erscheinungsdatum = getValueForLanguage('erscheinungsdatum', languageId, json, "first")
161 />
162 <#if erscheinungsdatum?has_content >
163 <#assign
164 erscheinungsdatumFormatted = FrontendService.date.getDateFormatLong( erscheinungsdatum, languageId )
165 meta = meta + { "date": erscheinungsdatumFormatted }
166 />
167 </#if>
168 </#if>
169
170 <#if verbundJournalArticle?has_content>
171 <#assign
172 verbundJsonString = FrontendService.article.getWebcontent(verbundJournalArticle.resourcePrimKey)
173 verbundJson = FrontendService.json.parseAsJson(verbundJsonString)
174 laufendenummer = getValueForLanguage('laufendenummer', languageId, verbundJson, "first")
175 />
176 <@debugJsonString verbundJsonString "ADT_KASDE_DYNAMIC_INTRO-verbundJournalArticle" />
177 <#assign meta = meta + { "laufendenummer": laufendenummer } >
178 </#if>
179
180
181 <#if meta?has_content>
182 <#assign data = data + {"meta": meta } >
183 </#if>
184
185 </#if>
186 <#-- PUBLIKATIONEN DETAIL END -->
187
188
189 <#-- VERANSTALTUNGEN DETAIL -->
190 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")>
191 <#assign
192 friendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, languageId, groupId)!""
193 languages = entry.getAvailableLanguageIds()
194 links = []
195 />
196 <#if languages?has_content && friendlyUrl?has_content>
197 <#if (languages?size > 1) >
198 <#list languages as language>
199 <#assign
200 defaultLanguage = "de_DE"
201 defaultLocale = FrontendService.language.getLocaleByKey(defaultLanguage)
202 linkLocale = (FrontendService.language.getLocaleByKey(language))!defaultLocale
203 langFriendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, linkLocale, groupId)
204
205 link = {
206 "key": language!defaultLanguage,
207 "value": linkLocale.getDisplayLanguage(languageId),
208 "url": "/c/portal/update_language?p_l_id=" +
209 layout.plid + "&redirect=" + langFriendlyUrl +
210 "&languageId=" + language
211 }
212 />
213 <#if language == languageId>
214 <#assign link = link + { "selected": "true" } >
215 </#if>
216 <#assign links = links + [link]>
217 </#list>
218 <#assign
219 data = data + {
220 "languageSelect": {
221 "id": "languageSelectRedirect",
222 "name": "languageselectRedirect",
223 "entries": links,
224 "label": languageUtil.get(languageId, "diese.veranstaltung.ist.in.weiteren.sprachen.verfuegbar")
225 }
226 }
227 />
228 </#if>
229 </#if>
230 </#if>
231
232 <#if hasContent('erscheinungsdatum', languageId, json)>
233 <#assign
234 startdate = getValueForLanguage('erscheinungsdatum', languageId, json, "first")
235 meta = meta + { "start": startdate?date.iso, "end": "" }
236 />
237 </#if>
238
239 <#if hasContent('startdatum', languageId, json)>
240 <#assign
241 startdate = getValueForLanguage('startdatum', languageId, json, "first")
242 meta = meta + { "start": startdate?date.iso, "end": "" }
243 />
244 </#if>
245
246 <#if hasValue('einfuehrungText', locale, json)>
247 <#assign data = data + { "einfuehrungText" : getValueForLanguage('einfuehrungText', locale, json, "first") } >
248 <#elseif hasValue(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first")>
249 <#assign data = data + { "einfuehrungText" : getValueForLanguage(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first") } >
250 </#if>
251
252 <#if hasContent('endedatum', languageId, json)>
253 <#assign
254 enddate = getValueForLanguage('endedatum', languageId, json, "first")
255 meta = meta + { "end": enddate?date.iso }
256 />
257 </#if>
258
259 <#if hasContent('startzeit', languageId, json)>
260 <#assign
261 startzeit = getValueForLanguage('startzeit', languageId, json, "first")
262 />
263 <#if startzeit?has_content >
264 <#assign meta = meta + { "startzeit": startzeit } />
265 </#if>
266 </#if>
267
268 <#if hasContent('endezeit', languageId, json)>
269 <#assign
270 endezeit = getValueForLanguage('endezeit', languageId, json, "first")
271 meta = meta + { "endezeit": endezeit }
272 />
273 </#if>
274
275 <#if hasContent('ortWCSKASDEORT', languageId, json)>
276 <#assign
277 ortWCSKASDEORT = FrontendService.json.parseAsJson(getValueForLanguage('ortWCSKASDEORT', languageId, json, "first"))
278 ortWCSKASDEORTPrimaryKey = ortWCSKASDEORT.classPK?number
279 ortWCSKASDEORTWebContent = FrontendService.article.getWebcontentByPk(ortWCSKASDEORTPrimaryKey)!""
280 />
281 <#if ortWCSKASDEORTWebContent?has_content >
282 <#assign
283 ortWCSKASDEORTTitle = ortWCSKASDEORTWebContent.getTitle(languageId)!""
284 />
285 <#if ortWCSKASDEORTTitle?has_content >
286 <#assign
287 meta = meta + { "ortWCSKASDEORT": ortWCSKASDEORTTitle }
288 />
289 </#if>
290 </#if>
291 </#if>
292
293
294 <#if hasContent('veranstaltungsnummer', languageId, json)>
295 <#assign
296 verauuid = getValueForLanguage('veranstaltungsnummer', languageId, json, "first")
297 meta = meta + { "verauuid": verauuid }
298 />
299 </#if>
300
301
302 <#if (data.meta)?has_content >
303 <#assign meta = data.meta />
304 </#if>
305
306 <#if !(data.media)?has_content && hasContent('mediumDMTKASDEMEDIUM', languageId, json)>
307 <#assign
308 medium = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, json, "first")
309 mediaData = getRelatedMediaObject(medium, themeDisplay, languageId, FrontendService, "hd-resolution")
310 />
311 <#assign data = data + { "media": mediaData.url , "meta" : mediaData.meta} >
312
313
314 <#if mediaData.meta?? && mediaData.meta.quelle??>
315 <#assign meta = meta + data.meta + { "quelle": mediaData.meta.quelle } />
316 </#if>
317 </#if>
318
319
320 <#if meta?has_content>
321 <#assign data = data + {"meta": meta } >
322 </#if>
323
324 <#-- END fill meta data -->
325
326 <#if hasContentForSequence('autorenWCSKASDEPERSON', languageId, json)>
327 <#assign
328 journalArticles = getValueForLanguageAnsprechpartner('autorenWCSKASDEPERSON', languageId, json)
329 authors = []
330 />
331 <#list journalArticles as articleString>
332 <#assign article = FrontendService.json.parseAsJson(articleString) />
333 <#if article?has_content && article?is_hash && article.classPK??>
334 <#assign articleDereferenced = FrontendService.person.resolveContactInstanceToPerson(article, languageId)!"" />
335 <#if articleDereferenced?has_content >
336 <#assign
337 author = ""
338 articlePrimaryKey = articleDereferenced.classPK?number
339 articleJsonString = FrontendService.article.getWebcontent(articlePrimaryKey)
340 articleJson = FrontendService.json.parseAsJson(articleJsonString)
341 />
342 <@debugJsonString articleJsonString "ADT_KASDE_DYNAMIC_INTRO-autorenWCSKASDEPERSON" />
343 <#if hasValue('anredetitel', languageId, articleJson)>
344 <#assign author = author + getValueForLanguage('anredetitel', languageId, articleJson, " ") + " ">
345 </#if>
346 <#if hasValue('vorname', languageId, articleJson)>
347 <#assign author = author + getValueForLanguage('vorname', languageId, articleJson, " ") + " ">
348 </#if>
349 <#if hasValue('nachname', languageId, articleJson)>
350 <#assign author = author + getValueForLanguage('nachname', languageId, articleJson, " ") + " ">
351 </#if>
352
353 <#attempt>
354 <#assign href = FrontendService.article.getFriendlyUrl(articlePrimaryKey, languageId, groupId)!"#" >
355 <#recover>
356 <#assign href = "#" >
357 </#attempt>
358 <#if href?has_content && href != "#" && href != "/_404">
359 <#assign author = '<a href="' + href + '">' + author?trim + '</a>'>
360 </#if>
361
362 <#assign authors = authors + [author?trim]>
363 </#if>
364 </#if>
365 </#list>
366 <#if authors?has_content>
367 <#assign data = data + { "author": authors?join(", ") } >
368 </#if>
369 </#if>
370
371 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL") >
372 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "VERANSTALTUNGSTYP")! >
373 <#if categories?has_content && categories[0]?has_content >
374 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } >
375 </#if>
376
377 <#if hasContent('ausgebucht', languageId, json)>
378 <#assign data = data + { "ausgebucht" : getValueForLanguage('ausgebucht', languageId, json, "first") }>
379 </#if>
380
381 <#if hasContent('storniert', languageId, json)>
382 <#assign data = data + { "storniert" : getValueForLanguage('storniert', languageId, json, "first") }>
383 </#if>
384
385 <#elseif layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL") >
386 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "PUBLIKATIONSREIHE")! >
387 <#if categories?has_content && categories[0]?has_content >
388 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } >
389 </#if>
390 <#else>
391 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "THEMA")! >
392 <#if categories?has_content && categories[0]?has_content >
393 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } >
394 </#if>
395 </#if>
396
397
398 <#assign
399 languages = []
400 />
401
402 <#attempt>
403 <#if json["document_pdfDMTBASICDOCUMENT"]?? >
404 <#list json["document_pdfDMTBASICDOCUMENT"]?keys as pdf_language>
405 <#if pdf_language?has_content >
406 <#assign
407 docRefJson = getValueForLanguage('document_pdfDMTBASICDOCUMENT', pdf_language, json, "first")
408 docRef = FrontendService.json.parseAsJson(docRefJson)
409 />
410 <#if docRef?is_hash && pdf_language != languageId >
411 <#assign
412 lang = FrontendService.language.getLocaleByKey(pdf_language)!""
413 docGroupId = docRef["groupId"]?number
414 docUuid = docRef["uuid"]
415 dMTJsonObject = FrontendService.media.getDMTJsonObject( docGroupId, docUuid, locale )
416 dMTLink = FrontendService.media.getLinkToDMT( dMTJsonObject )
417 />
418 <#if lang?has_content>
419 <#assign
420 languages = languages + [
421 {
422 "key": pdf_language,
423 "value": FrontendService.language.getLocaleByKey(pdf_language).getDisplayLanguage(),
424 "url": dMTLink
425 }]
426 />
427 </#if>
428 </#if>
429 </#if>
430 </#list>
431 </#if>
432 <#recover>
433 </#attempt>
434
435 <#if (languages?size > 0)>
436 <#attempt>
437 <#assign
438 data = data + { "languageSelect": {
439 "id": "languageSelect",
440 "name": "languageselect",
441 "entries": languages,
442 "documents": "",
443 "button": "true"
444 }}
445 />
446 <#recover>
447 </#attempt>
448 </#if>
449
450 <@PMIntro "ADT_KASDE_DYNAMIC_INTRO" data AMMetadata AMDatetime "bottom" />
451 ${FrontendService.article.getEditArticleHtml(primaryKey, themeDisplay)}
452
453<#elseif (editmode?? && editmode)>
454 <@errorMessage languageUtil.get(locale, "kein.journalArticle.gefunden") "ADT_KASDE_DYNAMIC_INTRO" layouttpl currentUrl />
455</#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#252741" at line 30, column 1] ----
1<#--
2zeigt die Promos auf der Publikationsübersichtsseite
3sowie
4die Meldungen zu einer Publikation (Top-Meldungen) auf der Publikationsdetailseite
5-->
6<#include "${fullTemplatesPath}/functions/relatedContentUtil.ftl" />
7<#include "${fullTemplatesPath}/functions/freemarkerUtil.ftl" />
8<#include "${fullTemplatesPath}/macros/debugging.ftl" />
9
10<#include "${fullTemplatesPath}/macros/page-modules/PMPromo.ftl" />
11
12<#assign
13 JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")
14
15 ServiceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()
16
17 themeDisplay = ServiceContext.getThemeDisplay()
18 languageId = themeDisplay.getLocale()
19 groupId = themeDisplay.getLayout().getGroupId()
20 currentUrl = themeDisplay.getURLCurrent()
21 editmode = FrontendService.user.isPrivilegedUser(themeDisplay)
22
23 layout = themeDisplay.getLayout()
24 layouttpl = layout.getTypeSettingsProperties().getProperty("layout-template-id")
25
26 resolution = "teaser"
27/>
28
29
30<#assign journalArticle = FrontendService.article.getArticleToUrl(currentUrl, groupId?number)! >
31
32
33<#if journalArticle?has_content>
34
35 <#if journalArticle.resourcePrimKey??>
36 <#assign primaryKey_ja = journalArticle.resourcePrimKey?number >
37 <#elseif journalArticle.classPK??>
38 <#assign primaryKey_ja = journalArticle.classPK?number >
39 </#if>
40
41 <#assign
42 jsonString_ja = FrontendService.article.getWebcontent(primaryKey_ja)
43 json_ja = FrontendService.json.parseAsJson(jsonString_ja)
44 categories = FrontendService.category.getCategoriesToArticle(primaryKey_ja, "THEMA")
45 />
46 <@debugJsonString jsonString_ja "ADT_KASDE_MELDUNGEN_ZU_PUBLIKATION" />
47
48 <#if (categories?size > 0) >
49 <#assign companyId = themeDisplay.getCompanyId()
50 news = FrontendService.topic.getTopMeldungenToThemen(companyId,5, groupId, categories, languageId) >
51 </#if>
52
53 <#if news?? && (news?size > 0) >
54 <#assign content = [] >
55 <#list news as article >
56
57 <#if article.resourcePrimKey??>
58 <#assign primaryKey = article.resourcePrimKey?number >
59 <#elseif article.classPK??>
60 <#assign primaryKey = article.classPK?number >
61 </#if>
62
63 <#assign
64 jsonString = FrontendService.article.getWebcontent(primaryKey)
65 json = FrontendService.json.parseAsJson(jsonString)
66 data = {}
67 />
68 <@debugJsonString jsonString "ADT_KASDE_MELDUNGEN_ZU_PUBLIKATION--news" />
69
70
71 <#if hasValue('title', languageId, json)>
72 <#assign data = data + { "title": getValueForLanguage("title", languageId, json, "first") } >
73 </#if>
74
75
76 <#assign friendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, languageId, groupId)!"/_404" >
77 <#if friendlyUrl?has_content >
78 <#assign data = data + { "href": friendlyUrl } >
79 </#if>
80
81
82 <#assign data = data + { "image": FrontendService.media.getFallbackImageUrl( groupId ) } >
83
84 <#if hasValue('coverDMTKASDEMEDIUM', languageId, json)>
85 <#assign
86 mediumString = getValueForLanguage('coverDMTKASDEMEDIUM', languageId, json, "first")
87 medium = FrontendService.json.parseAsJson(mediumString)
88 mediaObject = getRelatedMediaObject(medium, themeDisplay, languageId, FrontendService, resolution)
89 />
90 <#if mediaObject?? && mediaObject?is_hash && mediaObject.url?has_content>
91 <#assign data = data + { "image": mediaObject.url } >
92 </#if>
93 <#elseif hasValue('mediumDMTKASDEMEDIUM', languageId, json)>
94 <#assign
95 mediumString = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, json, "first")
96 medium = FrontendService.json.parseAsJson(mediumString)
97 mediaObject = getRelatedMediaObject(medium, themeDisplay, languageId, FrontendService, resolution)
98 />
99 <#if mediaObject?? && mediaObject?is_hash && mediaObject.url??>
100 <#assign data = data + { "image": mediaObject.url } >
101 </#if>
102 </#if>
103
104 <#assign content = content + [data] >
105 </#list>
106
107 <#if content?has_content >
108 <@PMPromo "ADT_KASDE_MELDUNGEN_ZU_PUBLIKATION" content />
109 </#if>
110
111 <#elseif (editmode?? && editmode)>
112 <@errorMessage languageUtil.get(locale, "getTopMeldungenToThemen.liefert.keine.ergebnisse") "ADT_KASDE_MELDUNGEN_ZU_PUBLIKATION" layouttpl currentUrl />
113 </#if>
114
115<#elseif (editmode?? && editmode)>
116 <@errorMessage languageUtil.get(locale, "journalArticle.ist.leer") "ADT_KASDE_MELDUNGEN_ZU_PUBLIKATION" layouttpl currentUrl />
117</#if>