mn_startseite - Distrikt 111 - Mitte-Nord
Neues aus den Clubs

Neuigkeiten und Bekanntmachungen aus unseren Clubs
Asset-Herausgeber
Asset-Herausgeber
Andreas Kassat
geändert vor 27 Tagen.
Fehler bei der Verarbeitung der Vorlage.
Failed to set JSP tag parameter "fileVersion" (declared type: com.liferay.portal.kernel.repository.model.FileVersion, actual value's type: String). See cause exception for the more specific cause...
----
Tip: This problem is often caused by unnecessary parameter quotation. Parameters aren't quoted in FTL, similarly as they aren't quoted in most languages. For example, these parameter assignments are wrong: <@my.tag p1="true" p2="10" p3="${someVariable}" p4="${x+1}" />. The correct form is: <@my.tag p1=true p2=10 p3=someVariable p4=x+1 />. Only string literals are quoted (regardless of where they occur): <@my.box style="info" message="Hello ${name}!" width=200 />.
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: @adaptive_media_image["img"] fileVers... [in template "10154#10194#LIONS_HEADER_SLIDER_ANIMATE" at line 25, column 29]
----
1<#assign
2namespace = themeDisplay.getPortletDisplay().getNamespace()!""
3lionsImageService = serviceLocator.findService("de.lions.foundation.service.LionsImageService")
4/>
5
6<div class="lions-header-slider-animate lions-full-width-content">
7 <div>
8 <#if elements?? && elements.getSiblings()?has_content>
9 <div class="swiper swiper-container swiper-container-${namespace}">
10 <div class="swiper-wrapper mb-5">
11 <#list elements.getSiblings() as element>
12 <#assign
13 textColor = element.textColor.getData()
14 textColor = (textColor == "text-black")?then("lions-header-slider-text-black","lions-header-slider-text-white")
15 textAlign = element.textAlignment.getData()
16 textAnimation = element.textAnimation.getData()
17 backgroundColor =(textAnimation == '2' || textAnimation == '0')?then("lions-background " + element.backgroundColor.getData(),"")
18 textAnimation = (textAnimation?has_content)?then("lions-header-slider-animation-" + textAnimation, "")
19
20 fileVersion = lionsImageService.getFileVersionFromWebContentString(element.image.data)!""
21 imageCropping = element.image.imageCrop???then(element.image.imageCrop.getData(), "crop-center")
22 />
23 <div class="swiper-slide ${textAnimation} ${element?is_first?then('active', '')}">
24 <div class="lions-header-slider-content">
25 <@adaptive_media_image["img"]
26 fileVersion=fileVersion
27 class="lions-header-slider-img w-100 ${imageCropping}"
28 alt="slide ${element_index}"
29 id="lions-header-slide-animate-img-${element_index}"
30 />
31 <div class="${textColor} ${textAlign}">
32 <div class="container lions-header-slider-text d-none">
33 <#if element.headline?? && element.headline.getData()?has_content>
34 <div class="lions-header-slider-headline">
35 <span class="${backgroundColor}">${htmlUtil.unescape(element.headline.getData())}</span>
36 </div>
37 </#if>
38 <#if element.teaser?? && element.teaser.getData()?has_content>
39 <div class="lions-header-slider-teaser mb-4">
40 <span class="${backgroundColor}">${element.teaser.getData()}</span>
41 </div>
42 </#if>
43 <#if element.link.linkText?? && element.link.linkText.getData()?has_content>
44 <#if element.link.target?? && element.link.target.getData()?has_content>
45 <#assign linkTarget = (element.link.linkText.getData() == "Gehe zu" || element.link.linkText.getData() == "Zum Projekt")?then("_blank", "_self") />
46
47 <div>
48 <a class="btn lions-header-slider-btn"
49 href="${element.link.target.getData()}"
50 target="${linkTarget}">${element.link.linkText.getData()}</a>
51 </div>
52 </#if>
53 </#if>
54 </div>
55 </div>
56 </div>
57 </div>
58 </#list>
59 </div>
60 </div>
61 </div>
62
63 <#-- Add Arrows -->
64 <div class="swiper-button-next next-${namespace}"></div>
65 <div class="swiper-button-prev prev-${namespace}"></div>
66 <script type="module">
67 import Swiper from '/o/lions-js-module-loader/third-party/swiper.min.js';
68
69 function ${namespace}initSwiper(selector) {
70 let config =
71 {
72 slidesPerView: 1,
73 slideHeight: 705,
74 watchOverflow: true,
75 spaceBetween: 0,
76 autoplay: false,
77 navigation: {
78 nextEl: '.swiper-button-next.next-${namespace}',
79 prevEl: '.swiper-button-prev.prev-${namespace}'
80 }
81 };
82
83 var firstSlideIndex = 0
84 if (${elements.getSiblings()?size} > 1) {
85 config.loop = true;
86 config.autoplay = {delay: 6000};
87 config.speed = 600;
88 firstSlideIndex = 1;
89 }
90
91 var lastImg;
92 var lastText;
93 var lastAnimation;
94 let swiper${namespace} = new Swiper(selector, config);
95 var firstSlide = swiper${namespace}.slides[firstSlideIndex]
96 if (firstSlide) {
97 handleSlideAnimation(firstSlide);
98 }
99
100 swiper${namespace}.on('slideNextTransitionEnd', function () {
101 var index = this.previousIndex + 1;
102 var currentSlide = this.slides[index];
103 handleSlideAnimation(currentSlide);
104 });
105
106 swiper${namespace}.on('slidePrevTransitionEnd', function () {
107 var index = this.previousIndex - 1;
108 if (index == -1) {
109 index = 0;
110 }
111 var currentSlide = this.slides[index]
112 handleSlideAnimation(currentSlide);
113 });
114
115 function handleSlideAnimation(currentSlide) {
116 removeLastAnimationStyle()
117 if (currentSlide.classList.contains("lions-header-slider-animation-0")) {
118 executeNoAnimation(currentSlide)
119 }
120 if (currentSlide.classList.contains("lions-header-slider-animation-1")) {
121 executeFirstAnimation(currentSlide)
122 }
123 if (currentSlide.classList.contains("lions-header-slider-animation-2")) {
124 executeSecondAnimation(currentSlide)
125 }
126 }
127
128 function removeLastAnimationStyle() {
129 if (lastAnimation && lastImg) {
130 lastImg.classList.remove(lastAnimation)
131 }
132 if (lastText) {
133 lastText.classList.add('d-none')
134 }
135 }
136
137 function executeNoAnimation(currentSlide) {
138 var text = currentSlide.getElementsByClassName('lions-header-slider-text')[0]
139 lastText = text;
140 lastAnimation = 'lions-header-slider-text-no-animation';
141 text.classList.remove('d-none')
142 text.classList.add('lions-header-slider-text-no-animation')
143 }
144
145 function executeFirstAnimation(currentSlide) {
146 if (currentSlide) {
147 var img = currentSlide.getElementsByClassName('lions-header-slider-img')[0]
148 var text = currentSlide.getElementsByClassName('lions-header-slider-text')[0]
149 lastAnimation = 'lions-header-slider-img-zoomIn';
150 lastImg = img;
151 lastText = text;
152 img.classList.add('lions-header-slider-img-zoomIn')
153 text.classList.remove('d-none')
154 text.classList.add('lions-header-slider-text-zoomIn')
155 }
156 }
157
158 function executeSecondAnimation(currentSlide) {
159 if (currentSlide) {
160 var img = currentSlide.getElementsByClassName('lions-header-slider-img')[0]
161 var text = currentSlide.getElementsByClassName('lions-header-slider-text')[0]
162 lastImg = img;
163 lastText = text;
164 text.classList.remove('d-none')
165 text.classList.add('lions-header-slider-text-fadeInUp')
166 }
167 }
168 }
169
170 ${namespace}initSwiper('.swiper-container-${namespace}');
171 </script>
172</div>
173</#if>
174
175<script>
176 var next = document.getElementsByClassName('next-${namespace}')[0];
177 var prev = document.getElementsByClassName('prev-${namespace}')[0];
178
179 next.classList.add('lions-header-slider-next');
180 prev.classList.add('lions-header-slider-prev');
181</script>


