Asset Publisher

An error occurred while processing the template.
The following has evaluated to null or missing:
==> FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale ) [in template "252001#252047#252845" at line 126, column 37]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: dMTJsonObject = FrontendService.media... [in template "252001#252047#252845" at line 126, column 21]
----
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 hasContent('autorenWCSKASDEPERSON', languageId, json)> 
327 <#assign 
328 journalArticles = getValueForLanguage('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> 

Asset Publisher

📌 On June 17, the T20 Secbretariat and the Konrad Adenauer Stiftung's Multinational Development Policy Dialogue (KAS MDPD) launched its Global Climate Alliance (GCA) white paper series providing recommendations for policy-makers on how to take accelerated climate action.

📌 During the launch, Shri Jayant Sinha, Member of the Indian Parliament and Chair of the Indian Standing Committee on Finance, held a insightful keynote aspeech on how to increase Global North-South collaboration to achieve the climate targets set out by the Paris Agreement. His address was followed by an engaging panel discussion with three youth climate leaders Maxime van Hoeve, Caillum Hedderman, and Jessica Ndlovu. The event was moderated by Karin Jancykova, Programme Manager for Climate and Energy at KAS MDPD.

Asset Publisher

An error occurred while processing the template.
The following has evaluated to null or missing:
==> FrontendService.media.getDMTJsonObject( document.groupId?number, document.uuid, locale) [in template "kas-de-theme_SERVLET_CONTEXT_/templates/functions/content-functions/CFMarginalContent.ftl" at line 106, column 37]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: dMTJsonObject = FrontendService.media... [in template "kas-de-theme_SERVLET_CONTEXT_/templates/functions/content-functions/CFMarginalContent.ftl" in function "getMarginalContent" at line 106, column 21]
----
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> 

comment-portlet

Asset Publisher