Agrégateur de contenus

Une erreur s'est produite lors du traitement du modèle.
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 "252001#252047#7313051" at line 304, 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 
23<#assign 
24 
25 DLFileEntryLocalService = getDLFileEntryLocalService() 
26 JournalArticleService = getJournalArticleService() 
27 
28 
29 themeDisplay = getThemeDisplay() 
30 
31 locale = themeDisplay.getLocale() 
32 default_locale = FrontendService.language.defaultLocale() 
33 
34 currentUrl = themeDisplay.getURLCurrent() 
35 editmode = FrontendService.user.isPrivilegedUser(themeDisplay) 
36 
37 layout = themeDisplay.getLayout() 
38 layouttpl = layout.getTypeSettingsProperties().getProperty("layout-template-id") 
39/> 
40 
41<#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")> 
42 <#assign 
43 classModifier = "c-page-main--veranstaltungedetail" 
44 portletId = "ADT_KASDE_VERANSTALTUNGEN_CONTENT" 
45 /> 
46<#elseif layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL")> 
47 <#assign 
48 classModifier = "c-page-main--publikationendetail" 
49 portletId = "ADT_KASDE_PUBLIKATIONEN_CONTENT" 
50 /> 
51<#elseif layouttpl?contains("LAYOUT_KASDE_THEMEN_DETAIL")> 
52 <#assign 
53 classModifier = "c-page-main--themadetail" 
54 portletId = "ADT_KASDE_THEMA_CONTENT" 
55 /> 
56<#elseif layouttpl?contains("LAYOUT_KASDE_PERSONEN_DETAIL")> 
57 <#assign 
58 classModifier = "c-page-main--themadetail" 
59 portletId = "ADT_KASDE_PERSONEN_CONTENT" 
60 /> 
61<#else> 
62 <#assign 
63 classModifier = "c-page-main" 
64 portletId = "ADT_KASDE_CONTENT" 
65 /> 
66</#if> 
67 
68<#assign content = [] > 
69 
70<#-- check if on detail page --> 
71<#-- Publikationen, Veranstaltungen --> 
72<#-- check if it is a hidden detail page - get article from url --> 
73<#if currentUrl?contains("/-/content") > 
74 
75 <#attempt> 
76 <#assign journalArticle = FrontendService.article.getArticleToUrl(currentUrl, groupId?number)!"" > 
77 <#recover> 
78 <#if (editmode?? && editmode)> 
79 <@errorMessage languageUtil.get(locale, "kein.journalArticle.gefunden") "ADT_KASDE_CONTENT" layouttpl currentUrl /> 
80 </#if> 
81 </#attempt> 
82 
83 <#if journalArticle?has_content> 
84 
85 <#if journalArticle.resourcePrimKey??> 
86 <#assign primaryKey = journalArticle.resourcePrimKey?number > 
87 <#elseif journalArticle.classPK??> 
88 <#assign primaryKey = journalArticle.classPK?number > 
89 </#if> 
90 
91 <#assign 
92 jsonString = FrontendService.article.getWebcontent(primaryKey) 
93 json = FrontendService.json.parseAsJson(jsonString) 
94 
95 data = {} 
96 registerLink = "" 
97  
98 /> 
99 <@debugJsonString jsonString "ADT_KASDE_CONTENT" /> 
100 
101 <#-- Personen Detailpage Content renders also the intro --> 
102 <#if layouttpl?contains("LAYOUT_KASDE_PERSONEN_DETAIL")> 
103 <#-- get general data for Person--> 
104 <#assign 
105 data_person = getRelatedPerson(json, locale, primaryKey, FrontendService, themeDisplay) 
106 data_intro = {} 
107 data_abteilung = [] 
108 /> 
109 
110 <#-- get Projekte (Auslandsbüros) for Person --> 
111 <#assign data_auslandsbuero = getRelatedProjekte(locale, primaryKey, FrontendService, themeDisplay) /> 
112 <#if data_auslandsbuero?has_content> 
113 <#assign data_person = data_person + {"auslandsbuero": data_auslandsbuero} /> 
114 </#if> 
115 
116 <#-- get Abteilungen for Person --> 
117 <#assign abbteilungen = FrontendService.category.getCategoriesToArticle(primaryKey, "ABTEILUNG") /> 
118 <#if abbteilungen?? > 
119 <#list abbteilungen as abteilung > 
120 <#assign 
121 data_abteilung = data_abteilung + [{ 
122 "title": abteilung.getTitle(locale), 
123 "href": FrontendService.category.getAnzeigeseiteToCategory(abteilung, locale, themeDisplay.getScopeGroupId())!"/_404" 
124 }] 
125 /> 
126 </#list> 
127 </#if> 
128 <#if data_abteilung?has_content> 
129 <#assign data_person = data_person + {"abteilung": data_abteilung} /> 
130 </#if> 
131 
132 <#-- assign Data for Intro --> 
133 <#if data_person.name?? && data_person.lastname?? > 
134 <#assign name = data_person.name + " " + data_person.lastname > 
135 
136 <#if data_person.anredetitel??> 
137 <#assign name = data_person.anredetitel + " " + name /> 
138 </#if> 
139 <#assign data_intro = data_intro + { "title" : name } /> 
140 </#if> 
141 
142 <#if data_person.subheadline??> 
143 <#assign data_intro = data_intro + {"subheadline" : data_person.subheadline} /> 
144 </#if> 
145 
146 <#-- render title + function --> 
147 <div class="o-page-module o-page-module--full"> 
148 <@PMIntro "ADT_KASDE_PERSON_INTRO" data_intro AMMetadata AMDatetime/> 
149 <#-- render blue box --> 
150 <@PMIntroBanner "ADT_KASDE_PERSON_INTRO_BANNER" data_person "" /> 
151 <#-- render contact data, auslandsbüros, abteilungen --> 
152 <@PMPersonContent "ADT_KASDE_PERSON_INFO" data_person "" AMMetadataContact AMAddress /> 
153 <#-- render persons document --> 
154 <#if data_person.documents??> 
155 <@PMPersonDocuments "ADT_KASDE_PERSON_DOCUMENT" data_person.documents "" /> 
156 </#if> 
157 </div> 
158 
159 </#if> 
160 
161 <#-- Veranstaltungs-Detail only --> 
162 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")> 
163 <#-- Headline "Im Detail" for Veranstaltungs-Detail --> 
164 <#assign data = data + { "headline" : languageUtil.get(locale, "details") }> 
165 
166 <#-- ausgebucht --> 
167 <#if hasContent('ausgebucht', locale, json)> 
168 <#assign data = data + { "ausgebucht" : getValueForLanguage('ausgebucht', locale, json, "first") }> 
169 </#if> 
170 
171 <#-- storniert --> 
172 <#if hasContent('storniert', locale, json)> 
173 <#assign data = data + { "storniert" : getValueForLanguage('storniert', locale, json, "first") }> 
174 </#if> 
175 <#-- Programm Data --> 
176 <#assign program = getProgramm(json) > 
177 <#if program?has_content> 
178 <#assign data = data + { "program" : program } > 
179 </#if> 
180 
181 <#assign registerLink = FrontendService.event.getEventSignupLink(themeDisplay)!"" /> 
182 </#if> 
183 
184 <#-- Beschreibung --> 
185 <#if hasContent('beschreibung', locale, json)> 
186 <#assign data = data + { "description" : getValueForLanguage('beschreibung', locale, json, "first") }> 
187 </#if> 
188 
189 <#-- Contenttext --> 
190 <#if (json["contenttext"][locale])?? > 
191 <#assign data = data + { "text": json["contenttext"][locale] } > 
192 <#elseif (json["contenttext"][default_locale])??> 
193 <#assign data = data + { "text": json["contenttext"][default_locale] } > 
194 </#if> 
195 
196 <#if (json["contentbildunterschrift"][locale])?? > 
197 <#assign data = data + { "caption": json["contentbildunterschrift"][locale] } > 
198 <#elseif (json["contentbildunterschrift"][default_locale])??> 
199 <#assign data = data + { "caption": json["contentbildunterschrift"][default_locale] } > 
200 </#if> 
201 
202 <#-- Bilderstrecke --> 
203 <#assign series = getContentBilderstrecke(json) > 
204 <#if series?has_content> 
205 <#assign data = data + { "series" : series } /> 
206 </#if> 
207 
208 <#-- Media --> 
209 <#if (json["contentmediumDMTKASDEMEDIUM"][locale])?? > 
210 <#assign data = data + { "media": json["contentmediumDMTKASDEMEDIUM"][locale] } > 
211 <#elseif (json["contentmediumDMTKASDEMEDIUM"][default_locale])??> 
212 <#assign data = data + { "media": json["contentmediumDMTKASDEMEDIUM"][default_locale] } > 
213 </#if> 
214 
215 <#-- Programm Download --> 
216 <#if hasContent('documentDMTBASICDOCUMENT', locale, json)> 
217 <#assign 
218 documentDMTBASICDOCUMENTString = getValueForLanguage('documentDMTBASICDOCUMENT', locale, json, "first") 
219 documentDMTBASICDOCUMENT = FrontendService.json.parseAsJson(documentDMTBASICDOCUMENTString) 
220 dmtJson_doc = FrontendService.media.getDMTJsonObject( documentDMTBASICDOCUMENT.groupId?number, documentDMTBASICDOCUMENT.uuid, locale )!"" 
221 /> 
222 
223 <#if dmtJson_doc?has_content> 
224 <#assign url = FrontendService.media.getLinkToDMT(dmtJson_doc)/> 
225 <#if url?has_content> 
226 <#assign 
227 data = data + { 
228 "documentDMTBASICDOCUMENT": { 
229 "title": documentDMTBASICDOCUMENT.title, 
230 "url": url 
231
232
233 /> 
234 </#if> 
235 </#if> 
236 </#if> 
237 
238 <#-- Biogramm Special Data lebenslauf, veroeffentlichungen, literatur --> 
239 <#if hasContent('lebenslauf', locale, json)> 
240 <#assign data = data + { "lebenslauf" : getValueForLanguage('lebenslauf', locale, json, "first") }> 
241 </#if> 
242 
243 <#if hasContent('veroeffentlichungen', locale, json)> 
244 <#assign data = data + { "veroeffentlichungen" : getValueForLanguage('veroeffentlichungen', locale, json, "first") }> 
245 </#if> 
246 
247 <#if hasContent('literatur', locale, json)> 
248 <#assign data = data + { "literatur" : getValueForLanguage('literatur', locale, json, "first") }> 
249 </#if> 
250 
251 <#if data?has_content> 
252 <#assign content = content + [data]> 
253 </#if> 
254 
255 </#if> 
256 
257<#else> 
258 <#list entries as entry> 
259 <#assign 
260 primaryKey = entry.classPK?number 
261 jsonString = FrontendService.article.getWebcontent(primaryKey) 
262 json = FrontendService.json.parseAsJson(jsonString) 
263 /> 
264 <@debugJsonString jsonString "ADT_KASDE_CONTENT" /> 
265 
266 <#assign data = {} > 
267 
268 <#if (json["contenttext"][locale])?? > 
269 <#assign data = data + { "text": json["contenttext"][locale] } > 
270 <#elseif (json["contenttext"][default_locale])??> 
271 <#assign data = data + { "text": json["contenttext"][default_locale] } > 
272 </#if> 
273 
274 <#-- Bilderstrecke --> 
275 <#assign series = getContentBilderstrecke(json) > 
276 <#if series?has_content> 
277 <#assign data = data + { "series" : series } /> 
278 </#if> 
279 
280 <#-- Media --> 
281 <#if (json["contentmediumDMTKASDEMEDIUM"][locale])?? > 
282 <#assign data = data + { "media": json["contentmediumDMTKASDEMEDIUM"][locale] } > 
283 <#elseif (json["contentmediumDMTKASDEMEDIUM"][default_locale])??> 
284 <#assign data = data + { "media": json["contentmediumDMTKASDEMEDIUM"][default_locale] } > 
285 </#if> 
286 
287 <#if (json["contentbildunterschrift"][locale])?? > 
288 <#assign data = data + { "caption": json["contentbildunterschrift"][locale] } > 
289 <#elseif (json["contentbildunterschrift"][default_locale])??> 
290 <#assign data = data + { "caption": json["contentbildunterschrift"][default_locale] } > 
291 </#if> 
292 
293 <#if data?has_content> 
294 <#assign content = content + [data]> 
295 </#if> 
296 
297 </#list> 
298 
299</#if> 
300 
301<#if content?has_content > 
302 <#if !layouttpl?contains("LAYOUT_KASDE_PERSONEN_DETAIL")> 
303 <@PMPageContent portletId content classModifier /> 
304 <@PMShare registerLink /> 
305 </#if> 
306<#elseif (editmode?? && editmode)> 
307 <@errorMessage languageUtil.get(locale, "keine.inhalte.vorhanden") "ADT_KASDE_CONTENT" layouttpl currentUrl /> 
308</#if> 

Agrégateur de contenus

Agrégateur de contenus

Agrégateur de contenus