资产发布器

处理模板时发生错误。
The following has evaluated to null or missing:
==> data.meta [in template "252001#252047#252845" at line 459, column 10]
----
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: #if data.meta.laufendenummer?has_cont... [in template "252001#252047#252845" at line 459, column 5]
----
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 
98 title = entry.getTitle(languageId) 
99 data = { 
100 "title": title 
101
102 /> 
103 <@debugJsonString jsonString "ADT_KASDE_DYNAMIC_INTRO" /> 
104 
105 <#if hasContent('untertitel', languageId, json)> 
106 <#assign data = data + { "subheadline": getValueForLanguage('untertitel', languageId, json, "first") } > 
107 </#if> 
108 
109 <#if hasContent('beschreibung', languageId, json)> 
110 <#assign data = data + { "copy": getValueForLanguage('beschreibung', languageId, json, "first") } > 
111 </#if> 
112 
113 <#-- fill meta data --> 
114 <#assign meta = {} /> 
115 
116 <#-- PUBLIKATIONEN DETAIL --> 
117 <#if layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL")> 
118 
119 <#if hasContent('coverDMTKASDEMEDIUM', languageId, json)> 
120 <#assign 
121 coverBildString = getValueForLanguage('coverDMTKASDEMEDIUM', languageId, json, "first") 
122 /> 
123 
124 <#if coverBildString?has_content> 
125 <#assign 
126 coverBild = FrontendService.json.parseAsJson(coverBildString) 
127 dMTJsonObject = FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale ) 
128 linkToDMT = FrontendService.media.getImageURLForAMConfiguration('hd-resolution',coverBild.groupId?number, coverBild.uuid ) 
129 data = data + { "media": linkToDMT, "meta" : dMTJsonObject } 
130 /> 
131 <#if dMTJsonObject.altText?? > 
132 <#assign data = data + {"alt" : dMTJsonObject.altText} /> 
133 </#if> 
134 <#if dMTJsonObject.quelle??> 
135 <#assign meta = meta + { "quelle": dMTJsonObject.quelle } /> 
136 </#if> 
137 </#if> 
138 <#-- uncomment to display pdf cover as Intro Image 
139 <#elseif hasContent('document_pdfDMTBASICDOCUMENT', languageId, json)> 
140 <#assign 
141 pdfDocument = getValueForLanguage('document_pdfDMTBASICDOCUMENT', languageId, json, "first") 
142 fileEntry = FrontendService.media.getFileEntry(pdfDocument.uuid, groupId?number)!/> 
143 <#if fileEntry?has_content> 
144 <#assign 
145 linkToThumbnail = FrontendService.link.getThumbnailSrc(fileEntry , themeDisplay) 
146 data = data + { "media": linkToThumbnail } 
147 /> 
148 </#if> 
149 --> 
150 </#if> 
151 
152 <#assign 
153 meta = meta + { "orderInfo": "true" } 
154 verbundJournalArticle = FrontendService.publication.getVerbundToPublikation( entry )!"" 
155 /> 
156 
157 
158 
159 <#if hasContent('erscheinungsdatum', languageId, json)> 
160 <#assign 
161 erscheinungsdatum = getValueForLanguage('erscheinungsdatum', languageId, json, "first") 
162 /> 
163 <#if erscheinungsdatum?has_content > 
164 <#assign 
165 erscheinungsdatumFormatted = FrontendService.date.getDateFormatLong( erscheinungsdatum, languageId ) 
166 meta = meta + { "date": erscheinungsdatumFormatted } 
167 /> 
168 </#if> 
169 </#if> 
170 
171 <#if verbundJournalArticle?has_content> 
172 <#assign 
173 verbundJsonString = FrontendService.article.getWebcontent(verbundJournalArticle.resourcePrimKey) 
174 verbundJson = FrontendService.json.parseAsJson(verbundJsonString) 
175 laufendenummer = getValueForLanguage('laufendenummer', languageId, verbundJson, "first") 
176 coverImg = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, verbundJson, "first") 
177 /> 
178 <@debugJsonString verbundJsonString "ADT_KASDE_DYNAMIC_INTRO-verbundJournalArticle" /> 
179 <#assign meta = meta + { "laufendenummer": laufendenummer } > 
180 
181 <#if coverImg?has_content && coverImg.url?has_content > 
182 <#assign meta = meta + { "coverImg": coverImg.url } > 
183 </#if> 
184 </#if> 
185 
186 
187 <#if meta?has_content> 
188 <#assign data = data + {"meta": meta } > 
189 </#if> 
190 
191 </#if> 
192 <#-- PUBLIKATIONEN DETAIL END --> 
193 
194 
195 <#-- VERANSTALTUNGEN DETAIL --> 
196 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")> 
197 <#assign 
198 friendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, languageId, groupId)!"" 
199 languages = entry.getAvailableLanguageIds() 
200 links = [] 
201 /> 
202 <#if languages?has_content && friendlyUrl?has_content> 
203 <#if (languages?size > 1) > 
204 <#list languages 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 <#list json["document_pdfDMTBASICDOCUMENT"]?keys as pdf_language> 
411 <#if pdf_language?has_content > 
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 </#if> 
436 </#list> 
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.laufendenummer?has_content !isACColorScheme() && !isVLCColorScheme() && !isDPMColorScheme()> 
460 <div>  
461 <div id="publicationVerbundPagination"> 
462 <@AMPublicationCarousel data.meta.laufendenummer data.meta.date data.meta.coverImg /> 
463 </div> 
464 </div> 
465 </#if> 
466 
467<#elseif (editmode?? && editmode)> 
468 <@errorMessage languageUtil.get(locale, "kein.journalArticle.gefunden") "ADT_KASDE_DYNAMIC_INTRO" layouttpl currentUrl /> 
469</#if> 

资产发布器

Schon Konrad Adenauer war der Auffassung, dass die Kommunalpolitik die beste Schule für junge Politiker sei. Dass ein Politiker aber – ausgehend von der Kommunalpolitik – in einer langen Laufbahn auf allen politisch-parlamentarischen Ebenen gestaltend wirkt, ist ein selten zu beobachtendes Phänomen. Der ehemalige Vorsitzende der Konrad-Adenauer-Stiftung kann in der Tat auf eine ungewöhnlich lange und vielfältige politische Karriere zurück blicken.

Herkunft, Familie, Ausbildung

Günter Rinsche kam am 13. Juli 1930 als eines von vier Kindern des Elektro-Ingenieurs Heinrich Rinsche und seiner Ehefrau Agnes geb. Kemper im westfälischen Hamm zur Welt. Zum Abschluss seiner kriegsbedingt verzögerten Schulausbildung legte er 1951 am Hammer Freiherr-vom-Stein-Gymnasium das Abitur ab und nahm anschließend ein Studium der Rechts- und Staatswissenschaften an der Westfälischen Wilhelms-Universität Münster auf. 1952 gehörte Günter Rinsche zu den ersten deutschen Studenten, die in den Genuss des renommierten Fulbright-Stipendiums kamen und verbrachte ein Studienjahr in Colorado Springs. Es war dies der Beginn eines lebenslangen Einsatzes für internationale Zusammenarbeit und Verständigung. Über seine Erfahrungen in den USA verfasste er „Berichte eines Studenten aus Amerika“ für den „Westfälischen Anzeiger“. Nach der Rückkehr setzte er sein Studium an der Universität zu Köln fort, wo er im Wahlfach Politische Wissenschaften Schüler des früheren Reichskanzlers Heinrich Brüning war, bei dem er eine mit „sehr gut“ bewertete Diplom-Arbeit über das amerikanische Parteiensystem verfasste. Mit dem gleichen Prädikat legte er 1956 sein Examen als Diplom-Volkswirt ab.

Beruflicher Werdegang

1956 bis 1958 war Günter Rinsche im väterlichen Unternehmen tätig, ehe er Wissenschaftlicher Assistent am Institut für Mittelstandsforschung der Universität Köln wurde. Dort wurde er 1959 mit einer Arbeit aus dem Bereich der sozial-ökonomischen Verhaltensforschung zum Dr. rer. pol. promoviert. 1961 übernahm er die Leitung der Arbeitsgruppe „Grundsatzfragen des Mittelstands“ im Ministerium für Wirtschaft, Mittelstand und Verkehr des Landes Nordrhein-Westfalen und 1964/65 eine Sonderaufgabe im Landesamt für Forschung. Rinsche, der 1982 zum Honorarprofessor an der Universität Münster ernannt wurde, betätigte sich neben seinen politischen Ämtern weiterhin in der akademischen Lehre und wurde, nach einem Urteil des „Rheinischen Merkur“ von 1995, zum „Grenzgänger zwischen Wissenschaft und Politik“.

Der „Kennedy des Ruhrgebiets“: Jüngster Oberbürgermeister Deutschlands

Während des Studiums trat Günter Rinsche der CDU und der Jungen Union bei, deren Kreissprecher er von 1956 bis 1959 war. Rückblickend auf eine 50jährige Mitgliedschaft erklärte er 2004, die führenden Persönlichkeiten – Konrad Adenauer und Ludwig Erhard – hätten ihn seinerzeit ebenso überzeugt wie die aus dem christlichen Menschenbild hervorgehenden Prinzipien der Partei. Seine kommunalpolitische Laufbahn vollzog sich in atemberaubendem Tempo: 1956 wurde er jüngster Ratsherr der Stadt Hamm und 1964 im Alter von 34 Jahren jüngster Oberbürgermeister der Bundesrepublik. Ausdruck des über alle Parteigrenzen hinweg erworbenen Ansehens war seine mit den Stimmen aller Ratsfraktionen erfolgte Wiederwahl im Jahre 1969. In seine bis 1979 dauernde Amtszeit als Oberbürgermeister fiel die tiefgreifende Veränderung der Struktur der Stadt im Zuge der kommunalen Neugliederungen von 1968 und 1975, die er in enger Abstimmung mit den Vertretern aller Parteien maßgeblich prägte. Es entstand die neue Großstadt Hamm mit mehr als verdoppelter Einwohnerzahl und verzehnfachter Fläche. Ein besonderer Höhepunkt seiner Amtszeit war das 1976 mit einer Fülle von Veranstaltungen begangene 750jährige Stadtjubiläum. Als führender Kommunalpolitiker gehörte er dem Hauptausschuss des Deutschen Städtetages an und war 1978/79 Präsident des Städtetages Nordrhein-Westfalen. Seine während des Studienaufenthalts in den USA geknüpften Kontakte nutzte er, um eine Städtepartnerschaft mit Santa Monica anzubahnen. Nach der Kommunalwahl von 1979, die die SPD in Hamm knapp vor der CDU gewann, schied Rinsche aus dem Amt des Oberbürgermeisters aus.

Parlamentarier in Bonn, Düsseldorf und Straßburg

Bei der Bundestagswahl 1965 wurde Günter Rinsche im Wahlkreis Lüdinghausen-Lünen-Hamm als Direktkandidat in den Deutschen Bundestag gewählt. Gemeinsam mit ihm zogen u.a. Bernhard Vogel, Heiner Geißler und Manfred Wörner erstmals in das Bonner Parlament ein. Eine Tageszeitung berichtete damals unter der Überschrift „Die jungen Löwen im Wartestand“ über die neuen Gesichter in der CDU/CSU-Fraktion, die auch Ausdruck eines Generationenwechsels waren. Rinsche wurde u.a. im Ausschuss für Kommunalpolitik, Städtebau und Wohnungswesen sowie im Wirtschaftsausschuss tätig. Nach der Wiederwahl 1969 übernahm er den stellvertretenden Vorsitz im Ausschuss für wirtschaftliche Zusammenarbeit – Beleg für sein Interesse an internationaler Zusammenarbeit.

Bereits im Vorfeld der nordrhein-westfälischen Landtagswahl von 1970 hatte der frühere Ministerpräsident Franz Meyers, der sich stets um die Förderung junger Talente bemühte, den damals gerade 40jährigen Rinsche, der als Hoffnungsträger der Union in Nordrhein-Westfalen galt parteiintern als möglichen Spitzenkandidaten der Union ins Gespräch gebracht. Heinrich Köppler, der schließlich als Herausforderer von SPD-Ministerpräsident Heinz Kühn nominiert wurde, berief ihn in sein Schattenkabinett, ebenso im Vorfeld der Landtagswahl 1975. Zudem übernahm Rinsche nun den Vorsitz im Wahlkampfvorbereitungsausschuss der CDU Nordrhein-Westfalen. Nach einem engagiert und innovativ geführten Wahlkampf unter dem Slogan „Wir schaffen wieder Sicherheit! Wählt den politischen Frühling!“ erreichte die Partei mit 47,1% das bis heute zweitbeste Landtagswahlergebnis ihrer Geschichte, verblieb aber dennoch in der Opposition. Rinsche wechselte von Bonn in den Düsseldorfer Landtag, wo er von 1975 bis 1980 wirtschaftspolitischer Sprecher seiner Fraktion war.

Am 10. Juni 1979 wurde er bei der ersten Direktwahl in das Europäische Parlament gewählt. Von nun an war Straßburg der Mittelpunkt seines politischen Wirkens. Er wurde Mitglied des Vorstandes der EVP-Fraktion und war von 1989 bis 1999 Vorsitzender der CDU/CSU-Gruppe. Zudem war er Präsident der EP-Delegation für die Beziehungen zu den ASEAN-Staaten, der Region Indochina und der Republik Korea und als Vorsitzender der EP-Konferenz der interparlamentarischen Delegationen mitverantwortlich für die weltweiten Kontakte und Beziehungen des Europäischen Parlaments. Bis heute genießt Günter Rinsche hohes Ansehen vor allem im asiatischen Raum. Selbstkritisch äußerte er, der die europäische Integration stets als „grundlegende Investition für die Zukunftssicherung der Europäer“ betrachtete, sich zu der Tatsache, dass das Europäische Parlament sich oftmals nicht genügend auf die wichtigen Themen konzentriere: „Wenn im brasilianischen Urwald ein Teich mit seltenen Kröten in Gefahr ist, muss sich das nicht unbedingt in einem Dringlichkeitsantrag widerspiegeln.“ In den 20 Jahren seiner politischen Arbeit in Straßburg war Rinsche, nach einem Urteil der „Frankfurter Allgemeinen Sonntagszeitung“, „die stille Klammer zwischen Bundeskanzler Helmut Kohl und all dem, was zu Europa gehört“.

Vorsitzender der Konrad-Adenauer-Stiftung

Als Günter Rinsche am 17. März 1995 als Nachfolger von Bernhard Vogel, der als Ministerpräsident und Landesparteivorsitzender nach Thüringen gegangen war, Vorsitzender der Konrad-Adenauer-Stiftung wurde, war er der Institution seit langem eng verbunden. Seit 1968 gehörte er Vorstand an, war seit 1973 als Vorsitzender des Planungsausschusses mitverantwortlich für die Entwicklung der Stiftungsarbeit im In- und Ausland und als solcher mit ihren vielfältigen Aufgaben und Arbeitsfeldern bestens vertraut. Aufgrund seines damaligen Amtes als Oberbürgermeister war er u.a. am Aufbau des „Instituts für Kommunalwissenschaften“ beteiligt gewesen und hatte angesichts seines früh entwickelten Interesses an der Entwicklungspolitik auch an der internationalen Arbeit der Stiftung mitgewirkt. Als deren Ziel kennzeichnete er einmal das Bestreben, „überall in Partnerschaft mit jeweiligen einheimischen Organisationen und Persönlichkeiten die Voraussetzungen für ein menschenwürdiges Leben in sozialer Gerechtigkeit und in Freiheit zu schaffen, so weit das überhaupt möglich ist“. In seine 6jährige Amtszeit als Vorsitzender fielen die Erweiterung und der Ausbau des Stiftungsengagements in Ost- und Südosteuropa, eine Strukturänderung an der Spitze der Stiftung, durch die die Funktionen des bisherigen geschäftsführenden Vorsitzenden und des Hauptgeschäftsführers im neugeschaffenen Amt des Generalsekretärs zusammengefasst wurden und die Eröffnung des neuen Hauses der KAS in der Nähe des Tiergartens in Berlin. Bei dieser Gelegenheit äußerte er in Anwesenheit Helmut Kohls den Wunsch, das Haus möge „das Haus der Bürger, der Besucher, der Vermittler von Informationen und der lebendigen Demokratie werden“. 2001 legte Günter Rinsche die Leitung der Stiftung wieder in die Hände von Bernhard Vogel. Der KAS ist er bis heute als Mitglied des Vorstands verbunden. Dass der Inhaber eines Amtes dieses an einen Nachfolger weitergibt, der bereits sein Vorgänger gewesen war, ist sicher kein alltäglicher Vorgang. Günter Rinsche vollzog diesen Schritt indes bereits zum zweiten Mal: Auch sein Nachfolger im Amt des Hammer Oberbürgermeisters, der Sozialdemokrat Werner Figgen, war schon sein Vorgänger gewesen.

Günter Rinsche, der als seine Hauptcharakterzüge „Neugier und Mangel an Geduld“ nennt, ist seit 1990 Ehrenbürger der Stadt Hamm, Träger zahlreicher nationaler und internationaler Auszeichnungen und nach wie vor ein gefragter Redner im In- und Ausland. Am 13. Juli vollendet er sein 80. Lebensjahr.

Christopher Beckmann

Nachlass:

Der schriftliche Nachlass von Günter Rinsche liegt im Archiv für Christlich-Demokratische Politik (Signatur 01-332).

Literatur:

  • Günter Beaugrand: Die Konrad-Adenauer-Stiftung. Eine Chronik in Berichten und Interviews mit Zeitzeugen. Sankt Augustin 2003.
  • Wilhelm Ribhegge/Eva-Maria Schönbach/Manfred Witt: Geschichte der Stadt und Region Hamm im 19. und 20. Jahrhundert. Düsseldorf 1991.
  • Günter Rinsche/Ingo Friedrich (Hg.): Weichenstellung für das 20. Jahrhundert. Erfordernisse und Perspektiven der europäischen Integration. Köln/Weimar/Wien 1998.
  • Günter Rinsche: Die Bedeutung christlicher Demokraten für die Entwicklung Europas. In: Wolfram Hilz u.a. (Hg.): Auf dem Weg zu mehr Demokratie und Bürgernähe. Europas Zukunft nach dem Lissabonner Vertrag. Sankt August/Berlin 2009, S. 129–142.

资产发布器

接触

Hanns Jürgen Küsters

接触

Dr. Christopher Beckmann

Dr

Referent Publikationen/ Bibliothek

christopher.beckmann@kas.de +49 2241 246-2581 +49 2241 246-2669