The following has evaluated to null or missing: ==> FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale ) [in template "252001#252047#252845" at line 128, 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 128, 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/AMPublicationCarousel.ftl" />
18<#include "${fullTemplatesPath}/macros/atomic-modules/AMMetadata.ftl" />
19<#include "${fullTemplatesPath}/macros/atomic-modules/AMDatetime.ftl" />
20
21
22<#--
23 renders the Intro for nearly all Pages
24 TODO: remove Share? (was in the designs, but not anymore?)
25 TODO: check if languageSelect/filter are working (js)
26
27 - portletId
28 - data = {
29 "media": string (src from image),
30 "category": string,
31 "title": string,
32 "author": string,
33 "subheadline": string,
34 "copy": string,
35 "filter": {
36 "id": string,
37 "name": string,
38 "entries": Array<Object> ({key:value}),
39 },
40 "languageSelect": {
41 "id": string,
42 "name": string,
43 "entries": Array<Object> ({key:value}),
44 },
45 "meta": {
46 "pos"; string (top/bottom)
47 "date": string,
48 "hash": string,
49 "info": string, (url)
50 },
51 "share" : {
52 "login": string,
53 "print": string,
54 "mail": string,
55 "multishare": string?? (tbd)
56 }
57 - AMMetadata: macro
58 - position: String ("top") -> defines wether the meta-data should be rendered above or below the intro-content
59 }
60-->
61
62<#assign
63 JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")
64
65 ServiceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()
66 DLAPP = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService")
67
68 themeDisplay = ServiceContext.getThemeDisplay()
69 editmode = FrontendService.user.isPrivilegedUser(themeDisplay)
70
71 languageId = themeDisplay.getLocale()
72 groupId = themeDisplay.getScopeGroupId()
73 currentUrl = themeDisplay.getURLCurrent()
74
75 layout = themeDisplay.getLayout()
76 layouttpl = layout.getTypeSettingsProperties().getProperty("layout-template-id")
77/>
78
79<#setting locale="${languageId}">
80
81<#-- get article from url -->
82
83<#assign entry = FrontendService.article.getArticleToUrl(currentUrl, groupId?number)! >
84
85
86<#if entry?has_content>
87
88 <#if entry.resourcePrimKey??>
89 <#assign primaryKey = entry.resourcePrimKey?number >
90 <#elseif entry.classPK??>
91 <#assign primaryKey = entry.classPK?number >
92 </#if>
93
94 <#assign
95 jsonString = FrontendService.article.getWebcontent(primaryKey)
96 json = FrontendService.json.parseAsJson(jsonString)
97 availablelanguages = FrontendService.article.getAssetEntryToUrl(primaryKey).getAvailableLanguageIds()
98
99 title = entry.getTitle(languageId)
100 data = {
101 "title": title
102 }
103 />
104 <@debugJsonString jsonString "ADT_KASDE_DYNAMIC_INTRO" />
105
106 <#if hasContent('untertitel', languageId, json)>
107 <#assign data = data + { "subheadline": getValueForLanguage('untertitel', languageId, json, "first") } >
108 </#if>
109
110 <#if hasContent('beschreibung', languageId, json)>
111 <#assign data = data + { "copy": getValueForLanguage('beschreibung', languageId, json, "first") } >
112 </#if>
113
114 <#-- fill meta data -->
115 <#assign meta = {} />
116
117 <#-- PUBLIKATIONEN DETAIL -->
118 <#if layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL")>
119
120 <#if hasContent('coverDMTKASDEMEDIUM', languageId, json)>
121 <#assign
122 coverBildString = getValueForLanguage('coverDMTKASDEMEDIUM', languageId, json, "first")
123 />
124
125 <#if coverBildString?has_content>
126 <#assign
127 coverBild = FrontendService.json.parseAsJson(coverBildString)
128 dMTJsonObject = FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale )
129 linkToDMT = FrontendService.media.getImageURLForAMConfiguration('hd-resolution',coverBild.groupId?number, coverBild.uuid )
130 data = data + { "media": linkToDMT, "meta" : dMTJsonObject }
131 />
132 <#if dMTJsonObject.altText?? >
133 <#assign data = data + {"alt" : dMTJsonObject.altText} />
134 </#if>
135 <#if dMTJsonObject.quelle??>
136 <#assign meta = meta + { "quelle": dMTJsonObject.quelle } />
137 </#if>
138 </#if>
139 <#-- uncomment to display pdf cover as Intro Image
140 <#elseif hasContent('document_pdfDMTBASICDOCUMENT', languageId, json)>
141 <#assign
142 pdfDocument = getValueForLanguage('document_pdfDMTBASICDOCUMENT', languageId, json, "first")
143 fileEntry = FrontendService.media.getFileEntry(pdfDocument.uuid, groupId?number)!/>
144 <#if fileEntry?has_content>
145 <#assign
146 linkToThumbnail = FrontendService.link.getThumbnailSrc(fileEntry , themeDisplay)
147 data = data + { "media": linkToThumbnail }
148 />
149 </#if>
150 -->
151 </#if>
152
153 <#assign
154 meta = meta + { "orderInfo": "true" }
155 verbundJournalArticle = FrontendService.publication.getVerbundToPublikation( entry )!""
156 />
157
158
159
160 <#if hasContent('erscheinungsdatum', languageId, json)>
161 <#assign
162 erscheinungsdatum = getValueForLanguage('erscheinungsdatum', languageId, json, "first")
163 />
164 <#if erscheinungsdatum?has_content >
165 <#assign
166 erscheinungsdatumFormatted = FrontendService.date.getDateFormatLong( erscheinungsdatum, languageId )
167 meta = meta + { "date": erscheinungsdatumFormatted }
168 />
169 </#if>
170 </#if>
171
172 <#if verbundJournalArticle?has_content>
173 <#assign
174 verbundJsonString = FrontendService.article.getWebcontent(verbundJournalArticle.resourcePrimKey)
175 verbundJson = FrontendService.json.parseAsJson(verbundJsonString)
176 laufendenummer = getValueForLanguage('laufendenummer', languageId, verbundJson, "first")
177 coverImg = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, verbundJson, "first")
178 />
179 <@debugJsonString verbundJsonString "ADT_KASDE_DYNAMIC_INTRO-verbundJournalArticle" />
180 <#assign meta = meta + { "laufendenummer": laufendenummer } >
181
182 <#if coverImg?has_content && coverImg.url?has_content >
183 <#assign meta = meta + { "coverImg": coverImg.url } >
184 </#if>
185 </#if>
186
187
188 <#if meta?has_content>
189 <#assign data = data + {"meta": meta } >
190 </#if>
191
192 </#if>
193 <#-- PUBLIKATIONEN DETAIL END -->
194
195
196 <#-- VERANSTALTUNGEN DETAIL -->
197 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")>
198 <#assign
199 friendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, languageId, groupId)!""
200 links = []
201 />
202 <#if availablelanguages?has_content && friendlyUrl?has_content>
203 <#if (availablelanguages?size > 1) >
204 <#list availablelanguages as language>
205 <#assign
206 defaultLanguage = "de_DE"
207 defaultLocale = FrontendService.language.getLocaleByKey(defaultLanguage)
208 linkLocale = (FrontendService.language.getLocaleByKey(language))!defaultLocale
209 langFriendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, linkLocale, groupId)
210
211 link = {
212 "key": language!defaultLanguage,
213 "value": linkLocale.getDisplayLanguage(languageId),
214 "url": "/c/portal/update_language?p_l_id=" +
215 layout.plid + "&redirect=" + langFriendlyUrl +
216 "&languageId=" + language
217 }
218 />
219 <#if language == languageId>
220 <#assign link = link + { "selected": "true" } >
221 </#if>
222 <#assign links = links + [link]>
223 </#list>
224 <#assign
225 data = data + {
226 "languageSelect": {
227 "id": "languageSelectRedirect",
228 "name": "languageselectRedirect",
229 "entries": links,
230 "label": languageUtil.get(languageId, "diese.veranstaltung.ist.in.weiteren.sprachen.verfuegbar")
231 }
232 }
233 />
234 </#if>
235 </#if>
236 </#if>
237
238 <#if hasContent('erscheinungsdatum', languageId, json)>
239 <#assign
240 startdate = getValueForLanguage('erscheinungsdatum', languageId, json, "first")
241 meta = meta + { "start": startdate?date.iso, "end": "" }
242 />
243 </#if>
244
245 <#if hasContent('startdatum', languageId, json)>
246 <#assign
247 startdate = getValueForLanguage('startdatum', languageId, json, "first")
248 meta = meta + { "start": startdate?date.iso, "end": "" }
249 />
250 </#if>
251
252 <#if hasValue('einfuehrungText', locale, json)>
253 <#assign data = data + { "einfuehrungText" : getValueForLanguage('einfuehrungText', locale, json, "first") } >
254 <#elseif hasValue(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first")>
255 <#assign data = data + { "einfuehrungText" : getValueForLanguage(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first") } >
256 </#if>
257
258 <#if hasContent('endedatum', languageId, json)>
259 <#assign
260 enddate = getValueForLanguage('endedatum', languageId, json, "first")
261 meta = meta + { "end": enddate?date.iso }
262 />
263 </#if>
264
265 <#if hasContent('startzeit', languageId, json)>
266 <#assign
267 startzeit = getValueForLanguage('startzeit', languageId, json, "first")
268 />
269 <#if startzeit?has_content >
270 <#assign meta = meta + { "startzeit": startzeit } />
271 </#if>
272 </#if>
273
274 <#if hasContent('endezeit', languageId, json)>
275 <#assign
276 endezeit = getValueForLanguage('endezeit', languageId, json, "first")
277 meta = meta + { "endezeit": endezeit }
278 />
279 </#if>
280
281 <#if hasContent('ortWCSKASDEORT', languageId, json)>
282 <#assign
283 ortWCSKASDEORT = FrontendService.json.parseAsJson(getValueForLanguage('ortWCSKASDEORT', languageId, json, "first"))
284 ortWCSKASDEORTPrimaryKey = ortWCSKASDEORT.classPK?number
285 ortWCSKASDEORTWebContent = FrontendService.article.getWebcontentByPk(ortWCSKASDEORTPrimaryKey)!""
286 />
287 <#if ortWCSKASDEORTWebContent?has_content >
288 <#assign
289 ortWCSKASDEORTTitle = ortWCSKASDEORTWebContent.getTitle(languageId)!""
290 />
291 <#if ortWCSKASDEORTTitle?has_content >
292 <#assign
293 meta = meta + { "ortWCSKASDEORT": ortWCSKASDEORTTitle }
294 />
295 </#if>
296 </#if>
297 </#if>
298
299
300 <#if hasContent('veranstaltungsnummer', languageId, json)>
301 <#assign
302 verauuid = getValueForLanguage('veranstaltungsnummer', languageId, json, "first")
303 meta = meta + { "verauuid": verauuid }
304 />
305 </#if>
306
307
308 <#if (data.meta)?has_content >
309 <#assign meta = data.meta />
310 </#if>
311
312 <#if !(data.media)?has_content && hasContent('mediumDMTKASDEMEDIUM', languageId, json)>
313 <#assign
314 medium = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, json, "first")
315 mediaData = getRelatedMediaObject(medium, themeDisplay, languageId, FrontendService, "hd-resolution")
316 />
317 <#assign data = data + { "media": mediaData.url , "meta" : mediaData.meta} >
318
319
320 <#if mediaData.meta?? && mediaData.meta.quelle??>
321 <#assign meta = meta + data.meta + { "quelle": mediaData.meta.quelle } />
322 </#if>
323 </#if>
324
325
326 <#if meta?has_content>
327 <#assign data = data + {"meta": meta } >
328 </#if>
329
330 <#-- END fill meta data -->
331
332 <#if hasContentForSequence('autorenWCSKASDEPERSON', languageId, json)>
333 <#assign
334 journalArticles = getValueForLanguageAnsprechpartner('autorenWCSKASDEPERSON', languageId, json)
335 authors = []
336 />
337 <#list journalArticles as articleString>
338 <#assign article = FrontendService.json.parseAsJson(articleString) />
339 <#if article?has_content && article?is_hash && article.classPK??>
340 <#assign articleDereferenced = FrontendService.person.resolveContactInstanceToPerson(article, languageId)!"" />
341 <#if articleDereferenced?has_content >
342 <#assign
343 author = ""
344 articlePrimaryKey = articleDereferenced.classPK?number
345 articleJsonString = FrontendService.article.getWebcontent(articlePrimaryKey)
346 articleJson = FrontendService.json.parseAsJson(articleJsonString)
347 />
348 <@debugJsonString articleJsonString "ADT_KASDE_DYNAMIC_INTRO-autorenWCSKASDEPERSON" />
349 <#if hasValue('anredetitel', languageId, articleJson)>
350 <#assign author = author + getValueForLanguage('anredetitel', languageId, articleJson, " ") + " ">
351 </#if>
352 <#if hasValue('vorname', languageId, articleJson)>
353 <#assign author = author + getValueForLanguage('vorname', languageId, articleJson, " ") + " ">
354 </#if>
355 <#if hasValue('nachname', languageId, articleJson)>
356 <#assign author = author + getValueForLanguage('nachname', languageId, articleJson, " ") + " ">
357 </#if>
358
359 <#attempt>
360 <#assign href = FrontendService.article.getFriendlyUrl(articlePrimaryKey, languageId, groupId)!"#" >
361 <#recover>
362 <#assign href = "#" >
363 </#attempt>
364 <#if href?has_content && href != "#" && href != "/_404">
365 <#assign author = '<a href="' + href + '">' + author?trim + '</a>'>
366 </#if>
367
368 <#assign authors = authors + [author?trim]>
369 </#if>
370 </#if>
371 </#list>
372 <#if authors?has_content>
373 <#assign data = data + { "author": authors?join(", ") } >
374 </#if>
375 </#if>
376
377 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL") >
378 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "VERANSTALTUNGSTYP")! >
379 <#if categories?has_content && categories[0]?has_content >
380 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } >
381 </#if>
382
383 <#if hasContent('ausgebucht', languageId, json)>
384 <#assign data = data + { "ausgebucht" : getValueForLanguage('ausgebucht', languageId, json, "first") }>
385 </#if>
386
387 <#if hasContent('storniert', languageId, json)>
388 <#assign data = data + { "storniert" : getValueForLanguage('storniert', languageId, json, "first") }>
389 </#if>
390
391 <#elseif layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL") >
392 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "PUBLIKATIONSREIHE")! >
393 <#if categories?has_content && categories[0]?has_content >
394 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } >
395 </#if>
396 <#else>
397 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "THEMA")! >
398 <#if categories?has_content && categories[0]?has_content >
399 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } >
400 </#if>
401 </#if>
402
403
404 <#assign
405 languages = []
406 />
407
408 <#attempt>
409 <#if json["document_pdfDMTBASICDOCUMENT"]?? >
410 <#if availablelanguages?has_content>
411 <#list availablelanguages as pdf_language>
412 <#assign
413 docRefJson = getValueForLanguage('document_pdfDMTBASICDOCUMENT', pdf_language, json, "first")
414 docRef = FrontendService.json.parseAsJson(docRefJson)
415 />
416 <#if docRef?is_hash && pdf_language != languageId >
417 <#assign
418 lang = FrontendService.language.getLocaleByKey(pdf_language)!""
419 docGroupId = docRef["groupId"]?number
420 docUuid = docRef["uuid"]
421 dMTJsonObject = FrontendService.media.getDMTJsonObject( docGroupId, docUuid, locale )
422 dMTLink = FrontendService.media.getLinkToDMT( dMTJsonObject )
423 />
424 <#if lang?has_content>
425 <#assign
426 languages = languages + [
427 {
428 "key": pdf_language,
429 "value": FrontendService.language.getLocaleByKey(pdf_language).getDisplayLanguage(),
430 "url": dMTLink
431 }]
432 />
433 </#if>
434 </#if>
435 </#list>
436 </#if>
437 </#if>
438 <#recover>
439 </#attempt>
440
441 <#if (languages?size > 0)>
442 <#attempt>
443 <#assign
444 data = data + { "languageSelect": {
445 "id": "languageSelect",
446 "name": "languageselect",
447 "entries": languages,
448 "documents": "",
449 "button": "true"
450 }}
451 />
452 <#recover>
453 </#attempt>
454 </#if>
455
456 <@PMIntro "ADT_KASDE_DYNAMIC_INTRO" data AMMetadata AMDatetime "bottom" />
457 ${FrontendService.article.getEditArticleHtml(primaryKey, themeDisplay)}
458
459 <#if data.meta?has_content>
460 <#if data.meta.laufendenummer?has_content !isACColorScheme() && !isVLCColorScheme() && !isDPMColorScheme()>
461 <div>
462 <div id="publicationVerbundPagination">
463 <@AMPublicationCarousel data.meta.laufendenummer data.meta.date data.meta.coverImg />
464 </div>
465 </div>
466 </#if>
467 </#if>
468
469<#elseif (editmode?? && editmode)>
470 <@errorMessage languageUtil.get(locale, "kein.journalArticle.gefunden") "ADT_KASDE_DYNAMIC_INTRO" layouttpl currentUrl />
471</#if>
Übersicht Wahlergebnisse:
Das heterogene Oppositionsbündnis entstand aufgrund der Besonderheiten des Wahlrechts
Der Zusammenschluss der Oppositionsparteien in ein breites und heterogenes rechts-links-Bündnis ist durch die Besonderheiten des ungarischen Wahlrechts bedingt. Das ungarische Parlament besteht aus 199 Abgeordneten, wobei keine Überhang- oder Ausgleichsmandate vorgesehen sind. Hiervon werden von den etwa 7,8 Millionen Stimmberechtigten 106 Abgeordnete über die Erststimme per relativer Mehrheit als Direktkandidaten gewählt. Die restlichen 93 Abgeordneten werden per Zweitstimme über die Parteiliste gewählt. Im Gegensatz zu Deutschland entscheidet in Ungarn die Zweitstimme nicht über die Gesamtzahl der Parlamentssitze der Partei, sondern nur über die Verteilung der 93 Listenplätze. Das ungarische Wahlsystem wird daher als Grabenwahlsystem bezeichnet. Eine wichtige Besonderheit ist weiterhin das System der „Gewinner- und Verliererkompensation“ bei der Erststimme. Damit keine Erststimmen „verloren“ gehen, werden die Stimmen der Wahlkreisverlierer zusätzlich der Parteiliste als so genannte „Bruchstimmen“ hinzugerechnet. Die Stimmen des Gewinners, die über das Ergebnis des Zweitplatzierten hinausgehen, also die, die für den Gewinn des Direktmandates nicht benötigt werden, werden ebenfalls der Parteiliste zugeschlagen. Dieses System begünstigt zwar große Parteien, hat jedoch in der Vergangenheit für politische Stabilität in Ungarn gesorgt. Allerdings ist es so möglich, mit unter 50% der Parteistimmen (Zweitstimmen) eine parlamentarische Zweidrittelmehrheit zu erreichen. Ebenso ist es denkbar, dass bei entsprechendem Gewinn von Direktmandaten eine Mehrheit der Parteilistenstimmen für die Erlangung einer parlamentarischen Mehrheit nicht zwangsläufig erforderlich wäre.
Seit der so genannten „Lügenrede“, bei der der damalige sozialistische Ministerpräsident Ferenc Gyurcsány im Jahr 2006 zugegeben hat, unter anderem über den Zustand der ungarischen Wirtschaft und Staatsfinanzen gelogen zu haben, ist das linke Lager in Ungarn stark fragmentiert. Aufgrund des Wahlrechts ist es in dieser Situation schwierig, der vor allem im ländlichen Raum starken Fidesz, die für die Parlamentsmehrheit erforderlichen Direktmandate abzuringen. Daher ist bei den im Parlament vertretenen Oppositionsparteien die Einsicht gekommen, nur vereint eine Chance auf Ablösung der Fidesz-KDNP-Regierung zu haben. Bei den Kommunalwahlen im Jahr 2019 ist die Opposition daher erstmals mit gemeinsamen Spitzenkandidaten angetreten und konnte somit spektakulär Hochburgen der Regierungsparteien, wie beispielsweise die Hauptstadt Budapest, gewinnen. Um an dieses Erfolgsmodell anzuknüpfen, haben die Oppositionsparteien für diese Parlamentswahlen alle inhaltlichen und ideologischen Gräben überbrückt und sich als Zweckbündnis mit dem Hauptziel zusammengeschlossen, die Regierung von Viktor Orbán zu stürzen.
Aufschlüsselung der Ergebnisse in Erst- und Zweitstimme:
Der Sieg von Orbán zeigt die Schwäche der Opposition
Obwohl in verschiedenen Umfragen vor der Wahl eine Wechselstimmung gemessen wurde, hat es die Opposition nicht geschafft, sich während des Kriegs im Nachbarland als eine verlässliche und stabile Alternative zu präsentieren. Insbesondere ist im Wahlkampf nicht ausreichend klargeworden, welche Inhalte und Programmatik das so unterschiedliche Oppositionsbündnis über die Ablösung der Orbán-Regierung hinaus verkörpert. Die lange außenpolitische Erfahrung und Vernetzung Viktor Orbáns bedingt durch 16 Jahre als Regierungschef (von 1998 bis 2002 und seit 2010) hat es dem bisher landespolitisch recht unerfahrenen Oppositionskandidaten Péter Márky-Zay, der ohne eigene Partei Bürgermeister einer Stadt mit rund 47.000 Einwohnern ist, schwer gemacht, sich als staatstragende Alternative im Wahlkampf zu präsentieren. Die Tatsache, dass sich das sehr heterogene Oppositionsbündnis, was sich über das Parteispektrum von rechts bis links erstreckt, in vielen Politikbereichen nicht klar inhaltlich positionieren konnte, hat es der Regierung hingegen leichtgemacht, sich in der aktuellen geopolitischen Krise als sicher und verlässlich zu präsentieren. Der politisch wenig erfahrene Oppositionskandidat hat der Regierung hingegen immer wieder durch mehrdeutige Aussagen und Schwächen der Führung der Wahlkampagne Angriffsflächen geboten, die das personell und finanziell hervorragend ausgestattete Team von Viktor Orbán stets nutzen konnte. Nach fast zwölf Jahren mit parlamentarischer Zweidrittelmehrheit dominiert das Regierungsbündnis den Diskurs im politischen und vorpolitischen Raum in Ungarn. Dadurch, dass das Bündnis der Oppositionsparteien inhaltlich und ideologisch so heterogen ist, ist es offenbar nicht gelungen, sich auf eine etablierte und politisch erfahrene Persönlichkeit aus einer der Oppositionsparteien zu einigen. Daher ist schlussendlich bei Vorwahlen der zunächst als Außenseiter gehandelte und keiner der Oppositionsparteien angehörende Péter Márki-Zay zum Spitzenkandidaten gekürt worden. Gegen diesen hat nun der politisch erfahrene Viktor Orbán gewinnen können. Die aktuelle Krisensituation, nach zwei Jahren Pandemie herrscht nun im Nachbarland Ukraine Krieg, hat offenbar weiter dazu beigetragen, dass die ungarische Bevölkerung eher auf den bekannten und als Regierungschef erfahrenen Viktor Orbán gesetzt hat, auch wenn bei bestimmten Themen die Opposition in der Tat die Regierung vor sich hertreiben konnte und in einigen Umfragen vor der Wahl ein Kopf-an-Kopf-Rennen zwischen Regierung und Opposition vorhergesagt wurde. So konnte das Oppositionsbündnis beispielsweise im vergangenen Jahr innerhalb kürzester Zeit eine Großdemonstration in Budapest gegen den von der Regierung geplanten Bau eines Campus der chinesischen Fudan-Universität organisieren. Auch mit dem Angriff Russlands auf die Ukraine hat die Opposition geschickt die Annäherung der Regierung an Russland während der letzten Jahre kritisiert und die Parlamentswahlen zu einer Entscheidungswahl „Ost oder West“ hochstilisiert. Die Orbán-Regierung hat in ihrer Kampagne hingegen die Wahl als eine Entscheidung zwischen „Krieg und Frieden“ dargestellt. Mit dem von Orbán geprägten Begriff der „strategischen Ruhe“ wurde der Bevölkerung im Wahlkampf versprochen, man könne Ungarn aus dem Krieg „heraushalten“. Durch das Verbot, über ungarisches Territorium Waffen an die Ukraine zu liefern hat die Orbán-Regierung suggeriert, man könne damit russische Angriffe sowohl auf ungarisches Territorium wie auch auf die ungarische Minderheit in der Westukraine verhindern. Somit wurde in der Kampagne die langjährige politische Erfahrung des Regierungschefs betont und der politisch weniger erfahrene Oppositionskandidat in der Wahlkampagne der Regierung als potentielles Sicherheitsrisiko für Ungarn dargestellt. Daher ist es offenbar der Opposition nicht gelungen, die Regierung mit ihrer Russland-Politik zu schlagen, obwohl es allen Umfragen zufolge in der ungarischen Bevölkerung eine überdurchschnittlich hohe Zustimmung sowohl zur EU als auch zur NATO gibt. Das Wahlergebnis ist daher nicht als ein Votum gegen die EU und für eine Annäherung an Russland und China zu sehen, sondern es verkörpert vielmehr in einer Zeit der Unsicherheit und Krise den Wunsch, weiter auf die erfahrene Regierung zu setzen. Dies insbesondere vor dem Hintergrund, dass Ungarn als Nachbarland unmittelbar viel stärker vor allem wirtschaftlich von dem Krieg in der Ukraine betroffen war.
Die Kopplung der Wahl mit dem Referendum über das so genannte „Kinderschutzgesetz“, was schlussendlich die erforderliche absolute Mehrheit nicht erreicht hat, dürfte wohl weiterhin für eine Mobilisierung der Anhänger der Fidesz-KDNP-Regierung gesorgt haben.
Die nächste Amtszeit wird die bisher schwerste für Viktor Orbán werden
Die nicht ideologisch, sondern von machttaktischen und innenpolitischen Motiven geprägte multivektorale Außenpolitik der Orbán-Regierung der letzten Jahre wurde mit Beginn des Angriffskriegs auf die Ukraine in eine Sackgasse geführt. Die anstehende Amtszeit wird geprägt sein von einer Neugestaltung der ungarischen Außen- und Sicherheitspolitik. Auch in der Europapolitik hat der russische Angriff auf die Ukraine formale Kooperationsformen, wie beispielsweise die Visegrád-Gruppe oder informelle Bündnisse, wie beispielsweise die Kooperation von Parteien rechts der EVP durch konträre Positionen in der Russlandpolitik gespalten. So steht Ungarn nun zu Beginn der neuen Legislaturperiode außen-, europa- und sicherheitspolitisch am Beginn einer neuen Ära. Bei der Reduzierung von Abhängigkeiten von Russland und China ist Ungarn auf Unterstützung angewiesen, da es als kleines Land weder über die Wirtschaftskraft noch über die politischen Hebel verfügt, beispielsweise die extrem hohe Abhängigkeit von russischem Gas kurzfristig aus eigener Kraft zu reduzieren. Innenpolitisch muss die extrem polarisierte ungarische Gesellschaft wieder geeint werden. Dieser Kraftakt wird ohne Kompromisse und ohne die Einbindung politischer Gegner nicht gelingen. Auch wirtschaftlich steht Ungarn nach über zwei Jahren der Corona-Pandemie sowie aufgrund der Auswirkungen des Kriegs im Nachbarland vor großen Herausforderungen. Die in den letzten Jahren krisenbedingt wieder stark gestiegene Staatsverschuldung lässt kaum haushaltspolitische Spielräume zur Unterstützung der Sozialsysteme und das baldige Auslaufen der staatlichen Preisbindung für Benzin und bestimmte Grundnahrungsmittel wird die ohnehin schon hohe Inflation weiter antreiben. Die nächsten vier Jahre dürften für Viktor Orbán also die schwersten Jahre in seiner politischen Karriere werden und ihm innen- und außenpolitisch einige Kompromisse abringen.
Die politische Spaltung des Landes zeigt sich in der Reaktion der Medien
In der ungarischen Medienberichterstattung ist klar zu erkennen, dass mit einer Fortsetzung der Fidesz-KDNP-Regierung gerechnet wurde. Lediglich das sehr eindeutige Ergebnis und das erneute Erringen einer Zweidrittelmehrheit hat in den Kommentaren für Überraschung gesorgt. Während die oppositionsnahen Medien aufgrund der Übermacht der Regierung und der Dominanz vor allem im öffentlichen Rundfunk von unfairen Wahlen sowie einem „Stimmenkauf“ durch steuerfinanzierte „Wahlgeschenke“ sprechen, spricht beispielsweise die regierungsnahe Zeitung Mandiner von einem „Bankrott“ der Opposition. Péter Márki-Zay, der Spitzenkandidat der Opposition hat zwar den Wahlsieg der Regierung und somit das Ergebnis anerkannt, aber eingeschränkt, dass es sich um einen unfairen und ungleichen Wahlkampf gehandelt und die Regierung die Wahlen schlussendlich nur durch „Propaganda“ und „Gehirnwäsche“ gewonnen habe.
Regierungschef Viktor Orbán hat hingegen in seiner Rede nach dem Sieg in der Wahlnacht erneut die „Bürokraten in Brüssel“ sowie den „ukrainischen Präsidenten“ in der Liste der „Gegner“ genannt, mit denen man es im Wahlkampf zu tun gehabt habe.
Die Äußerungen der Spitzenpolitiker sowohl der Regierung als auch der Opposition sowie die Medienberichterstattung nach der Wahl lassen darauf schließen, dass sich das Land nach dem Wahlkampf und insbesondere nach dem Wahlergebnis noch stärker polarisiert und gespalten hat.
Europapolitisch kann es kein „weiter so“ geben
Nach dem klaren erneuten Mandat für die Fidezs-KDNP-Regierung ist für die Europapolitik der nächsten Jahre in Bezug auf Ungarn ein Neuanfang erforderlich. Vor allem da, wo im EU-Rat Einstimmigkeit erforderlich ist, insbesondere im Bereich der Finanzen und der Außenpolitik, wird in Zukunft ein neuer Konsens mit der neuen alten ungarischen Regierung erforderlich sein. Sowohl der „Green Deal“ als ein wichtiges Zukunftsprojekt, als auch der Umgang mit der russischen Aggression wird ohne Ungarn nicht möglich sein. Hierfür muss verlorenes Vertrauen wiederhergestellt werden. Die ungarische Regierung besteht beispielsweise auf die baldige komplette Freigabe der Mittel aus dem EU-Wiederaufbaufonds und es bestehen unterschiedliche Ansichten bezüglich der Ausgestaltung und Anwendung des neuen Instruments der Rechtsstaats-Konditionalität. Diese ganze thematische Bandbreite bietet genügend Raum, Ungarn in den nächsten vier Jahren einer weiteren Fidesz-KDNP-Regierung in die weitere Ausgestaltung der europäischen Integration einzubeziehen und zu Kompromissen zu finden. Wichtig ist hierbei, dass in der ungarischen Bevölkerung eine sehr hohe Zustimmung zur EU besteht, was die Umfragen des EU-Eurobarometers kontinuierlich belegen. Dem kann sich keine ungarische Regierungspartei, egal welcher Couleur, entziehen und daher sollte dieser Aspekt auch im Umgang mit Ungarn bei kontroversen Themen stets berücksichtigt werden. Das klare Mandat für die nächsten vier Jahre bietet nun eine gute Gelegenheit, die Rolle Ungarns in der EU neu zu gestalten.
Die deutsche Minderheit erhält erneut ein Abgeordnetenmandat
Alle dreizehn staatlich anerkannten nationalen Minderheiten in Ungarn können über die Zweitstimmenliste mit einem Kandidaten antreten und somit im Rahmen der staatlich garantierten Mitbestimmungsrechte eines der 93 Listenmandate erringen. Wählerinnen und Wähler können sich ohne weitere behördliche Überprüfung als Angehörige einer Minderheit registrieren und dadurch mit ihrer Zweitstimme dem Wahlvorschlag ihrer Minderheitengruppe zustimmen. Die Abgabe der Zweitstimme für die Wahl der Parteilisten entfällt dadurch. Bei der Wahl im Jahr 2018 konnte die Landesselbstverwaltung der Ungarndeutschen (LdU) mit Imre Ritter erstmalig einen ungarndeutschen Abgeordneten über die Minderheitenregelung ein Abgeordnetenmandat erreichen.
Mit knappem Erfolg konnte Imre Ritter diesmal sein Mandat verteidigen. Somit sitzt erneut ein Vertreter der deutschen Minderheit als einziger über die Minderheitenregelung gewählter Vertreter im ungarischen Parlament.
Das Wahlergebnis eröffnet neue Möglichkeiten für die Parteienzusammenarbeit
Der russische Angriffskrieg auf die Ukraine hat die von Fidesz mitinitiierten Bemühungen zur Gründung einer neuen Parteienfamilie rechts der EVP vor weitere große Schwierigkeiten gestellt. Neben unterschiedlichen Positionen in der Europa- und Innenpolitik stellt die Russlandpolitik einen wesentlichen Streitpunkt der bisher an einem solchen Bündnis interessierten Parteien dar. Nach dem Austritt aus der EVP im März 2021 ist Fidesz als die mit erheblichem Abstand stärkste ungarische Partei daher ohne Einbindung in eine Fraktion oder Parteienfamilie in Brüssel weitestgehend auf sich alleine gestellt. Die nächsten Jahre werden also ein sehr dynamisches Zeitfenster der Neuorientierung sein, in der neue Formen der Zusammenarbeit und des Austauschs mit Fidesz gefunden werden müssen. Dieses Zeitfenster bietet, konstruktiv genutzt, eine große Chance nicht nur die ungarische Regierungspartei, sondern damit verbunden auch eine starke Stimme Mittelosteuropas wieder stärker in Abstimmungsprozesse des bürgerlichen Lagers zu integrieren. Das Zeitfenster bis zu den nächsten Wahlen zum Europaparlament im Jahr 2024 bietet die Möglichkeit, zu eruieren, ob und wenn ja welche Kooperationsmöglichkeiten geeignet sind. Nach wie vor gibt es bei Fidesz verschiedene Persönlichkeiten, die sich weiter eine enge Anbindung an die EVP wünschen. Die kleinere der beiden Regierungsparteien, die christdemokratische KDNP ist Mitglied der EVP und sorgt somit für eine Einbindung der ungarischen Regierung in die Gremien der EVP.
Ungarn wünscht sich nach wie vor eine enge Anbindung an Deutschland
Die Orbán-Regierung hat bisher immer sehr klar artikuliert, dass Deutschland als größtes Land in der EU für Ungarn einer der wichtigsten Partner ist. Auch die wirtschaftlichen Beziehungen beider Länder wurden während der letzten Orbán-Regierungen stets ausgebaut und vertieft. Mit mehr als einem Viertel der Aus- und Einfuhren ist Deutschland der mit Abstand wichtigste Handelspartner Ungarns. Zahlreiche deutsche Unternehmen, insbesondere aus der Automobilindustrie haben sich in den letzten Jahren in Ungarn angesiedelt und produzieren hier auch für Drittmärkte. Auch geopolitisch ist die Lage Ungarns in der Mitte Europas und an der Grenze zur Ukraine für die künftige Sicherheitsarchitektur Europas von Bedeutung. In den Parteiführungen von Fidesz und KDNP sowie in Kabinett und Parlament gibt es mehrere Persönlichkeiten, die enge persönliche und politische Bindungen zu Deutschland haben, die in Deutschland gelebt, gearbeitet oder studiert haben und fließend deutsch sprechen. Dies bietet sowohl für die bilaterale Zusammenarbeit als auch für die europäische Integration ein großes Potential, das bisher nicht immer voll ausgeschöpft wurde. Auch bei kontroversen Themen können diese wichtigen Verbindungen zwischen beiden Ländern künftig verstärkt eine Rolle spielen, um Kompromisse zu finden und Konflikte vorab zu vermeiden. Dies betrifft sowohl Themen der bilateralen Beziehungen, wie beispielsweise der Wirtschafts- oder Verteidigungs- bzw. Rüstungspolitik, wo es zahlreiche gemeinsame Interessen gibt. Darüber hinaus spielt Deutschland, wie in der Vergangenheit auch, eine wichtige Rolle, wenn es darum geht Ungarn in europäische Kompromisse einzubinden. Dies gilt insbesondere für die Bereiche, bei denen die Zustimmung Ungarns aufgrund einer Einstimmigkeitserfordernis zwingend notwendig ist.
argomenti
fornito da
Auslandsbüro Ungarn
su questa serie
La Fondazione Konrad Adenauer è presente con uffici propri in circa 70 Paesi dei cinque Continenti. I collaboratori presenti sul posto possono riferire direttamente su avvenimenti attuali e sviluppi nel lungo periodo nei Paesi in cui sono impegnati. Sotto "Notizie dai Paesi" mettono a disposizione degli utenti del sito web della Fondazione Konrad Adenauer analisi, informazioni di background e valutazioni esclusive.