An error occurred while processing the template.
When calling macro "PMShare", required parameter "content" (parameter #1) was specified, but had null/missing value. ---- Tip: If the parameter value expression on the caller side is known to be legally null/missing, you may want to specify a default value for it with the "!" operator, like paramValue!defaultValue. ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #macro PMShare content registerLink="" [in template "kas-de-theme_SERVLET_CONTEXT_/templates/macros/page-modules/PMShare.ftl" in macro "PMShare" at line 33, column 1] - Reached through: @PMShare registerLink [in template "20082418#20082464#28221946" at line 443, column 9] ----
1<#-- used @ Veranstaltungen-Detailseite, Main Content -->
2<#-- used @ Themen-Detailseite, Main Content -->
3<#-- used @ Publikationen-Detailseite, Main Content -->
4<#-- used @ Personen-Detailseite, Main Content -->
5
6<#include "${fullTemplatesPath}/functions/liferayServicesUtil.ftl" />
7<#include "${fullTemplatesPath}/functions/relatedContentUtil.ftl" />
8<#include "${fullTemplatesPath}/macros/debugging.ftl" />
9
10<#include "${fullTemplatesPath}/macros/page-modules/PMPageContent.ftl" />
11
12<#-- additional intro+special content for personen-detailpage -->
13<#include "${fullTemplatesPath}/macros/page-modules/PMShare.ftl" />
14<#include "${fullTemplatesPath}/macros/page-modules/PMIntro.ftl" />
15<#include "${fullTemplatesPath}/macros/page-modules/PMIntroBanner.ftl" />
16<#include "${fullTemplatesPath}/macros/page-modules/PMPersonContent.ftl" />
17<#include "${fullTemplatesPath}/macros/page-modules/PMPersonDocuments.ftl" />
18<#include "${fullTemplatesPath}/macros/atomic-modules/AMMetadata.ftl" />
19<#include "${fullTemplatesPath}/macros/atomic-modules/AMAddress.ftl" />
20<#include "${fullTemplatesPath}/macros/atomic-modules/AMDatetime.ftl" />
21<#include "${fullTemplatesPath}/macros/atomic-modules/AMMetadataContact.ftl" />
22<#include "${fullTemplatesPath}/functions/content-functions/CFRelatedMediaObject.ftl" />
23
24<#assign
25
26 DLFileEntryLocalService = getDLFileEntryLocalService()
27 JournalArticleService = getJournalArticleService()
28 layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")
29
30 themeDisplay = getThemeDisplay()
31
32 locale = themeDisplay.getLocale()
33 default_locale = FrontendService.language.defaultLocale()
34
35 currentUrl = themeDisplay.getURLCurrent()
36 editmode = FrontendService.user.isPrivilegedUser(themeDisplay)
37
38 layout = themeDisplay.getLayout()
39 layoutUrl = layout.getFriendlyURL(locale)
40 layouttpl = layout.getTypeSettingsProperties().getProperty("layout-template-id")
41/>
42
43<#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")>
44 <#assign
45 classModifier = "c-page-main--veranstaltungedetail"
46 portletId = "ADT_KASDE_VERANSTALTUNGEN_CONTENT"
47 />
48<#elseif layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL")>
49 <#assign
50 classModifier = "c-page-main--publikationendetail"
51 portletId = "ADT_KASDE_PUBLIKATIONEN_CONTENT"
52 />
53<#elseif layouttpl?contains("LAYOUT_KASDE_THEMEN_DETAIL")>
54 <#assign
55 classModifier = "c-page-main--themadetail"
56 portletId = "ADT_KASDE_THEMA_CONTENT"
57 />
58<#elseif layouttpl?contains("LAYOUT_KASDE_PERSONEN_DETAIL")>
59 <#assign
60 classModifier = "c-page-main--themadetail"
61 portletId = "ADT_KASDE_PERSONEN_CONTENT"
62 />
63<#else>
64 <#assign
65 classModifier = "c-page-main"
66 portletId = "ADT_KASDE_CONTENT"
67 />
68</#if>
69
70<#assign content = [] >
71
72<#-- check if on detail page -->
73<#-- Publikationen, Veranstaltungen -->
74<#-- check if it is a hidden detail page - get article from url -->
75<#if currentUrl?contains("/-/content") >
76
77 <#attempt>
78 <#assign journalArticle = FrontendService.article.getArticleToUrl(currentUrl, groupId?number)!"" >
79 <#recover>
80 <#if (editmode?? && editmode)>
81 <@errorMessage languageUtil.get(locale, "kein.journalArticle.gefunden") "ADT_KASDE_CONTENT" layouttpl currentUrl />
82 </#if>
83 </#attempt>
84
85 <#if journalArticle?has_content>
86
87 <#if journalArticle.resourcePrimKey??>
88 <#assign primaryKey = journalArticle.resourcePrimKey?number >
89 <#elseif journalArticle.classPK??>
90 <#assign primaryKey = journalArticle.classPK?number >
91 </#if>
92
93 <#assign
94 jsonString = FrontendService.article.getWebcontent(primaryKey)
95 json = FrontendService.json.parseAsJson(jsonString)
96
97 data = {}
98 registerLink = ""
99
100 />
101 <@debugJsonString jsonString "ADT_KASDE_CONTENT" />
102
103 <#-- Personen Detailpage Content renders also the intro -->
104 <#if layouttpl?contains("LAYOUT_KASDE_PERSONEN_DETAIL")>
105 <#-- get general data for PERSON-->
106 <#assign
107 data_person = getRelatedPerson(json, locale, primaryKey, FrontendService, themeDisplay)
108 data_intro = {}
109 data_abteilung = []
110 />
111
112 <#-- get Projekte (Auslandsbüros) for PERSON -->
113 <#assign data_auslandsbuero = getRelatedProjekte(locale, primaryKey, FrontendService, themeDisplay) />
114 <#if data_auslandsbuero?has_content>
115 <#assign data_person = data_person + {"auslandsbuero": data_auslandsbuero} />
116 </#if>
117
118 <#-- get Abteilungen for PERSON -->
119 <#assign abbteilungen = FrontendService.category.getCategoriesToArticle(primaryKey, "ABTEILUNG") />
120 <#if abbteilungen?? >
121 <#list abbteilungen as abteilung >
122 <#assign
123 data_abteilung = data_abteilung + [{
124 "title": abteilung.getTitle(locale),
125 "href": FrontendService.category.getAnzeigeseiteToCategory(abteilung, locale, themeDisplay.getScopeGroupId())!"/_404"
126 }]
127 />
128 </#list>
129 </#if>
130 <#if data_abteilung?has_content>
131 <#assign data_person = data_person + {"abteilung": data_abteilung} />
132 </#if>
133
134 <#-- assign Data for Intro -->
135 <#if data_person.name?? && data_person.lastname?? >
136 <#assign name = data_person.name + " " + data_person.lastname >
137
138 <#if data_person.anredetitel??>
139 <#assign name = data_person.anredetitel + " " + name />
140 </#if>
141 <#assign data_intro = data_intro + { "title" : name } />
142 </#if>
143
144 <#if data_person.subheadline??>
145 <#assign data_intro = data_intro + {"subheadline" : data_person.subheadline} />
146 </#if>
147
148 <#-- render title + function -->
149 <div class="o-page-module o-page-module--full">
150 <@PMIntro "ADT_KASDE_PERSON_INTRO" data_intro AMMetadata AMDatetime/>
151 <#-- render blue box -->
152 <@PMIntroBanner "ADT_KASDE_PERSON_INTRO_BANNER" data_person "" />
153 <#-- render contact data, auslandsbüros, abteilungen -->
154 <@PMPersonContent "ADT_KASDE_PERSON_INFO" data_person "" AMMetadataContact AMAddress />
155 <#-- render persons document -->
156 <#if data_person.documents??>
157 <@PMPersonDocuments "ADT_KASDE_PERSON_DOCUMENT" data_person.documents "" />
158 </#if>
159 </div>
160
161 </#if>
162
163 <#-- Veranstaltungs-Detail only -->
164 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")>
165 <#if isVLCColorScheme()>
166 <#-- Headline "Im Detail" for Veranstaltungs-Detail für VLC -->
167 <#assign data = data + { "headline" : languageUtil.get(locale, "details_vlc") }>
168 <#else>
169 <#-- Headline "Im Detail" for Veranstaltungs-Detail -->
170 <#assign data = data + { "headline" : languageUtil.get(locale, "details") }>
171 </#if>
172
173 <#-- ausgebucht -->
174 <#if hasContent('ausgebucht', locale, json)>
175 <#assign data = data + { "ausgebucht" : getValueForLanguage('ausgebucht', locale, json, "first") }>
176 </#if>
177
178 <#-- storniert -->
179 <#if hasContent('storniert', locale, json)>
180 <#assign data = data + { "storniert" : getValueForLanguage('storniert', locale, json, "first") }>
181 </#if>
182 <#-- Programm Data -->
183 <#assign program = getProgramm(json) >
184 <#if program?has_content>
185 <#assign data = data + { "program" : program } >
186 </#if>
187
188 <#assign registerLink = FrontendService.event.getEventSignupLink(themeDisplay)!"" />
189 </#if>
190
191 <#-- Beschreibung -->
192 <#if hasContent('beschreibung', locale, json)>
193 <#assign data = data + { "description" : getValueForLanguage('beschreibung', locale, json, "first") }>
194 </#if>
195
196 <#-- Contenttext -->
197 <#if (json["contenttext"][locale])?? >
198 <#assign data = data + { "text": json["contenttext"][locale] } >
199 <#elseif (json["contenttext"][default_locale])??>
200 <#assign data = data + { "text": json["contenttext"][default_locale] } >
201 </#if>
202
203 <#if (json["contentbildunterschrift"][locale])?? >
204 <#assign data = data + { "caption": json["contentbildunterschrift"][locale] } >
205 <#elseif (json["contentbildunterschrift"][default_locale])??>
206 <#assign data = data + { "caption": json["contentbildunterschrift"][default_locale] } >
207 </#if>
208
209 <#-- Bilderstrecke -->
210 <#assign series = getContentBilderstrecke(json) >
211 <#if series?has_content>
212 <#assign data = data + { "series" : series } />
213 </#if>
214
215 <#-- Media -->
216 <#if (json["contentmediumDMTKASDEMEDIUM"][locale])?? >
217 <#assign data = data + { "media": json["contentmediumDMTKASDEMEDIUM"][locale] } >
218 <#elseif (json["contentmediumDMTKASDEMEDIUM"][default_locale])??>
219 <#assign data = data + { "media": json["contentmediumDMTKASDEMEDIUM"][default_locale] } >
220 </#if>
221
222 <#if isACColorScheme() && data.media?? >
223 <#if (json["mediumDMTKASDEMEDIUM"][locale])?? >
224 <#assign data = data + { "media": json["mediumDMTKASDEMEDIUM"][locale] } >
225 <#elseif (json["mediumDMTKASDEMEDIUM"][default_locale])?? >
226 <#assign data = data + { "media": json["mediumDMTKASDEMEDIUM"][default_locale] } >
227 </#if>
228 </#if>
229
230 <#-- Programm Download -->
231 <#if hasContent('documentDMTBASICDOCUMENT', locale, json)>
232 <#assign
233 documentDMTBASICDOCUMENTString = getValueForLanguage('documentDMTBASICDOCUMENT', locale, json, "first")
234 documentDMTBASICDOCUMENT = FrontendService.json.parseAsJson(documentDMTBASICDOCUMENTString)
235 dmtJson_doc = FrontendService.media.getDMTJsonObject( documentDMTBASICDOCUMENT.groupId?number, documentDMTBASICDOCUMENT.uuid, locale )!""
236 />
237
238 <#if dmtJson_doc?has_content>
239 <#assign url = FrontendService.media.getLinkToDMT(dmtJson_doc)/>
240 <#if url?has_content>
241 <#assign
242 data = data + {
243 "documentDMTBASICDOCUMENT": {
244 "title": documentDMTBASICDOCUMENT.title,
245 "url": url
246 }
247 }
248 />
249 </#if>
250 </#if>
251 </#if>
252
253 <#-- Biogramm Special Data lebenslauf, veroeffentlichungen, literatur -->
254 <#if hasContent('lebenslauf', locale, json)>
255 <#assign data = data + { "lebenslauf" : getValueForLanguage('lebenslauf', locale, json, "first") }>
256 </#if>
257
258 <#if hasContent('veroeffentlichungen', locale, json)>
259 <#assign data = data + { "veroeffentlichungen" : getValueForLanguage('veroeffentlichungen', locale, json, "first") }>
260 </#if>
261
262 <#if hasContent('literatur', locale, json)>
263 <#assign data = data + { "literatur" : getValueForLanguage('literatur', locale, json, "first") }>
264 </#if>
265
266 <#-- iFrame Content -->
267 <#if (json["contentiframeueberschrift"][locale])?? >
268 <#assign data = data + { "iframeueberschrift": json["contentiframeueberschrift"][locale] } >
269 <#elseif (json["contentiframeueberschrift"][default_locale])??>
270 <#assign data = data + { "iframeueberschrift": json["contentiframeueberschrift"][default_locale] } >
271 </#if>
272
273 <#if (json["einfuehrungText"][locale])?? >
274 <#assign data = data + { "introductoryText": json["einfuehrungText"][locale] } >
275 <#elseif (json["einfuehrungText"][default_locale])?? >
276 <#assign data = data + { "introductoryText": json["einfuehrungText"][default_locale] } >
277 <#elseif (json[FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText')][locale])?? >
278 <#assign data = data + { "introductoryText": json[FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText')][locale] } >
279 <#elseif (json[FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText')][default_locale])?? >
280 <#assign data = data + { "introductoryText": json[FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText')][default_locale] } >
281 </#if>
282
283 <#assign themenId = FrontendService.verbund.getThemenverbundByThema(themeDisplay, primaryKey) >
284
285 <#--prevArticle and nextArticle thema links-->
286 <#if isACColorScheme()>
287 <#if themenId?? && themenId?has_content >
288 <#assign data = data + { "nextArticle" : FrontendService.verbund.getThemenverbundNextLink(primaryKey, themenId, layoutUrl, locale, 'modulesKasThema', 'labelmodul', 'modulThemaKasTHEMENKASDESTRUCTURE') } >
289 <#assign data = data + { "prevArticle" : FrontendService.verbund.getThemenverbundPreviousLink(primaryKey, themenId, layoutUrl, locale, 'modulesKasThema', 'labelmodul', 'modulThemaKasTHEMENKASDESTRUCTURE') } >
290 </#if>
291 </#if>
292
293 <#if (json["contentiframeeinbindung"][locale])?? >
294 <#assign data = data + { "iframeeinbindung": json["contentiframeeinbindung"][locale] } >
295 <#elseif (json["contentiframeeinbindung"][default_locale])??>
296 <#assign data = data + { "iframeeinbindung": json["contentiframeeinbindung"][default_locale] } >
297 </#if>
298
299 <#if (json["contentiframeuntertitel"][locale])?? >
300 <#assign data = data + { "iframeuntertitel": json["contentiframeuntertitel"][locale] } >
301 <#elseif (json["contentiframeuntertitel"][default_locale])??>
302 <#assign data = data + { "iframeuntertitel": json["contentiframeuntertitel"][default_locale] } >
303 </#if>
304
305 <#if (json["contentiframequelle"][locale])?? >
306 <#assign data = data + { "iframequelle": json["contentiframequelle"][locale] } >
307 <#elseif (json["contentiframequelle"][default_locale])??>
308 <#assign data = data + { "iframequelle": json["contentiframequelle"][default_locale] } >
309 </#if>
310
311 <#if layouttpl?contains("LAYOUT_KASDE_THEMEN_DETAIL") || layouttpl?contains("LAYOUT_KASDE_STATIC") || layouttpl?contains("LAYOUT_KASDE_STATIC_HIDDEN") >
312 <#-- DropDownMenue Data -->
313 <#assign dropdownmenue = getDropDownMenue(json) >
314 <#if dropdownmenue?has_content>
315 <#assign data = data + { "dropdownmenue" : dropdownmenue } >
316 <#if (json["dropdownheader"][locale])?? >
317 <#assign data = data + { "dropdownheader" : getValueForLanguage('dropdownheader', locale, json, "first") } >
318 <#elseif (json["dropdownheader"][default_locale])??>
319 <#assign data = data + { "dropdownheader": getValueForLanguage('dropdownheader', default_locale, json, "first") } >
320 </#if>
321 </#if>
322 </#if>
323
324 <#if data?has_content>
325 <#assign content = content + [data]>
326 </#if>
327
328 </#if>
329
330<#else>
331 <#list entries as entry>
332 <#assign
333 primaryKey = entry.classPK?number
334 jsonString = FrontendService.article.getWebcontent(primaryKey)
335 json = FrontendService.json.parseAsJson(jsonString)
336 />
337 <@debugJsonString jsonString "ADT_KASDE_CONTENT" />
338
339 <#assign data = {} >
340
341 <#if (json["contenttext"][locale])?? >
342 <#assign data = data + { "text": json["contenttext"][locale] } >
343 <#elseif (json["contenttext"][default_locale])??>
344 <#assign data = data + { "text": json["contenttext"][default_locale] } >
345 </#if>
346
347 <#-- Bilderstrecke -->
348 <#assign series = getContentBilderstrecke(json) >
349 <#if series?has_content>
350 <#assign data = data + { "series" : series } />
351 </#if>
352
353 <#-- Media -->
354 <#if (json["contentmediumDMTKASDEMEDIUM"][locale])?? >
355 <#assign data = data + { "media": json["contentmediumDMTKASDEMEDIUM"][locale] } >
356 <#elseif (json["contentmediumDMTKASDEMEDIUM"][default_locale])??>
357 <#assign data = data + { "media": json["contentmediumDMTKASDEMEDIUM"][default_locale] } >
358 </#if>
359
360 <#if isACColorScheme() && data.media?? >
361 <#if (json["mediumDMTKASDEMEDIUM"][locale])?? >
362 <#assign data = data + { "media": json["mediumDMTKASDEMEDIUM"][locale] } >
363 <#elseif (json["mediumDMTKASDEMEDIUM"][default_locale])?? >
364 <#assign data = data + { "media": json["mediumDMTKASDEMEDIUM"][default_locale] } >
365 </#if>
366 </#if>
367
368 <#if (json["contentbildunterschrift"][locale])?? >
369 <#assign data = data + { "caption": json["contentbildunterschrift"][locale] } >
370 <#elseif (json["contentbildunterschrift"][default_locale])??>
371 <#assign data = data + { "caption": json["contentbildunterschrift"][default_locale] } >
372 </#if>
373
374 <#-- iFrame Content -->
375 <#if (json["contentiframeueberschrift"][locale])?? >
376 <#assign data = data + { "iframeueberschrift": json["contentiframeueberschrift"][locale] } >
377 <#elseif (json["contentiframeueberschrift"][default_locale])??>
378 <#assign data = data + { "iframeueberschrift": json["contentiframeueberschrift"][default_locale] } >
379 </#if>
380
381 <#if (json["einfuehrungText"][locale])?? >
382 <#assign data = data + { "introductoryText": json["einfuehrungText"][locale] } >
383 <#elseif (json["einfuehrungText"][default_locale])?? >
384 <#assign data = data + { "introductoryText": json["einfuehrungText"][default_locale] } >
385 <#elseif (json[FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText')][locale])?? >
386 <#assign data = data + { "introductoryText": json[FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText')][locale] } >
387 <#elseif (json[FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText')][default_locale])?? >
388 <#assign data = data + { "introductoryText": json[FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText')][default_locale] } >
389 </#if>
390
391 <#assign themenId = FrontendService.verbund.getThemenverbundByThema(themeDisplay,primaryKey) >
392
393 <#--prevArticle and nextArticle thema links-->
394 <#if isACColorScheme()>
395 <#if themenId?? && themenId?has_content >
396 <#assign data = data + { "nextArticle" : FrontendService.verbund.getThemenverbundNextLink(primaryKey, themenId, layoutUrl, locale, 'modulesKasThema', 'labelmodul', 'modulThemaKasTHEMENKASDESTRUCTURE') } >
397 <#assign data = data + { "prevArticle" : FrontendService.verbund.getThemenverbundPreviousLink(primaryKey, themenId, layoutUrl, locale, 'modulesKasThema', 'labelmodul', 'modulThemaKasTHEMENKASDESTRUCTURE') } >
398 </#if>
399 </#if>
400
401 <#if (json["contentiframeeinbindung"][locale])?? >
402 <#assign data = data + { "iframeeinbindung": json["contentiframeeinbindung"][locale] } >
403 <#elseif (json["contentiframeeinbindung"][default_locale])??>
404 <#assign data = data + { "iframeeinbindung": json["contentiframeeinbindung"][default_locale] } >
405 </#if>
406
407 <#if (json["contentiframeuntertitel"][locale])?? >
408 <#assign data = data + { "iframeuntertitel": json["contentiframeuntertitel"][locale] } >
409 <#elseif (json["contentiframeuntertitel"][default_locale])??>
410 <#assign data = data + { "iframeuntertitel": json["contentiframeuntertitel"][default_locale] } >
411 </#if>
412
413 <#if (json["contentiframequelle"][locale])?? >
414 <#assign data = data + { "iframequelle": json["contentiframequelle"][locale] } >
415 <#elseif (json["contentiframequelle"][default_locale])??>
416 <#assign data = data + { "iframequelle": json["contentiframequelle"][default_locale] } >
417 </#if>
418
419 <#if layouttpl?contains("LAYOUT_KASDE_THEMEN_DETAIL") || layouttpl?contains("LAYOUT_KASDE_STATIC") || layouttpl?contains("LAYOUT_KASDE_STATIC_HIDDEN") || layouttpl?contains("LAYOUT_KASDE_MICROSITE_HOME") >
420 <#-- DropDownMenue Data -->
421 <#assign dropdownmenue = getDropDownMenue(json) >
422 <#if dropdownmenue?has_content>
423 <#assign data = data + { "dropdownmenue" : dropdownmenue } >
424 <#if (json["dropdownheader"][locale])?? >
425 <#assign data = data + { "dropdownheader" : getValueForLanguage('dropdownheader', locale, json, "first") } >
426 <#elseif (json["dropdownheader"][default_locale])??>
427 <#assign data = data + { "dropdownheader": getValueForLanguage('dropdownheader', default_locale, json, "first") } >
428 </#if>
429 </#if>
430 </#if>
431
432 <#if data?has_content>
433 <#assign content = content + [data]>
434 </#if>
435
436 </#list>
437
438</#if>
439
440<#if content?has_content >
441 <#if !layouttpl?contains("LAYOUT_KASDE_PERSONEN_DETAIL")>
442 <@PMPageContent portletId content classModifier />
443 <@PMShare registerLink />
444 </#if>
445<#elseif (editmode?? && editmode)>
446 <@errorMessage languageUtil.get(locale, "keine.inhalte.vorhanden") "ADT_KASDE_CONTENT" layouttpl currentUrl />
447</#if>