Neues aus den Clubs

ZBL

Neuigkeiten und Bekanntmachungen aus unseren Clubs

Asset-Herausgeber

Asset-Herausgeber

mn_startseite

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>