Fehler bei der Verarbeitung der Vorlage.
The following has evaluated to null or missing:
==> formular.neuesFenster [in template "33417#33452#717531" at line 1042, column 22]
----
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 formular.neuesFenster [in template "33417#33452#717531" in macro "onlineServices180" at line 1042, column 17]
- Reached through: @onlineServices180 idTopLink, idBotto... [in template "33417#33452#717531" at line 557, column 13]
----
1<#assign
2 suchergebnisDienstleistung = vr.bis2017.suchergebnisDienstleistung
3 suchergebnisEinrichtung = vr.bis2017.suchergebnisEinrichtung
4 suchergebnisMitarbeiter = vr.bis2017.suchergebnisMitarbeiter
5>
6
7<#assign mitarbeiterShow = "vr-bis-detail-mitarbeiter-show">
8<#assign einrichtungShow = "vr-bis-detail-einrichtung-show">
9<#assign dienstleistungShow = "vr-bis-detail-dienstleistung-show">
10
11
12<#assign current_url_WithHtml = themeDisplay.getPortalURL()>
13<#assign current_uri_WithHtml = themeDisplay.getURLCurrent()>
14
15<#assign login_url1_WithHtml = 'href="/home?p_p_id=com_liferay_login_web_portlet_LoginPortlet&p_p_lifecycle=0&_com_liferay_login_web_portlet_LoginPortlet_redirect='>
16<#assign login_url2_WithHtml = '#login" rel="nofollow" data-redirect="true"'>
17<#assign login_url_WithHtml = login_url1_WithHtml + current_uri_WithHtml + login_url2_WithHtml>
18
19
20
21<#assign plid = themeDisplay.getPlid()>
22<#assign createAccountURL = portletURLFactory.create(renderRequest,"com_liferay_login_web_portlet_LoginPortlet", plid,
23"RENDER_PHASE")>
24${createAccountURL.setParameter("mvcRenderCommandName", "/login/create_account")}
25${createAccountURL.setParameter("p_p_state", "maximized")}
26${createAccountURL.setParameter("p_p_mode", "view")}
27
28<#-- ----------------------------------------------------------------------------------------------
29Ansicht für Suchergebnisse "bisview-suchergebnis"
30----------------------------------------------------------------------------------------------- -->
31<style>
32 .selected {
33 outline: 3px solid #FFC04C;
34 }
35</style>
36
37<div id="search-dropdown">
38 <div id="resp">
39 <#if vr??>
40 <div class="row mt-3">
41 <div class="col-12">
42 <div class="search-detail">
43
44 <#if suchergebnisDienstleistung?size == 0 &&
45 suchergebnisEinrichtung?size == 0 &&
46 suchergebnisMitarbeiter?size == 0 &&
47 !dienstleistung?? &&
48 !mitarbeiter?? &&
49 !einrichtung??> <#-- Keine Treffer zur Suchanfrage -->
50 <p>Es gab keine Treffer zu Ihrer Suchanfrage.</p>
51 <#else>
52 <div class="row" id="quickSuggestions">
53 <div class="col-sm-12 col-md-4">
54 <div class="mb-md-2">
55 <span class="fsML">Dienstleistungen (${suchergebnisDienstleistung?size})</span>
56 </div>
57 <#if (suchergebnisDienstleistung?size > 0)>
58 <#list suchergebnisDienstleistung as sDL>
59 <div class="ml-2 ml-md-0">
60 <a href="${utils.getDienstleistungUrl(sDL.id)}" class="cBlue underline">${sDL.name}</a>
61 </div>
62 </#list>
63 </#if>
64 </div>
65 <div class="col-12 col-md-4">
66 <div class="mb-md-2 mt-2 mt-md-0">
67 <span class="fsML">Ämter & Einrichtungen (${suchergebnisEinrichtung?size})</span>
68 </div>
69 <#if (suchergebnisEinrichtung?size > 0)>
70 <#list suchergebnisEinrichtung as sEin>
71 <div class="ml-2 ml-md-0">
72 <a href="${utils.getEinrichtungUrl(sEin.id)}" class="cBlue underline">${sEin.name}</a>
73 </div>
74 </#list>
75 </#if>
76 </div>
77 <div class="col-sm-12 col-md-4">
78 <div class="mb-md-2 mt-2 mt-md-0">
79 <span class="fsML">Mitarbeiter (${suchergebnisMitarbeiter?size})</span>
80 </div>
81 <#if (suchergebnisMitarbeiter?size > 0)>
82 <#list suchergebnisMitarbeiter as sMa>
83 <div class="ml-2 ml-md-0">
84 <a href="${utils.getMitarbeiterUrl(sMa.id)}" class="cBlue underline">${sMa.name}</a>
85 </div>
86 </#list>
87 </#if>
88 </div>
89 </div>
90 </#if>
91 </div>
92 </div>
93 </div>
94 </#if>
95 </div>
96</div>
97<script>
98
99 let shiftEnabled = false;
100
101 jQuery(document).ready( function () {
102 if(jQuery('#form-element-query')){
103 const searchbox = jQuery('#form-element-query');
104 searchbox.removeAttr('placeholder');
105 if(searchbox.val() != ''){
106 searchbox.parent().append('<label id="searchBoxLabel" for="form-element-query" class="searchLabel active">Was können wir für dich tun?</label>').css('z-index','1')
107 }else {
108 searchbox.parent().append('<label id="searchBoxLabel" for="form-element-query" class="searchLabel">Was können wir für dich tun?</label>').css('z-index','1')
109 }
110
111 const label = jQuery('#searchBoxLabel');
112 label.click(function() {
113 document.getElementById('form-element-query').focus();
114 label.addClass('active')
115 });
116 searchbox.on({
117 focus: function() {activateSearchLabel()},
118 blur: function() {disactivateSearchLabel()},
119 keydown: function() {checkShift(event, true);manipulateFocusInput(event);keyCodeNavigation(event)},
120 });
121 searchbox.off('keyup').on('keyup', function() {checkShift(event, false)});
122 searchbox.attr({autocomplete: 'off'});
123 }
124 });
125 function activateSearchLabel() {
126 var label = document.getElementById("searchBoxLabel");
127 label.className = "searchLabel active";
128 }
129 function disactivateSearchLabel() {
130 var label = document.getElementById("searchBoxLabel");
131 var input = document.getElementById("form-element-query");
132 if(input.value==""){
133 label.className = "searchLabel";
134 }
135 }
136
137 window.addEventListener("keydown", function(event) {
138 checkShift(event, true)
139 });
140 window.addEventListener("keyup", function(event) {
141 checkShift(event, false)
142 });
143
144 function searchDropDownVisible() {
145 var suggestions = document.getElementById("search-dropdown");
146 return suggestions.style.display != "none";
147 }
148
149
150 function manipulateFocusInput(e) {
151 if (e.keyCode == 9 && !shiftEnabled) {
152 e.preventDefault();
153 var button = document.getElementById("form-element-suche-submit");
154 button.focus();
155 }
156 }
157
158 function keyCodeNavigation(e) {
159 var row = document.getElementById("quickSuggestions");
160 if(row != null){
161 var LEFT = 37,
162 UP = 38,
163 RIGHT = 39,
164 DOWN = 40,
165 ESC = 27,
166 ENTER = 13,
167 SPACE = 32;
168 var kcode = e.keyCode;
169
170
171 var input = document.getElementById("form-element-query");
172 var allA = row.getElementsByTagName("a");
173
174 if (searchDropDownVisible()) {
175 if ((kcode == ENTER || kcode == SPACE) && isASelected()) {
176 e.preventDefault();
177 if (allA[getSelectedAIndex()]) {
178 var val = allA[getSelectedAIndex()].text;
179 input.value = val;
180 unselectAll();
181 window.location.href = allA[getSelectedAIndex()].href
182 }
183 }
184 if (kcode == ESC && isASelected()) {
185 unselectAll();
186 }
187 if (kcode == DOWN) {
188 e.preventDefault();
189 if (!isASelected()) {
190 selectAByIndex(0)
191 } else {
192 var selectedTD = getSelectedAIndex();
193 selectAByIndex((selectedTD + 1) % allA.length);
194 }
195 }
196 if (kcode == UP && isASelected()) {
197 e.preventDefault();
198 if (!isASelected()) {
199 selectAByIndex(0)
200 } else {
201 var selectedTD = getSelectedAIndex();
202 nextIDX = (selectedTD - 1) % allA.length;
203 if (nextIDX < 0) {
204 nextIDX = allA.length + nextIDX;
205 }
206 selectAByIndex(nextIDX);
207
208 }
209 }
210 if (kcode == RIGHT && isASelected()) {
211 e.preventDefault();
212 if (!isASelected()) {
213 selectAByIndex(0)
214 } else {
215 const selectedTD = getSelectedAIndex();
216 //identify col
217 let countedAs = 0;
218 let corrCol = 0;
219 let posInCol = 0;
220 for(let i = 0; i< row.children.length; i++){
221 const rowChildren = row.children[i].getElementsByTagName("a");
222 for(let j = 0; j < rowChildren.length; j++){
223 if (rowChildren[j] === allA[selectedTD]){
224 corrCol = i;
225 posInCol = j+1;
226 break;
227 }
228 }
229 }
230 //get corresponding id of next col
231 let nextColId = -1;
232 for(let i = corrCol+1; i< corrCol + row.children.length; i++){
233 if(row.children[i % countCols()].getElementsByTagName("a").length >0){
234 nextColId = i%countCols();
235 break;
236 }
237 }
238 //identify position in next col and calc the index
239 if(nextColId > -1){
240 const posInNextCol = Math.min(row.children[nextColId].getElementsByTagName("a").length, posInCol);
241 const nextIndexAddition = selectedTD + (row.children[corrCol].getElementsByTagName("a").length - posInCol)+ posInNextCol;
242 selectAByIndex(nextIndexAddition % allA.length);
243 }
244
245 }
246 }
247 if (kcode == LEFT && isASelected()) {
248 e.preventDefault();
249 if (!isASelected()) {
250 selectAByIndex(0)
251 } else {
252 const selectedTD = getSelectedAIndex();
253 //identify col
254 let countedAs = 0;
255 let corrCol = 0;
256 let posInCol = 0;
257 for(let i = 0; i< row.children.length; i++){
258 const rowChildren = row.children[i].getElementsByTagName("a");
259 for(let j = 0; j < rowChildren.length; j++){
260 if (rowChildren[j] == allA[selectedTD]){
261 corrCol = i;
262 posInCol = j+1;
263 break;
264 }
265 }
266 }
267 //get corresponding id of next col
268 let nextColId = -1;
269 for(let i = corrCol-1; i> corrCol - countCols(); i--){
270 let modIndex = i;
271 if(i < 0) modIndex = modIndex + countCols();
272 if(row.children[modIndex].getElementsByTagName("a").length >0){
273 nextColId = modIndex;
274 break;
275 }
276 }
277 //identify position in next col and calc the index
278 if(nextColId > -1){
279 const posInNextCol = Math.min(row.children[nextColId].getElementsByTagName("a").length, posInCol);
280 const nextIndexSubtraction = selectedTD -posInCol - (row.children[nextColId].getElementsByTagName("a").length - posInNextCol);
281 selectAByIndex(nextIndexSubtraction % allA.length);
282 }
283 }
284 }
285 }
286 }
287
288
289
290 function unselectAll() {
291 for (var i = 0; i < allA.length; i++) {
292 allA[i].parentElement.removeAttribute("class");
293 allA[i].parentElement.classList = "ml-2 ml-md-0";
294 allA[i].removeAttribute("aria-selected");
295 input.removeAttribute("aria-activedescendant");
296 }
297 }
298
299 function getSelectedAIndex() {
300 idx = 0;
301 for (var i = 0; i < allA.length; i++) {
302 if (allA[i].parentElement.className.indexOf("selected")>=0) {
303 idx = i;
304 }
305 }
306 return idx;
307 }
308
309 function countCols() {
310 return row.children.length;
311 }
312
313 function selectAByIndex(idx) {
314 unselectAll();
315 allA[idx].parentElement.classList = "ml-2 ml-md-0 selected";
316 allA[idx].parentElement.setAttribute("aria-selected", "true");
317 input.setAttribute("aria-activedescendant", allA[idx].id)
318 }
319 }
320
321 function isASelected() {
322 var isSelected = false;
323 const allA = document.getElementById("quickSuggestions").getElementsByTagName("a")
324 for (var i = 0; i < allA.length; i++) {
325 if (allA[i].parentElement.className.includes("selected")) {
326 isSelected = true;
327 }
328 }
329 return isSelected;
330 }
331
332 function checkShift(e, enable) {
333 if (e.keyCode == 16) {
334 shiftEnabled = enable
335 }
336 if(![37,38,39,40,9,13].includes(e.keyCode)){
337 if (jQuery(".search-form input").val().length > 1) {
338 jQuery('#search-dropdown').show();
339 jQuery.ajax({
340 url: url2,
341 data: {
342 query: jQuery(".search-form input").val()
343 },
344 type: 'POST',
345 success: function(data) {
346 jQuery('#resp').html($(data).find("#resp"));
347 jQuery('#wait').hide();
348 }
349 });
350 } else {
351 jQuery('#search-dropdown').hide();
352 }
353 }
354 }
355
356</script>
357<#-- ----------------------------------------------------------------------------------------------
358Detailansicht für Dienstleistungen, Einrichtungen und Mitarbeiter. ("bisview-detail")
359----------------------------------------------------------------------------------------------- -->
360<#if vr?has_content>
361 <#assign
362 vr = vr
363 utils = vr.utils2017
364 ansicht = utils.ansicht
365 bis2017 = vr.bis2017
366/>
367<#-- ----------------------------------------------------------------------------------------------
368Detailansicht Einrichtung
369----------------------------------------------------------------------------------------------- -->
370
371<#if bis2017.ausgewaehlteEinrichtung??>
372<#-- Einrichtungen -->
373 <#assign
374 einrichtung = bis2017.ausgewaehlteEinrichtung
375 />
376<div>
377 <div class="row mb-5">
378 <h2 class="pageheader"><span class="icon-door"></span>${einrichtung.name}</h2>
379 </div>
380
381 <div class="row">
382 <div class="col-8 nopadleft">
383 <div class="fsM cGray lh35 mb-5">
384 ${einrichtung.beschreibung}
385 </div>
386 <#if (einrichtung.dienstleistungList?size > 0)>
387 <h2 class="fsXL mb-4 mt-5"><b>Dienstleistungen</b></h2>
388 <div class="mb-5">
389 <ul class="detaillist dienstleistungen fsM">
390 <#list einrichtung.dienstleistungList as dl>
391 <li><a tabindex="0" href="${utils.getDienstleistungUrl(dl.id)}" class="cBlue">${dl.name}</a></li>
392 </#list>
393 </ul>
394 </div>
395 </#if>
396 <#if (einrichtung.mitarbeiterList?size > 0)>
397 <h2 class="fsXL mb-4 mt-5"><b>Mitarbeiterinnen und Mitarbeiter</b></h2>
398 <#list einrichtung.mitarbeiterList as ma>
399 <div class="card white mb-4 nobutton padleft">
400 <div class="card-body">
401 <h3 class="card-title cBlue fsM mb-1"><span class="icon-user" style="margin-left: -30px; margin-right: 10px;"></span> <b id="mitarbeiter_a">${ma.anrede} ${ma.nachname}</b></h3>
402 <p class="card-text cGray fsSM"> ${ma.funktion} </p>
403
404 <#assign i = 0>
405 <#if ma.telefonnummer?has_content>
406 <div class="cardtabletext">
407 <p><span class="icon-phone" style="font-size: 13px !important; margin-right: 5px;"></span> ${ma.telefonnummer}</p>
408 </div>
409 <#assign i = 1>
410 </#if>
411 <#if ma.email?has_content>
412 <#if (i >= 1)>
413 <span class="cardtabletextspan">|</span>
414 </#if>
415 <div class="cardtabletext">
416 <a tabindex="0" href="mailto:${ma.email}" class="cBlue" aria-describedby="mitarbeiter_a">
417 <b><span class="icon-mail" style="font-size: 13px !important; margin-right: 5px;"></span> E-Mail senden</b>
418 </a>
419 </div>
420 <#assign i = 1>
421 </#if>
422 <#if ma.raum?has_content>
423 <#if (i >= 1)>
424 <span class="cardtabletextspan">|</span>
425 </#if>
426 <div class="cardtabletext">
427 <span class="icon-mapmarker" style="font-size: 13px !important; margin-right: 5px;"></span> ${ma.raum}
428 </div>
429 </#if>
430 </div>
431 </div>
432 </#list>
433 </#if>
434 </div>
435 <div class="col-4">
436 <div class="card blue darkbluegradient nobutton mb-5">
437 <div class="card-body">
438 <h3 class="card-title fsML mb-4"><b>Kontakt</b></h3>
439 <div class="card-text marginspans fsS">
440 <b id="kontakt_a">${einrichtung.name}</b><br>
441 ${einrichtung.strasse} ${einrichtung.hausnummer}<br>
442 ${einrichtung.postleitzahl} ${einrichtung.ort}<br>
443 <br>
444 <#if einrichtung.telefonnummer?has_content>
445 <p><span class="icon-phone" style="margin-right: 10px; font-size: 15px !important;"></span>${einrichtung.telefonnummer}<br></p>
446 </#if>
447 <#if einrichtung.faxnummer?has_content>
448 <p><span class="icon-fax" style="margin-right: 10px; font-size: 15px !important;"></span>${einrichtung.faxnummer}<br></p>
449 </#if>
450 <#if einrichtung.email?has_content>
451 <p><a aria-describedby="kontakt_a" tabindex="0" href="mailto:${einrichtung.email}" class="cWhite"><span class="icon-mail" style="margin-right: 10px; font-size: 15px !important;"></span>E-Mail senden</a><br></p>
452 </#if>
453 <#assign setCleverq = false>
454 <#list einrichtung.internetadressen as adresse>
455 <#if adresse.uri?starts_with('https://cqm.cleverq.de') && !setCleverq>
456 <p><a aria-describedby="kontakt_a" id="amt-online-termin" tabindex="0" href="${adresse.uri}" class="cWhite"><span class="icon-calendar" style="margin-right: 10px; font-size: 15px !important;"></span>Termin vereinbaren</a></p>
457 <#assign setCleverq = true>
458 </#if>
459 </#list>
460 </div>
461 </div>
462 </div>
463 <#if einrichtung.servicezeiten?has_content>
464 <div class="card blue darkbluegradient nobutton">
465 <div class="card-body">
466 <h3 class="card-title fsML mb-4"><b>Servicezeiten</b></h3>
467 <p class="card-text fsS">
468 ${einrichtung.servicezeiten}
469 </p>
470 </div>
471 </div>
472 </#if>
473 </div>
474 </div>
475</div>
476<#assign setCleverq = false>
477<#list einrichtung.internetadressen as adresse>
478<#if adresse.uri?starts_with('https://cqm.cleverq.de') && !setCleverq>
479<script>
480 jQuery(document).ready( function () {
481 jQuery('.onlinetermin').attr('href', '${adresse.uri}');
482 });
483</script>
484<#assign setCleverq = true>
485</#if>
486</#list>
487<#if !setCleverq>
488<script>
489 jQuery(document).ready( function () {
490 jQuery('.onlinetermin').remove();
491 });
492</script>
493</#if>
494</#if>
495
496<#-- ----------------------------------------------------------------------------------------------
497Detailansicht Dienstleistung
498----------------------------------------------------------------------------------------------- -->
499
500<#if bis2017.ausgewaehlteDienstleistung??>
501 <#-- Dienstleistungen -->
502 <#assign
503 dienstleistung = bis2017.ausgewaehlteDienstleistung
504 >
505
506
507<div class="">
508
509 <div class="row mb-5"> <#-- Volle Breite -->
510 <h2 class="pageheader">
511 <span class="icon-clipboard"></span>
512 ${dienstleistung.name}
513 </h2>
514 </div>
515
516 <div class="row"> <#-- Zwei Spalten -->
517
518 <div class="col-8 nopadleft"> <#-- Linke Spalte -->
519 <div class="fsM cGray lh35 mb-5">
520 <#if dienstleistung.kurzbeschreibung?has_content>
521 <p>
522 ${dienstleistung.kurzbeschreibung}
523 </p>
524 </#if>
525 <#if dienstleistung.beschreibung?has_content>
526 <p>
527 ${dienstleistung.beschreibung}
528 </p>
529 </#if>
530 <#if dienstleistung.weitereInfos?has_content>
531 <p>
532 ${dienstleistung.weitereInfos}
533 </p>
534 </#if>
535 </div>
536 <#assign showDLPersoLogo = false>
537 <#assign showDLMoneyIcon = false>
538 <#assign showDLLockIcon = false>
539
540 <#assign idTopLink = "onlineservicesMid">
541 <#assign idBottomLink = "onlineservicesIconsMid">
542 <#assign linkCss = "width: 100%;text-align: left;">
543 <#assign linkClass = "btn btn-primary">
544
545 <#assign lockIcon = '<svg role="img" aria-label="Schlossicon. Für diese Dienstleistung ist eine Anmeldung erforderlich" style="height:15px !Important" class="" xmlns="http://www.w3.org/2000/svg" fill="currentColor" class="bi bi-lock-fill" viewBox="0 0 16 16"><path d="M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2z"/></svg>'>
546 <#assign moneyIcon = '<svg role="img" aria-label="Geldicon. Diese Dienstleitung ist kostenpflichtig" style="height:15px !Important" width="16" height="16" fill="currentColor" class="bi bi-credit-card" viewBox="0 0 16 16"><path d="M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2-1a1 1 0 0 0-1 1v1h14V4a1 1 0 0 0-1-1H2zm13 4H1v5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V7z"/><path d="M2 10a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-1z"/></svg>'>
547 <#assign persoIcon = ''>
548 <#assign beforeLinkTitle = "">
549
550 <#assign dlNeedsLogin = 'Diese Dienstleistung erfordert eine Anmeldung.'>
551 <#assign dlNeedsEidLogin = 'Anmeldung mit elektronischen Personalausweis erforderlich.'>
552 <#assign dlHasCosts = 'Diese Dienstleitung ist kostenpflichtig.'>
553 <#assign dlAndHasCosts = 'und ist kostenpflichtig'>
554
555 <#assign internetAdressen = false>
556 <#assign eIDLoginURLLevel = '/home#login'>
557 <@onlineServices180 idTopLink idBottomLink dienstleistung linkCss linkClass beforeLinkTitle lockIcon persoIcon moneyIcon dlNeedsLogin dlNeedsEidLogin dlHasCosts dlAndHasCosts internetAdressen eIDLoginURLLevel />
558
559 <#assign iconLegendLockInfo = "Anmeldung erforderlich">
560 <#assign iconLegendMoneyInfo = "Kostenpflichtig">
561 <#assign iconLegendPersoInfo = "Anmeldung mit elektronischen Personalausweis erforderlich">
562 <#assign persoIcon = "">
563
564 <@iconLegendList15 idBottomLink idTopLink "black" persoIcon iconLegendPersoInfo lockIcon iconLegendLockInfo moneyIcon iconLegendMoneyInfo />
565
566 <div class="fsM cGray lh35 mb-5 mt-5">
567 <#if dienstleistung.voraussetzungen?has_content>
568 <hr>
569 <h4>Voraussetzungen</h4>
570 <p>
571 ${dienstleistung.voraussetzungen}
572 </p>
573 </#if>
574 <#if dienstleistung.bearbeitungsdauer?has_content>
575 <hr>
576 <h4>Bearbeitungsdauer</h4>
577 <p>
578 ${dienstleistung.bearbeitungsdauer}
579 </p>
580 </#if>
581 <#if dienstleistung.verfahrensablauf?has_content>
582 <hr>
583 <h4>Verfahrensablauf</h4>
584 <P>
585 ${dienstleistung.verfahrensablauf}
586 </P>
587 </#if>
588 <#if dienstleistung.unterlagen?has_content>
589 <hr>
590 <h4>Unterlagen</h4>
591 <p>
592 ${dienstleistung.unterlagen}
593 </p>
594 </#if>
595 <#if dienstleistung.fristen?has_content>
596 <hr>
597 <h4>Fristen</h4>
598 <p>
599 ${dienstleistung.fristen}
600 </p>
601 </#if>
602 <#if dienstleistung.rechtsgrundlagen?has_content>
603 <hr>
604 <h4>Rechtsgrundlagen</h4>
605 <p>
606 ${dienstleistung.rechtsgrundlagen}
607 </p>
608 </#if>
609 <#if dienstleistung.rechtsbehelf?has_content>
610 <hr>
611 <h4>Rechtsbehelf</h4>
612 <p>
613 ${dienstleistung.rechtsbehelf}
614 </p>
615 </#if>
616 <#if dienstleistung.hinweiseBesonderheiten?has_content>
617 <hr>
618 <h4>Besonderheiten</h4>
619 <p>
620 ${dienstleistung.hinweiseBesonderheiten}
621 </p>
622 </#if>
623 <#if dienstleistung.kostenmodul.beschreibung?has_content || dienstleistung.kostenmodul.kosten?has_content>
624 <hr>
625 <h4>Kosten</h4>
626
627 <#if dienstleistung.kostenmodul.kosten?has_content>
628 <table>
629 <tbody>
630
631 <#list dienstleistung.kostenmodul.kosten as kosten>
632 <tr>
633 ${kosten.name}
634 <#if kosten.isKostenfrei()>
635 <td>(kostenfrei)</td>
636 <#elseif kosten.isKostenVariabel()>
637 <td>(zwischen ${utils.formatCurrency(kosten.von)}
638 und ${utils.formatCurrency(kosten.bis)} EUR)
639 </td>
640 <#else>
641 <td>(${utils.formatCurrency(kosten.von)} EUR)</td>
642 </#if>
643 <#if kosten.beschreibung?has_content>
644 <td> ${kosten.beschreibung}</td>
645 </#if>
646
647 </tr>
648 </#list>
649 </tbody>
650 </table>
651 </#if>
652
653 ${dienstleistung.kostenmodul.beschreibung}
654
655 </#if>
656
657 <#if (dienstleistung.zahlungsweisen?size > 0)>
658 <hr>
659 <h4>Zahlungsweisen</h4>
660 <p>
661 <ul>
662 <#list dienstleistung.zahlungsweisen as zw>
663 <li>
664 <p>${zw.name}</p>
665 <#if zw.beschreibung?has_content>
666 <p>${zw.beschreibung}</p>
667 </#if>
668 </li>
669 </#list>
670 </ul>
671 </p>
672 </#if>
673 </div>
674 </div>
675 <div class="col-4"> <#-- Rechte Spalte -->
676 <#if (dienstleistung.einrichtungList?size > 0)>
677 <#assign ersteEinr = dienstleistung.einrichtungList[0]>
678 <div class="card blue darkbluegradient nobutton mb-5">
679 <div class="card-body">
680 <h2 class="card-title fsML mb-4"> <b>Zuständiges Amt</b></h2>
681 <p class="card-text fsS cardtabletext marginspans">
682 <b id="zustaendiges_amt_a" class="fsM">
683 <span class="icon-right" style="font-size: 15px !important; margin-right: 10px;"></span>
684 <a class="cWhite" aria-describedby="zustaendiges_amt_a" tabindex="0" href="${utils.getEinrichtungUrl(ersteEinr.id)}" >${ersteEinr.name}</a>
685 </b>
686 <br>
687 ${ersteEinr.anschrift.strasse} ${ersteEinr.anschrift.hausnummer}
688 <br>
689 ${ersteEinr.anschrift.postleitzahl} ${ersteEinr.anschrift.ort}
690 <br>
691 <br>
692 <#if ersteEinr.telefonnummer?has_content>
693 <span class="icon-phone" style="margin-right: 10px; font-size: 15px !important;"></span>
694 <a class="cWhite" aria-describedby="zustaendiges_amt_a" tabindex="0" href="tel:${ersteEinr.telefonnummer}">
695 ${ersteEinr.telefonnummer}
696 </a>
697 <br>
698 </#if>
699 <#if ersteEinr.faxnummer?has_content>
700 <span class="icon-fax" style="margin-right: 10px; font-size: 15px !important;"></span>
701 <a class="cWhite" aria-describedby="zustaendiges_amt_a" tabindex="0" href="tel:${ersteEinr.faxnummer}">
702 ${ersteEinr.faxnummer}
703 </a>
704 <br>
705 </#if>
706 <#if ersteEinr.email?has_content>
707 <a class="cWhite" tabindex="0" href="mailto:${ersteEinr.email}" aria-describedby="zustaendiges_amt_a">
708 <span class="icon-mail" style="margin-right: 10px; font-size: 15px !important;"></span>
709 E-Mail senden
710 </a>
711 <br>
712 </#if>
713 <#assign setCleverq = false>
714 <#list dienstleistung.internetadressen as adresse>
715 <#if adresse.uri?starts_with('https://cqm.cleverq.de') && !setCleverq>
716 <a class="cWhite" id="amt-online-termin" tabindex="0" href="${adresse.uri}" target="_blank" aria-describedby="zustaendiges_amt_a" >
717 <span class="icon-calendar" style="margin-right: 10px; font-size: 15px !important;"></span>
718 Termin vereinbaren
719 </a>
720 <#assign setCleverq = true>
721 </#if>
722 </#list>
723 </p>
724 </div>
725 </div>
726 </#if>
727 <#if (dienstleistung.mitarbeiterList?size > 0)>
728 <h2 class="fsXL mb-4">
729 <b>Ansprechpartner</b>
730 </h2>
731 <#assign i = 0>
732 <#list dienstleistung.mitarbeiterList as dm>
733 <#if (i < 20)>
734 <div class="card white mb-4 nobutton padleft">
735 <div class="card-body">
736 <h3 class="card-title cBlue fsM mb-2">
737 <span class="icon-user" style="margin-left: -24px; margin-right: 10px; margin-top: 2px;"></span>
738
739 <b id="ansprechpartner_${i}">${dm.anrede} ${dm.nachname}</b>
740 </h3>
741
742 <p class="card-text marginspans fsS cGray cardtabletext">
743 <#if dm.einrichtungList?? && dm.einrichtungList?size gt 0>
744 <span class="mb-1 w-100">${dm.einrichtungList[0].name}</span>
745 </#if>
746 <#if dm.telefonnummer?has_content>
747 <#if dm.position?has_content><span class="mb-1 w-100">${dm.position}</span> </#if>
748 <br>
749 <span class="icon-phone" style="margin-right: 10px; font-size: 14px !important;"></span>
750 <a class="cBlue" aria-describedby="ansprechpartner_${i}" tabindex="0" href="tel:${dm.telefonnummer}">
751 ${dm.telefonnummer}
752 </a>
753
754 </#if>
755 <#if dm.email?has_content>
756 <br>
757 <a class="cBlue" tabindex="0" href="mailto:${dm.email}" aria-describedby="ansprechpartner_${i}">
758 <b>
759 <span class="icon-mail" style="margin-right: 10px; font-size: 14px !important;"></span>
760 E-Mail senden
761 </b>
762 </a>
763
764 </#if>
765 </p>
766 </div>
767 </div>
768 <#assign i = i + 1>
769 </#if>
770 </#list>
771 </#if>
772 </div>
773 </div>
774
775 <#assign setCleverq = false>
776 <#list dienstleistung.internetadressen as adresse>
777 <#if adresse.uri?starts_with('https://cqm.cleverq.de') && !setCleverq>
778 <script>
779 jQuery(document).ready( function () {
780 jQuery('.onlinetermin').attr('href', '${adresse.uri}');
781 });
782 </script>
783 <#assign setCleverq = true>
784 </#if>
785 </#list>
786 <#if !setCleverq>
787 <script>
788 jQuery(document).ready( function () {
789 jQuery('.onlinetermin').remove();
790 });
791 </script>
792 </#if>
793 </#if>
794
795 <#-- ----------------------------------------------------------------------------------------------
796 Detailansicht Mitarbeiter
797 ----------------------------------------------------------------------------------------------- -->
798
799 <#if bis2017.ausgewaehlterMitarbeiter??>
800 <#-- Mitarbeitende -->
801 <#assign
802 mitarbeiter = bis2017.ausgewaehlterMitarbeiter
803 />
804
805 <div>
806 <div class="row mb-5">
807 <h2 class="pageheader" id="content_result_a">
808 <span class="icon-user"></span> ${mitarbeiter.anrede} ${mitarbeiter.titel} ${mitarbeiter.nachname}
809 </h2>
810 </div>
811 <div class="row">
812 <div class="col-8 nopadleft">
813 <table class="fsS cGray w-100">
814 <tbody>
815 <#if mitarbeiter.einrichtungList?? && mitarbeiter.einrichtungList?has_content>
816 <#assign mEinrAdr = (mitarbeiter.einrichtungList[0].anschrift)!{}>
817 <tr> <th>Straße</th> <td>${(mEinrAdr.strasse)!} ${(mEinrAdr.hausnummer)!}</td> </tr>
818 <tr> <th>Ort</th> <td>${(mEinrAdr.postleitzahl)!} ${(mEinrAdr.ort)!}</td> </tr>
819 </#if>
820 <#if mitarbeiter.telefonnummer?has_content>
821 <tr> <th>Telefon</th> <td><span class="icon-phone" style="margin-right: 6px; font-size: 14px;"></span>${mitarbeiter.telefonnummer}</td> </tr>
822 </#if>
823 <#if mitarbeiter.faxnummer?has_content>
824 <tr> <th>Telefax</th> <td><span class="icon-fax" style="margin-right: 6px; font-size: 14px;"></span>${mitarbeiter.faxnummer}</td> </tr>
825 </#if>
826 <#if mitarbeiter.email?has_content>
827 <tr> <th>E-Mail-Adresse</th> <td><a tabindex="0" href="mailto:${mitarbeiter.email}" class="cBlue" aria-describedby="content_result_a"><b><span class="icon-mail" style="margin-right: 10px; font-size: 14px;"></span>E-Mail senden</b></a></td> </tr>
828 </#if>
829 <tr> <th><br></th> <td><br></td> </tr>
830 <#if mitarbeiter.einrichtungList?? && mitarbeiter.einrichtungList?has_content>
831 <#assign mEinr = (mitarbeiter.einrichtungList[0])!{}>
832 <tr> <th>Amt</th> <td>
833 <#if mEinr.id??>
834 <a tabindex="0" href="${utils.getEinrichtungUrl(mEinr.id)}" class="cBlue"><b><span class="icon-right" style="margin-right: 10px; font-size: 14px;"></span>${(mEinr.name)!}</b></a>
835 <#else>
836 ${(mEinr.name)!}
837 </#if>
838 </td> </tr>
839 <tr> <th>Gebäude</th> <td>${(mEinrAdr.zusatz)!} ${(mEinrAdr.strasse)!} ${(mEinrAdr.hausnummer)!} </td> </tr>
840 <#if mitarbeiter.raum?has_content>
841 <tr> <th>Raumnummer</th> <td>${mitarbeiter.raum}</td> </tr>
842 </#if>
843 <tr> <th>Lageplan</th> <td><a tabindex="0" href="#" class="cBlue"><b><span class="icon-mapmarker" style="margin-right: 10px; font-size: 14px;"></span>Lageplan ansehen</b></a></td> </tr>
844 </#if>
845
846 </tbody>
847 </table>
848 </div>
849 <div class="col-4">
850 <#if mitarbeiter.dienstleistungList?? && mitarbeiter.dienstleistungList?has_content>
851 <h2 class="fsXL mb-4"><b>Dienstleistungen</b></h2>
852 <div class="mb-5">
853 <ul class="detaillist dienstleistungen fsM">
854 <#list mitarbeiter.dienstleistungList as dl>
855 <li><a tabindex="0" href="${utils.getDienstleistungUrl(dl.id)}" class="cBlue">${dl.name}</a></li>
856 </#list>
857 </ul>
858 </div>
859 </#if>
860 </div>
861 </div>
862 </div>
863 </#if>
864 </#if>
865
866 <#if einrichtung?? || mitarbeiter?? || dienstleistung??>
867 <script>
868 jQuery(document).ready(function () {
869 jQuery('.search-area').parent().parent().remove()
870 });
871 </script>
872 </#if>
873
874 <#function createLoginURL destination>
875 <#local login_url1_WithHtml = 'href="/home?p_p_id=com_liferay_login_web_portlet_LoginPortlet&p_p_lifecycle=0&_com_liferay_login_web_portlet_LoginPortlet_redirect='><#assign login_url2_WithHtml = '#login" rel="nofollow" data-redirect="true"'><#assign login_url_WithHtml = login_url1_WithHtml + destination?replace("https://mein-test.kreis-paderborn.de:443", "")?replace("https://mein.kreis-paderborn.de:443", "") + login_url2_WithHtml>
876 <#return login_url_WithHtml/>
877 </#function>
878
879 <#macro iconLegendList15 elementId destination fontColor persoLogo persoContent lockIcon lockContent moneyIcon moneyContent>
880 <#if showDLLockIcon || showDLMoneyIcon || showDLPersoLogo>
881 <div class="" style="font-size: 0.7rem" id="${elementId}">
882 <h3 class="mb-0 mt-3" style="color:${fontColor}; font-weight: 700 !important;font-size: small !important;">Icon Legende</h3>
883 <ul style="font-size: 0.7rem; list-style: none !important; padding-left: 0 !important;" aria-label="Icon Legende">
884 <@iconLegendListEntry9 showDLPersoLogo persoLogo persoContent />
885 <@iconLegendListEntry9 showDLLockIcon lockIcon lockContent />
886 <@iconLegendListEntry9 showDLMoneyIcon moneyIcon moneyContent />
887 </ul>
888
889 </div>
890 </#if>
891 </#macro>
892
893
894 <#macro iconLegendListEntry9 show icon content>
895 <#if show>
896 <li class="">
897 <div class="row">
898 <div class="col-2" style="min-height: 35px;">
899 <p class="mb-0" style="justify-content: center;align-items: center;display: flex;height: 100%;">${icon}
900 </div>
901 <div class="col-10" style="min-height: 35px;display: flex;justify-content:left ;align-items: center;">
902 <p class="mb-0" style="font-size: 1rem;font-family: myriad-pro,Arial,sans-serif;line-height: 1.42857143;">${content}
903 </div>
904 </div>
905 </li>
906 </#if>
907 </#macro>
908
909 <#macro createDLnewLink18 css linkClass bevoreLinkTitle icon title target description href aditionalAttributs>
910 <#if description?has_content && description != "">
911 <#assign description = "title='${description}'">
912 </#if>
913 <#assign
914 target = (target == "self")?string("_self", "_blank")
915 />
916
917
918 <a class='${linkClass}'
919 style='${css}'
920 target='${target}'
921 ${href?has_content?string("href='${href}'",'')}
922 ${description}
923 ${aditionalAttributs?has_content?string("${aditionalAttributs}",'')}
924 ${bevoreLinkTitle}
925 ${icon}
926 <span>${title}</span>
927 <span class="icon-right" style="font-size: 12px; margin-left: 10px;"></span>
928 </a>
929 </#macro>
930
931 <#macro onlineServices180 linkToIconsid destination dienstleistung linkCss linkclass beforeLinkTitle lockIcon persoIcon moneyIcon dlNeedsLogin dlNeedsEidLogin dlHasCosts dlAndHasCosts internetAdressen eIDLoginURLLevel>
932 <#assign iconBefore = beforeLinkTitle>
933 <#if dienstleistung.extensions?has_content
934 || dienstleistung.formulare?has_content
935 || dienstleistung.kontaktformularUrl?has_content
936 || dienstleistung.internetadressen?has_content
937 || dienstleistung.textmodul.formulare?has_content>
938 <#assign current_url_WithHtml = themeDisplay.getPortalURL()?replace("https://mein-test.kreis-paderborn.de:443", "")?replace("https://mein.kreis-paderborn.de:443", "")>
939 <#assign current_uri_WithHtml = themeDisplay.getURLCurrent()>
940 <#assign login_url1_WithHtml = 'href="/home?p_p_id=com_liferay_login_web_portlet_LoginPortlet&p_p_lifecycle=0&_com_liferay_login_web_portlet_LoginPortlet_redirect='>
941 <#assign login_url2_WithHtml = '#login" rel="nofollow" data-redirect="true"'>
942 <#assign login_url_WithHtml = login_url1_WithHtml + current_url_WithHtml + current_uri_WithHtml + login_url2_WithHtml>
943
944 <#if showDLLockIcon || showDLMoneyIcon || showDLPersoLogo>
945 <a class="sr-only sr-only-focusable" href="#${destination}" id="${linkToIconsid}">Sprung zur Icon Legende.</a>
946 </#if>
947
948 <ul style="list-style: none !important;padding-left: 0 !important;display: flex;flex-wrap: wrap;gap: 5px;">
949 <#assign css = linkCss>
950 <#assign dlElementClass = linkClass>
951 <#if dienstleistung.extensions?has_content>
952 <#assign userAuthLevel = utils.getAuthLevel(renderRequest)>
953 <#assign idCounter = 1>
954 <#list dienstleistung.extensions as formular>
955
956 <#assign title = formular.titel>
957 <#assign minAuthLevel = formular.minAuthLevel>
958 <#if (userAuthLevel >= minAuthLevel)>
959 <li class="mb-2 w-75">
960 <p class="mb-0">
961 <#assign description = "${formular.titel}. ${formular.paymentSupported?string(dlHasCosts,'')}">
962 <#assign target = 'self'>
963 <#assign icon = ''>
964 <#if formular.paymentSupported>
965 <#assign showDLMoneyIcon = true>
966 <#assign icon = icon + moneyIcon>
967 </#if>
968 <#assign href = formular.uri>
969 <#assign aditionalAttributs = ''>
970 <@createDLnewLink18 css dlElementClass iconBefore icon title target description href aditionalAttributs />
971 </p>
972 </li>
973 <#else>
974 <#if (minAuthLevel == 1)>
975 <#assign showDLLockIcon = true>
976 <li class="mb-2 w-75">
977 <p class="mb-0">
978 <#assign description = "${formular.titel}. ${dlNeedsLogin} ${formular.paymentSupported?string(dlAndHasCosts,'')}">
979 <#assign target = 'self'>
980 <#assign icon = lockIcon>
981 <#if formular.paymentSupported>
982 <#assign showDLMoneyIcon = true>
983 <#assign icon = icon + moneyIcon>
984 </#if>
985 <#assign href = ''>
986 <#assign aditionalAttributs = createLoginURL(formular.uri)/>
987 <@createDLnewLink18 css dlElementClass iconBefore icon title target description href aditionalAttributs />
988 </p>
989 </li>
990 <#elseif (minAuthLevel == 2)>
991 <#assign showDLLockIcon = true>
992 <li class="mb-2 w-75">
993 <p class="mb-0">
994 <#assign description = "${formular.titel}. ${dlNeedsLogin} ${formular.paymentSupported?string(dlAndHasCosts,'')}">
995 <#assign target = 'self'>
996 <#assign icon = lockIcon>
997 <#if formular.paymentSupported>
998 <#assign showDLMoneyIcon = true>
999 <#assign icon = icon + moneyIcon>
1000 </#if>
1001 <#assign href = ''>
1002 <#assign aditionalAttributs = createLoginURL(formular.uri)/>
1003 <@createDLnewLink18 css dlElementClass iconBefore icon title target description href aditionalAttributs />
1004 </p>
1005 </li>
1006 <#elseif (minAuthLevel == 3)>
1007 <#assign showDLPersoLogo = true>
1008 <li class="mb-2 w-75">
1009 <p class="mb-0">
1010 <#assign description = "${formular.titel}. ${dlNeedsEidLogin} ${formular.paymentSupported?string(dlAndHasCosts,'')}">
1011 <#assign target = 'self'>
1012
1013 <#assign persoIconId = 'PersoIcon' + idCounter>
1014 <#assign icon = lockIcon>
1015
1016 <#if formular.paymentSupported>
1017 <#assign showDLMoneyIcon = true>
1018 <#assign icon = icon + moneyIcon>
1019 </#if>
1020 <#assign serviceName = dienstleistung.name>
1021 <#assign nameForDescrptionSite = serviceName?replace('&','')?replace(' ',' ')?replace('?','')?replace('#','')?replace('*','')?replace('+','')?replace('\\','')?replace('/','')>
1022
1023 <#assign href = "${eIDLoginURLLevel}?dlname=${nameForDescrptionSite}&dlurl=${themeDisplay.getURLCurrent()}">
1024 <#assign aditionalAttributs = ''>
1025 <@createDLnewLink18 css dlElementClass iconBefore icon title target description href aditionalAttributs />
1026 </p>
1027 </li>
1028 </#if>
1029 </#if>
1030 <#assign idCounter = idCounter + 1>
1031 </#list>
1032 </#if>
1033 <#if !utils.angemeldet && !dienstleistung.nutzbarAlsGast>
1034 <#if dienstleistung.formulare?has_content>
1035 <#assign showDLLockIcon = true>
1036
1037 <#list dienstleistung.formulare as formular>
1038 <li class="mb-2 w-75">
1039 <p class="mb-0">
1040 <#assign title = formular.titel>
1041 <#assign description = "${title}. ${dlNeedsLogin}">
1042 <#if formular.neuesFenster>
1043 <#assign target = "blank">
1044 <#else>
1045 <#assign target = 'self'>
1046 </#if>
1047 <#assign icon = lockIcon>
1048 <#assign href = ''>
1049 <#assign aditionalAttributs = createLoginURL(formular.uri)/>
1050 <@createDLnewLink18 css dlElementClass iconBefore icon title target description href aditionalAttributs />
1051 </p>
1052 </li>
1053 </#list>
1054 </#if>
1055 <#if dienstleistung.kontaktformularUrl?has_content>
1056 <#assign showDLLockIcon = true>
1057 <li class="mb-2 w-75">
1058 <p class="mb-0">
1059 <#assign title = 'Zum Kontaktformular'>
1060 <#assign description = "${title}. ${dlNeedsLogin}">
1061 <#assign target = ''>
1062 <#assign icon = lockIcon>
1063 <#assign href = ''>
1064 <#assign aditionalAttributs = createLoginURL(dienstleistung.kontaktformularUrl)/>
1065 <@createDLnewLink18 css dlElementClass iconBefore icon title target description href aditionalAttributs />
1066
1067 </p>
1068 </li>
1069 </#if>
1070 <#else>
1071 <#if dienstleistung.formulare?has_content>
1072 <#list dienstleistung.formulare as formular>
1073 <li class="mb-2 w-75 formulare">
1074 <p class="mb-0">
1075 <#assign title = formular.titel>
1076 <#assign description = "${title}.">
1077 <#assign target = 'self'>
1078 <#assign icon = ''>
1079 <#assign href = formular.uri>
1080 <#assign aditionalAttributs = ''>
1081 <@createDLnewLink18 css dlElementClass iconBefore icon title target description href aditionalAttributs />
1082 </p>
1083 </li>
1084 </#list>
1085 </#if>
1086 <#if dienstleistung.kontaktformularUrl?has_content>
1087 <li class="mb-2 w-75">
1088 <p class="mb-0">
1089 <#assign title = 'Zum Kontaktformular'>
1090 <#assign description = title>
1091 <#assign target = ''>
1092 <#assign icon = ''>
1093 <#assign href = dienstleistung.kontaktformularUrl>
1094 <#assign aditionalAttributs = ''>
1095 <@createDLnewLink18 css dlElementClass iconBefore icon title target description href aditionalAttributs />
1096 </p>
1097 </li>
1098 </#if>
1099 </#if>
1100 <#if dienstleistung.textmodul.formulare?has_content>
1101 <#list dienstleistung.textmodul.formulare.weiterfuehrenderLink as formular>
1102 <#if !formular.uri?starts_with('https://cqm.cleverq.de')>
1103 <li class="mb-2 w-75 textmodul-formulare">
1104 <p class="mb-0">
1105 <#if formular.titel?has_content && formular.titel != "">
1106 <#assign title = formular.titel>
1107 </#if>
1108 <#assign description = title>
1109 <#if formular.neuesFenster>
1110 <#assign target = 'blank'>
1111 <#else>
1112 <#assign target = 'self'>
1113 </#if>
1114 <#assign icon = ''>
1115 <#assign href = formular.uri>
1116 <#assign aditionalAttributs = ''>
1117 <@createDLnewLink18 css dlElementClass iconBefore icon title target description href aditionalAttributs />
1118 </p>
1119 </li>
1120 </#if>
1121 </#list>
1122 </#if>
1123 <#if internetAdressen == true && dienstleistung.internetadressen?has_content>
1124 <#list dienstleistung.internetadressen as link>
1125 <#if !link.uri?starts_with('https://cqm.cleverq.de')>
1126 <li class="mb-2 w-75 internetAdressen">
1127 <p class="mb-0">
1128 <#if link.titel?has_content && link.titel != "">
1129 <#assign title = link.titel>
1130 <#else>
1131 <#assign title = link.uri>
1132 </#if>
1133 <#assign description = title>
1134 <#if link.neuesFenster>
1135 <#assign target = 'blank'>
1136 <#else>
1137 <#assign target = 'self'>
1138 </#if>
1139 <#assign icon = ''>
1140 <#assign href = link.uri>
1141 <#assign aditionalAttributs = ''>
1142 <@createDLnewLink18 css dlElementClass iconBefore icon title target description href aditionalAttributs />
1143 </p>
1144 </li>
1145 </#if>
1146 </#list>
1147 </#if>
1148 </ul>
1149 </#if>
1150 </#macro>