AES Ecuador 2025

Upcoming Events

null AES Ecuador 2025

An error occurred while processing the template.
The following has evaluated to null or missing:
==> cmsEntity.getLocalizedField(profile, "/entity/assets/mobileMainImage")  [in template "20116#20152#379608" at line 61, column 30]

----
Tip: If the failing expression is known to be 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: #assign mobileMainImg = cmsEntity.get...  [in template "20116#20152#379608" at line 61, column 5]
----
1<#-- Include common helpers --> 
2<#include "${templatesPath}/379393" /> 
3 
4<#assign t = { 
5    "locationTitle" : "Location" 
6}> 
7 
8<#-- Get and format article publish date --> 
9<#assign displayDate = .vars['reserved-article-display-date'].data> 
10 
11<#-- Save the original page locale for later --> 
12<#assign originalLocale = locale> 
13 
14<#-- Set the page locale to the portals default locale --> 
15<#setting locale = localeUtil.getDefault()> 
16 
17<#-- Parse the date to a date object --> 
18<#assign displayDate = displayDate?datetime("EEE, d MMM yyyy HH:mm:ss Z")> 
19 
20<#assign cmsContentService= serviceLocator.findService("com.ch5finland.genelec.cms.service.CMSContentService") > 
21<#assign profileService = serviceLocator.findService("com.ch5finland.genelec.cms.service.ProfileService") > 
22 
23 
24 
25<#assign 
26	defaultLatitude = -3.6833 
27	defaultLongitude = 40.40 
28	 
29	group = themeDisplay.getScopeGroup() 
30 
31	googleMapsAPIKey = group.getLiveParentTypeSettingsProperty("googleMapsAPIKey")!""	 
32
33 
34<#assign profile = profileService.getProfile(request) > 
35<#assign journalArticleId = .vars['reserved-article-id'].data> 
36<#assign cmsEntity = cmsContentService.getEntityByArticleId(profile, groupId, journalArticleId) > 
37 
38<#assign cmsContentFormatterService= serviceLocator.findService("com.ch5finland.genelec.cms.service.CMSContentFormatterService") > 
39 
40<#-- Article title --> 
41 
42<#if  cmsEntity.getField(profile, "/entity/fields/title")?has_content> 
43    <#assign title = cmsEntity.getLocalizedField(profile, "/entity/fields/title")> 
44<#else> 
45    <#assign title = .vars['reserved-article-title'].data> 
46</#if> 
47 
48<#--  Complete URL  --> 
49<#assign portalUrl = themeDisplay.getPortalURL() > 
50<#assign urlTitle = themeDisplay.getURLCurrent() > 
51<#assign currentURL = portalUrl + urlTitle > 
52 
53<#assign facebook_share_url = themeDisplay.getThemeSetting("facebook_share_url") > 
54<#assign linkedin_share_url = themeDisplay.getThemeSetting("linkedin_share_url") > 
55<#assign whatsapp_share_url = themeDisplay.getThemeSetting("whatsapp_share_url") > 
56 
57 
58 
59 
60<#if  cmsEntity.getField(profile, "/entity/assets/mobileMainImage")?has_content> 
61    <#assign mobileMainImg = cmsEntity.getLocalizedField(profile, "/entity/assets/mobileMainImage")> 
62    <#if !mobileMainImg.isNull("url")> 
63        <#assign mobileMainImage = mobileMainImg.url> 
64    <#else> 
65        <#assign mobileMainImage = ""> 
66    </#if> 
67    <#if !mobileMainImg.isNull("description")> 
68        <#assign mobileMainImageDescription = localizeField(mobileMainImg.description, profile.getCMSLangCode())> 
69    <#else> 
70       <#assign mobileMainImageDescription = "">  
71    </#if> 
72</#if> 
73 
74<#if  cmsEntity.getLocalizedField(profile, "/entity/assets/mainImage")?has_content> 
75    <#assign mainImg = cmsEntity.getLocalizedField(profile, "/entity/assets/mainImage")> 
76    <#if !mainImg.isNull("url")> 
77        <#assign mainImage = mainImg.url> 
78        <#assign mainImageAlt = ""> 
79        <#if cmsEntity.getLocalizedField(profile, "/entity/relationships/mainImage/locales")?? &&  
80             cmsEntity.getLocalizedField(profile, "/entity/relationships/mainImage/locales")?has_content> 
81                 
82            <#assign relMainImage= cmsEntity.getLocalizedField(profile, "/entity/relationships/mainImage/locales")> 
83            <#if !relMainImage.properties.isNull("altText")> 
84                <#assign mainImageAlt = localizeField(relMainImage.properties.altText, profile.getCMSLangCode()) > 
85            </#if> 
86        </#if>          
87    <#else> 
88        <#assign mainImage = ""> 
89    </#if> 
90</#if> 
91 
92<#assign startDate = "" > 
93<#if cmsEntity.getFieldAsDate("/entity/fields/startDate")?has_content> 
94    <#assign startDate = cmsEntity.getFieldAsDate("/entity/fields/startDate") > 
95</#if> 
96<#assign endDate = "" > 
97<#if cmsEntity.getFieldAsDate("/entity/fields/endDate")?has_content> 
98    <#assign endDate = cmsEntity.getFieldAsDate("/entity/fields/endDate") > 
99</#if> 
100 
101<@appendHTMLMetas currentURL cmsEntity "article" /> 
102 
103<div class="article-page"> 
104 
105    <div class="article-page-background"></div> 
106 
107    <div class="row"> 
108        <div class="col-12"> 
109            <h1 class="article-heading">${title}</h1> 
110                <#if startDate?has_content> 
111                    <h3 class="event-date"> 
112                    <#if !endDate?has_content> 
113                        ${startDate?string("d.M.yyyy")} 
114                    <#elseif startDate?string("d") != endDate?string("d") || startDate?string("M") != endDate?string("M")> 
115                        <#if startDate?string("d") != endDate?string("d") && startDate?string("M") != endDate?string("M")> 
116                            ${startDate?string("d.M.")} - ${endDate?string("d.M.yyyy")} 
117                        <#else> 
118                            ${startDate?string("d.")} - ${endDate?string("d.M.yyyy")} 
119                        </#if> 
120                    <#else> 
121                        ${startDate?string("d.M.yyyy")} 
122                    </#if> 
123                </h3>         
124                </#if>             
125             
126        </div> 
127    </div> 
128 
129    <div class="row"> 
130        <div class="col-12"> 
131            <div class="article-share-buttons"> 
132 
133                <a href="${facebook_share_url}${currentURL}" target="_blank"> 
134                    <span class="fa-stack fa-md">  
135                        <i class="fas fa-circle fa-stack-2x icon-dark"></i>  
136                        <i class="fab fa-facebook-f fa-stack-1x fa-inverse"></i>  
137                    </span> 
138                </a> 
139 
140                <a href="${linkedin_share_url}${currentURL}" target="_blank"> 
141                    <span class="fa-stack fa-md">  
142                        <i class="fas fa-circle fa-stack-2x icon-dark"></i>  
143                        <i class="fab fa-linkedin-in fa-stack-1x fa-inverse"></i>  
144                    </span> 
145                </a> 
146 
147                <a href="mailto:?subject=${title}&amp;body=${title} ${currentURL}" 
148   title="${title}" target="_blank"> 
149                    <span class="fa-stack fa-md">  
150                        <i class="fas fa-circle fa-stack-2x icon-dark"></i>  
151                        <i class="fas fa-envelope fa-stack-1x fa-inverse"></i>  
152                    </span> 
153                </a> 
154                 
155                <a href="${whatsapp_share_url}${currentURL}" data-action="share/whatsapp/share" target="_blank"> 
156                    <span class="fa-stack fa-md">  
157                    	<i class="fas fa-circle fa-stack-2x icon-dark"></i> 
158                    	<i class="fab fa-whatsapp fa-stack-1x fa-inverse"></i> 
159                    </span> 
160                </a> 
161 
162            </div> 
163            <div class="article-date"> 
164 
165            </div> 
166        </div> 
167    </div> 
168 
169    <div class="row article-page-main-image"> 
170        <div class="col-12"> 
171            <#if mainImage?has_content> 
172                <picture> 
173                    <source srcset="${mainImage}?w=1250&q=80&fm=webp" type="image/webp" /> 
174                    <img class="article-image" src="${mainImage}?w=1250&q=80&fm=jpg" alt="${mainImageAlt}">    
175                </picture> 
176            </#if> 
177        </div> 
178    </div>  
179     
180    <div class="article-section mt-5"> 
181        <div class="row"> 
182            <div class="col-xs-12 col-lg-8 col-xl-9"> 
183                <div class="product-page-intro mt-0"> 
184                    <#if  cmsEntity.getLocalizedField(profile, "/entity/fields/summary")?has_content> 
185                        ${cmsEntity.getLocalizedField(profile, "/entity/fields/summary")} 
186                    </#if> 
187                </div> 
188                <div> 
189                    <#if  cmsEntity.getLocalizedField(profile, "/entity/fields/content")?has_content> 
190                        <#--  ${cmsEntity.getLocalizedField(profile, "/entity/fields/content")}  --> 
191                        ${cmsContentFormatterService.getMarkdown(cmsEntity.getLocalizedField(profile, "/entity/fields/content"), 930)} 
192                    </#if> 
193 
194                    <#--  <#assign summary = cmsContentFormatterService.getMarkdown(cmsEntity.getLocalizedField(profile, "/entity/fields/content"))>  --> 
195 
196 
197                </div> 
198 
199<@showVideos cmsEntity/> 
200 
201            </div> 
202            <div class="col-xs-12 col-lg-4 col-xl-3"> 
203             
204            <#-- ---- Right column ----  --> 
205             
206             
207                <div class="venue"> 
208                    <#if cmsEntity.getLocalizedField(profile, "/entity/fields/venueName")?has_content> 
209                        <h3>${cmsEntity.getLocalizedField(profile, "/entity/fields/venueName")}</h3> 
210                    <#else> 
211                        <h3>${t.locationTitle}</h3> 
212                    </#if> 
213                     
214                <#if  cmsEntity.getLocalizedField(profile, "/entity/fields/streetAddress")?has_content> 
215                    <span class="d-block">${cmsEntity.getLocalizedField(profile, "/entity/fields/streetAddress")}</span> 
216                </#if> 
217                <#if  cmsEntity.getLocalizedField(profile, "/entity/fields/city")?has_content> 
218                    <span class="d-block">${cmsEntity.getLocalizedField(profile, "/entity/fields/city")}</span> 
219                </#if> 
220                <#if  cmsEntity.getLocalizedField(profile, "/entity/fields/country")?has_content> 
221                    <span class="d-block">${cmsEntity.getLocalizedField(profile, "/entity/fields/country")}</span> 
222                </#if> 
223                <#if  cmsEntity.getField(profile, "/entity/fields/url")?has_content> 
224                    <p> 
225                        <a href="${cmsEntity.getField(profile, "/entity/fields/url")}"> 
226                            ${cmsEntity.getField(profile, "/entity/fields/url")} 
227                        </a> 
228                    </p> 
229                </#if>                  
230                </div> 
231                 
232                <#if  cmsEntity.getField(profile, "/entity/fields/coordinates")?has_content> 
233                    <#assign coordStr = cmsEntity.getField(profile, "/entity/fields/coordinates") > 
234                    <#if coordStr?contains(",")> 
235                        <#assign lat = coordStr?split(",")[0]> 
236                        <#assign lng = coordStr?split(",")[1]> 
237                         
238                        <#if lat?has_content && lng?has_content> 
239                        <div id="location-map" style="height: 290px;"> </div> 
240                        <script> 
241                          var map; 
242                          var venueLatLng = {lat: ${lat}, lng: ${lng}}; 
243                          function initMap() { 
244                            map = new google.maps.Map(document.getElementById('location-map'), { 
245                              center: venueLatLng, 
246                              zoom: 11, 
247                              disableDefaultUI: true, 
248                              fullscreenControl: true, 
249                              zoomControl: true 
250                            }); 
251                            var marker = new google.maps.Marker({ 
252                              position: venueLatLng, 
253                              map: map 
254                            }); 
255
256                        </script> 
257                        <script src="//maps.googleapis.com/maps/api/js?key=${googleMapsAPIKey}&callback=initMap" 
258    async defer></script> 
259                        </#if> 
260                    </#if> 
261                </#if> 
262            <#-- //-- Right column ----  --> 
263             
264            </div> 
265        </div> 
266    </div>     
267</div> 
268 
269 
270<style> 
271     
272    .event-date { 
273        padding-left: 23px; 
274
275 
276 
277    @media only screen and (max-width: 992px) { 
278<#if mobileMainImage?has_content> 
279    .article-page-background { 
280        background-image: url(${mobileMainImage}); 
281 
282    }  
283<#else> 
284    <#if mainImage?has_content> 
285    .article-page-background { 
286        background-image: url(${mainImage}); 
287 
288    }  
289    </#if> 
290</#if> 
291
292 
293<#if mainImage?has_content> 
294     @media only screen and (min-width: 992px) { 
295 
296    .article-page-background { 
297        background-image: url(${mainImage}); 
298 
299    }  
300
301</#if> 
302 
303<#-- Possibility to hide portlets with custom css class when Event is shown --> 
304.hide-when-event-shown { display: none; }  
305     
306</style> 
307 
308<script> 
309$('.relatedProduct-carousel').owlCarousel({ 
310    loop:false, 
311    nav:true, 
312    dots:false, 
313    margin:5, 
314    lazyLoad:true, 
315    navText : ['<i class="icon-angle-left">','<i class="icon-angle-right">'], 
316    responsive:{ 
317        0:{items:1, slideBy:1}, 
318        600:{items:3, slideBy:3}, 
319        1000:{items:6, slideBy:6} 
320    }, 
321}) 
322 
323 
324if ($(window).outerWidth() < 992) { 
325     
326
327 
328</script>