Journalistische Nachwuchsförderung (JONA)

http://www.kas.de/upload/begabtenfoerderung/BK/Bilder/motiv_JONA.jpg

Die Journalistische Nachwuchsförderung (JONA) der Konrad-Adenauer-Stiftung ist das Journalismus-Stipendium in Deutschland. Wir bilden Sie studienbegleitend in Print, Hörfunk, TV und Online aus. Für Schülerinnnen und Schüler bietet die Medienwerkstatt Journalismuskurse an.

Fehler bei der Verarbeitung der Vorlage.
'article' parameter of getJsonFromArticle() was not a hash / object with member 'classPK' and also not an empty string (maybe you forgot a 'FrontendService.json.parseAsJson()' to deserialize json earlier?): {}

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #stop ("'article' parameter of getJso...  [in template "kas-de-theme_SERVLET_CONTEXT_/templates/functions/relatedContentUtil.ftl" in function "getJsonFromArticle" at line 244, column 5]
	- Reached through: #local teamJson = getJsonFromArticle(...  [in template "kas-de-theme_SERVLET_CONTEXT_/templates/functions/content-functions/CFMarginalContent.ftl" in function "getMarginalContent" at line 300, column 13]
	- Reached through: #assign content = getMarginalContent(...  [in template "252001#252047#252853" at line 117, column 9]
----
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    DLUtil = getDLUtil() 
20    JournalArticleLocalService = getJournalArticleLocalService() 
21       
22      
23 
24    themeDisplay = getThemeDisplay() 
25    languageId = themeDisplay.getLocale() 
26    editmode = FrontendService.user.isPrivilegedUser(themeDisplay) 
27 
28    groupId = themeDisplay.getScopeGroupId() 
29    currentUrl = themeDisplay.getURLCurrent() 
30 
31    layout = themeDisplay.getLayout() 
32    layouttpl = layout.getTypeSettingsProperties().getProperty("layout-template-id") 
33 
34    isMicrosite = FrontendService.site.isMicrosite(groupId)!false 
35/> 
36 
37<#-- Veranstaltungen-Detail, Publikationen-Detail --> 
38<#if currentUrl?contains("/-/content") > 
39 
40    <#assign journalArticle = FrontendService.article.getArticleToUrl(currentUrl, groupId?number)! > 
41 
42    <#if journalArticle?has_content> 
43        <#if journalArticle.resourcePrimKey??> 
44            <#assign primaryKey = journalArticle.resourcePrimKey?number > 
45        <#elseif journalArticle.classPK??> 
46            <#assign primaryKey = journalArticle.classPK?number > 
47        </#if> 
48 
49        <#assign 
50            jsonString = FrontendService.article.getWebcontent(primaryKey) 
51            json = FrontendService.json.parseAsJson(jsonString) 
52        /> 
53 
54 
55        <@debugJsonString jsonString "ADT_KASDE_MARGINALSPALTE" /> 
56 
57        <#if hasContent('title', locale, json)> 
58            <#assign 
59                pageName = "" 
60                title = " - " + getValueForLanguage("title", languageId, json, "first") 
61            /> 
62            <#if isMicrosite > 
63                <#assign 
64                    pageGroup = layout.getGroup() 
65                    pageName = " - " + htmlUtil.escape(pageGroup.getDescriptiveName()) 
66                /> 
67            </#if> 
68            <script defer>document.title = 'Konrad-Adenauer-Stiftung${pageName}${title}'; </script> 
69        </#if> 
70 
71        <#assign content = getMarginalContent(json, locale, primaryKey, FrontendService, JournalArticleLocalService, themeDisplay) >  
72 
73 
74        <#if hasContent('ausgebucht', locale, json)> 
75            <#assign content = content + { "ausgebucht" : getValueForLanguage('ausgebucht', locale, json, "first") }> 
76        </#if> 
77 
78        <#if hasContent('storniert', locale, json)> 
79            <#assign content = content + { "storniert" : getValueForLanguage('storniert', locale, json, "first") }> 
80        </#if> 
81 
82        <#if hasContent('document_pdfDMTBASICDOCUMENT', locale, json)> 
83            <#assign 
84                pdfDocumentString = getValueForLanguage('document_pdfDMTBASICDOCUMENT', locale, json, "first") 
85                pdfDocument = FrontendService.json.parseAsJson(pdfDocumentString) 
86                fileEntry = FrontendService.media.getFileEntry(pdfDocument.uuid, pdfDocument.groupId?number)!/> 
87            <#if fileEntry?has_content> 
88              <#assign 
89                  linkToThumbnail = DLUtil.getThumbnailSrc(fileEntry , themeDisplay) 
90                  covermedia = getDefaultMediaObject(linkToThumbnail, "pdf cover") 
91                  covermedia = covermedia + {"hrefSource" : content.pdfBasicDocumentUrl.url } 
92                  content = content + { "covermedia": covermedia } 
93              /> 
94            </#if> 
95        </#if> 
96 
97         <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")> 
98            <#assign calendar = FrontendService.event.createCalendarFile(primaryKey, locale) /> 
99            <#assign content = content + {"calendar": calendar } /> 
100        </#if> 
101    <#elseif (editmode?? && editmode)> 
102        <@errorMessage languageUtil.get(locale, "kein.journalArticle.gefunden") "ADT_KASDE_MARGINALSPALTE" layouttpl /> 
103    </#if> 
104 
105<#-- Themen-Detail and others --> 
106<#else> 
107    <#-- content in marginalspalte --> 
108    <#if entries?has_content> 
109        <#assign 
110            entry = entries?first 
111            primaryKey = entry.classPK?number 
112 
113            jsonString = FrontendService.article.getWebcontent(primaryKey) 
114            json = FrontendService.json.parseAsJson(jsonString) 
115        /> 
116        <@debugJsonString jsonString "ADT_KASDE_MARGINALSPALTE" /> 
117        <#assign content = getMarginalContent(json, locale, primaryKey, FrontendService, JournalArticleLocalService, themeDisplay) > 
118    <#elseif (editmode?? && editmode)> 
119        <@errorMessage languageUtil.get(locale, "es.existieren.keine.entries") "ADT_KASDE_MARGINALSPALTE" layouttpl /> 
120    </#if> 
121</#if> 
122 
123 
124<#if content??> 
125    <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")> 
126        <#assign type = "veranstaltung" /> 
127 
128    <#elseif layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL")> 
129        <#assign type = "publikation" /> 
130    <#elseif layouttpl?contains("LAYOUT_KASDE_THEMEN_DETAIL")> 
131        <#assign type = "thema" /> 
132    <#else /> 
133        <#assign type = "default" /> 
134    </#if> 
135 
136    <#assign content = content + {"type": type } /> 
137 
138    <@PMMarginalspalte "ADT_KASDE_MARGINALSPALTE" content AMArticle AMPerson AMVenue AMPricing AMMediaElement AMDatetime AMMap AMMarginalContent AMMarginalLinks/> 
139<#elseif (editmode?? && editmode)> 
140    <@errorMessage languageUtil.get(locale, "entries.enthalten.keinen.content") "ADT_KASDE_MARGINALSPALTE" layouttpl /> 
141</#if>