Die Demokratie ist bedroht, das Vertrauen in sie schwindet. Populistische Bewegungen suggerieren einfache Antworten auf komplizierte Fragen. Die Medien titeln: „Eine Welt aus den Fugen“, „Die Menschheit schafft sich ab“ und „Wenn das Volk sich erhebt“.Misstrauen und Ängste schaden dem politischen Handeln, einer guten Regierungsführung und damit der Demokratie. „Mit Vertrauen in die Zukunft“ heißt deshalb das Jahresmotiv der Konrad-Adenauer-Stiftung. Mit Mut und Zuversicht wird man die drohenden Krisen überwinden. Demokratie muss immer wieder neu gelebt werden. Demokratie und Freiheit brauchen Engagement!
Inhalt
Fehler bei der Verarbeitung der Vorlage.
The following has evaluated to null or missing: ==> data.classPK [in template "252001#252047#WCD_DEBATTENBLOG_AUSGABEDETAIL_TOC" at line 15, column 23] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- 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: #local classPK = data.classPK [in template "252001#252047#WCD_DEBATTENBLOG_AUSGABEDETAIL_TOC" in function "getJournalArticle" at line 15, column 5] ----
1<#-- bezieht sich auf WCS Publikationsverbund -->
2<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
3<#assign articleId = .vars['reserved-article-id'].data />
4<#assign articleTitle = .vars['reserved-article-title'].data />
5
6<#-- functions -->
7<#function getJournalArticle dataObj >
8 <#local journalArticle = "" >
9 <#if dataObj?is_string>
10 <#local data = jsonFactoryUtil.createJSONObject(dataObj)!"" />
11 <#else>
12 <#local data = jsonFactoryUtil.createJSONObject(dataObj.getData())!"" />
13 </#if>
14 <#if data?has_content>
15 <#local classPK = data.classPK >
16 <#local className = data.className >
17 <#local entry = AssetEntryLocalService.getEntry(className, classPK?number)! >
18
19 <#if entry??>
20 <#local assetRenderer = entry.getAssetRenderer() />
21 <#local journalArticle = (assetRenderer.getArticle())! />
22 </#if>
23 </#if>
24
25 <#return journalArticle >
26
27</#function>
28
29<#function getSaxReaderDocument dataObj >
30 <#local document = "" >
31
32 <#local journalArticle = getJournalArticle(dataObj) >
33 <#if journalArticle?has_content>
34 <#local document = (saxReaderUtil.read(journalArticle.getContentByLocale(locale.toString())))!"" />
35 </#if>
36
37 <#return document >
38
39</#function>
40
41
42<#-- macros -->
43<#macro referenceTitle dataObj >
44 <#if dataObj?is_string>
45 <#local data = jsonFactoryUtil.createJSONObject(dataObj)!"" />
46 <#else>
47 <#local data = jsonFactoryUtil.createJSONObject(dataObj.getData())!"" />
48 </#if>
49 <#if data?has_content>
50 <#local classPK = data.classPK!"" />
51 <#local title = data.title!"" />
52 </#if>
53
54 <#if classPK?has_content && title?has_content>
55 <#assign contentUrl = FrontendService.article.getFriendlyUrl(classPK?number, themeDisplay.getLocale(), themeDisplay.getScopeGroupId()) >
56 <h5 class="c-toc__title">
57 <a href="${contentUrl}">${title}</a>
58 </h5>
59 </#if>
60</#macro>
61
62<#macro personName nodes >
63 <#list nodes as personNode>
64 <#local autorenWCSKASDEPERSON = personNode.getText() />
65 <#if autorenWCSKASDEPERSON?has_content >
66 <#-- the refrenece at this point is string so we don't use getData() -->
67 <#assign personContent = getSaxReaderDocument(autorenWCSKASDEPERSON) >
68 <#if personContent?has_content>
69 <#local anredetitel = "">
70 <#local vorname = "">
71 <#local nachname = "">
72
73 <#if personContent.selectSingleNode("/root/dynamic-element[@name='anredetitel']/dynamic-content")??>
74 <#local node = personContent.selectSingleNode("/root/dynamic-element[@name='anredetitel']/dynamic-content") />
75 <#local nodeText = node.getText() />
76 <#if nodeText?has_content >
77 <#local anredetitel = nodeText >
78 </#if>
79 </#if>
80
81 <#if personContent.selectSingleNode("/root/dynamic-element[@name='vorname']/dynamic-content")??>
82 <#local node = personContent.selectSingleNode("/root/dynamic-element[@name='vorname']/dynamic-content") />
83 <#local nodeText = node.getText() />
84 <#if nodeText?has_content >
85 <#local vorname = nodeText >
86 </#if>
87 </#if>
88
89 <#if personContent.selectSingleNode("/root/dynamic-element[@name='nachname']/dynamic-content")??>
90 <#local node = personContent.selectSingleNode("/root/dynamic-element[@name='nachname']/dynamic-content") />
91 <#local nodeText = node.getText() />
92 <#if nodeText?has_content >
93 <#local nachname = nodeText >
94 </#if>
95 </#if>
96
97 </#if>
98
99 <#if anredetitel?has_content || vorname?has_content || nachname?has_content>
100 <#if personNode?is_first && personNode?is_last>
101 <span><@liferay.language key="von" /></span> ${anredetitel} ${vorname} ${nachname}
102 <#elseif personNode?is_first>
103 <span><@liferay.language key="von" /></span> ${anredetitel} ${vorname} ${nachname},
104 <#elseif personNode?is_last>
105 ${anredetitel} ${vorname} ${nachname}
106 <#else>
107 ${anredetitel} ${vorname} ${nachname},
108 </#if>
109 </#if>
110 </#if>
111 </#list>
112</#macro>
113
114<#macro referencedPublication document >
115 <#if document?has_content>
116
117 <#if document.selectSingleNode("/root/dynamic-element[@name='untertitel']/dynamic-content")??>
118 <#local node = document.selectSingleNode("/root/dynamic-element[@name='untertitel']/dynamic-content") />
119 <#local untertitel = node.getText() />
120 <#if untertitel?has_content >
121 <p class="c-toc__copy">${untertitel}</p>
122 </#if>
123 </#if>
124
125 <#if document.selectSingleNode("/root/dynamic-element[@name='autorenWCSKASDEPERSON']/dynamic-content")??>
126 <#local nodes = document.selectNodes("/root/dynamic-element[@name='autorenWCSKASDEPERSON']/dynamic-content") />
127 <#if nodes?has_content>
128 <p class="c-toc__author"><@personName nodes /></p>
129 </#if>
130 </#if>
131
132 </#if>
133</#macro>
134
135<#if rubriklabel.getSiblings()?has_content>
136 <#list rubriklabel.getSiblings() as cur_rubriklabel>
137 <#if cur_rubriklabel?has_content>
138
139 <#if (cur_rubriklabel.getData())?has_content >
140 <div class="o-accordion__element-wrapper">
141 <#-- Rubriklabel -->
142 <h3 class="o-accordion__trigger c-toc__headline c-toc__headline--sub" >
143 ${cur_rubriklabel.getData()}
144 <span class="o-accordion__arrow">
145 <svg class="o-icon--small o-icon__arrow-down" viewBox="0 0 18 18">
146 <use xlink:href="${themeDisplay.getPathThemeImages()}/svg_sprite.svg#icon-bottom-chevron"></use>
147 </svg>
148 </span>
149 </h3>
150
151 <#-- Rubrikconent -->
152 <ul class="o-accordion__element c-toc__list">
153 <#if cur_rubriklabel.rubrikarticleWCSKASDEPUBLIKATION.getSiblings()?has_content>
154 <#list cur_rubriklabel.rubrikarticleWCSKASDEPUBLIKATION.getSiblings() as cur_rubrikarticleWCSKASDEPUBLIKATION >
155 <#assign document = getSaxReaderDocument(cur_rubrikarticleWCSKASDEPUBLIKATION) >
156 <#if document?has_content>
157 <li class="c-toc__list-item">
158 <@referenceTitle cur_rubrikarticleWCSKASDEPUBLIKATION />
159 <@referencedPublication document />
160 </li>
161 </#if>
162 </#list>
163 </#if>
164 </ul>
165 </div>
166 <#else>
167 <ul class="c-toc__list">
168 <#if cur_rubriklabel.rubrikarticleWCSKASDEPUBLIKATION.getSiblings()?has_content>
169 <#list cur_rubriklabel.rubrikarticleWCSKASDEPUBLIKATION.getSiblings() as cur_rubrikarticleWCSKASDEPUBLIKATION >
170 <#assign document = getSaxReaderDocument(cur_rubrikarticleWCSKASDEPUBLIKATION) >
171 <#if document?has_content>
172 <li class="c-toc__list-item">
173 <@referenceTitle cur_rubrikarticleWCSKASDEPUBLIKATION />
174 <@referencedPublication document />
175 </li>
176 </#if>
177 </#list>
178 </#if>
179 </ul>
180 </#if>
181
182 </#if>
183 </#list>
184</#if>