If you need a company to deliver your turnkey event project or you are looking for a complementary professional service for the design and implementation of a corporate meeting, here you can find companies in Asturias that work in the organisation and execution of events, congresses, events and incentives.

Back Cade Communication

An error occurred while processing the template.
Java method "as.asac.template.tools.DLToolImpl.getThumbnailByJSON(String, String)" threw an exception when invoked on as.asac.template.tools.DLToolImpl object "as.asac.template.tools.DLToolImpl@4f12c5de"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign slideThumbnail1 = dlTool.getT...  [in template "37703#37743#8983071" at line 61, column 73]
----
1<#-- Services --> 
2<#assign assetEntryLocalServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")/> 
3<#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService")/> 
4<#assign journalArticleResourceServiceUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")/> 
5<#assign assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") /> 
6<#assign assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
7<#assign ddmStructureLocalService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMStructureLocalService")/> 
8 
9<#-- Reserved vbles --> 
10<#assign title = .vars['reserved-article-title'].data> 
11<#assign articleId=.vars["reserved-article-id"].data /> 
12<#assign description=.vars["reserved-article-description"].data /> 
13<#assign smallImageUrl=.vars["reserved-article-small-image-url"].data /> 
14<#assign date=.vars["reserved-article-display-date"].data /> 
15<#assign request = .vars['request']> 
16 
17<#-- Init --> 
18 
19<#assign assetEntry = journalTool.getAssetEntryByArticleId(groupId, articleId)> 
20<#assign journalArticle = journalTool.getJournalArticleByAssetEntry(assetEntry)> 
21<#assign ddmStructureNameNormalize = "template-${friendlyURLNormalizerTool.normalize(journalArticle.getDDMStructure().getName(localeUtil.getDefault()))}" /> 
22<#assign articleURL = themeDisplay.getURLPortal()+themeDisplay.getURLCurrent()> 
23<#assign articleMainImageThumbnail3 = dlTool.getThumbnail(smallImageUrl, "3", layoutSetBannerPath)! /> 
24<#assign articleMainImageThumbnail1 = dlTool.getThumbnail(smallImageUrl, "1")! /> 
25 
26 
27<#-- Categories --> 
28<#assign concejo = journalTool.getCategories(groupId, articleId, ["MICE :: Concejo"])/> 
29 
30 
31<article class="template template-mice template-${ddmStructureNameNormalize} template-mice-article" role="article" > 
32 
33	<div class="container"> 
34		<div class="row no-gutters"> 
35			<div class="col-12"> 
36 
37				<h2 class="article-title" itemprop="name">${title}</h2> 
38				 
39				 
40				<#if validator.isNotNull(Descripcion.getData())> 
41					<div class="article-description mt-2 mb-4"> 
42						${Descripcion.getData()} 
43					</div> 
44				</#if> 
45			 
46				<#assign slideImagesCount = 0 /> 
47				<#assign slideImagesSize = Visualizador.Imagen.getSiblings()?size /> 
48				<#if  validator.isNotNull(Visualizador.Imagen.data) || validator.isNotNull(smallImageUrl)> 
49					<div id="article-carousel" class="carousel slide carousel-fade carousel-article" data-ride="carousel" data-interval="5000"> 
50						<span aria-hidden="true" class="loading-animation loading-bg"></span> 
51						<div class="carousel-inner"> 
52							<#if validator.isNotNull(smallImageUrl)> 
53								<div class="carousel-item active aspect-ratio-bg-cover" style="background-image: url(${articleMainImageThumbnail3});"> 
54									<img class="hide" src="${articleMainImageThumbnail1}" alt="${title}" title="${title}"/> 
55								</div> 
56								<#assign slideImagesCount = slideImagesCount + 1 /> 
57							</#if> 
58							<#list Visualizador.Imagen.getSiblings() as Slide> 
59								<#if Slide?? && validator.isNotNull(Slide) && Slide.data?? && validator.isNotNull(Slide.data)> 
60 
61									<#assign slideThumbnail1 = dlTool.getThumbnailByJSON(Slide.data, "1")! /> 
62									<#assign slideThumbnail3 = dlTool.getThumbnailByJSON(Slide.data, "3")! /> 
63									<#assign slideTitle = "${languageUtil.get(request, 'image')} ${title}" /> 
64									<#assign slideAlt = slideTitle /> 
65									<#if Slide.TituloImagen?? && Slide.TituloImagen.data?has_content> 
66										<#assign slideTitle = Slide.TituloImagen.data />   
67										<#assign slideAlt = slideTitle /> 
68									</#if> 
69									<#if Slide.AltImagen?? && validator.isNotNull(Slide.AltImagen.getData())> 
70										<#assign slideAlt = Slide.AltImagen.getData() /> 
71									</#if> 
72								<#else> 
73									<#continue> 
74								</#if> 
75								<div class="carousel-item aspect-ratio-bg-cover" style="background-image: url(${slideThumbnail3});"> 
76									<img class="hide" src="${slideThumbnail1}" alt="${slideAlt}" title="${slideTitle}"/> 
77								</div> 
78								<#assign slideImagesCount = slideImagesCount + 1 /> 
79							</#list> 
80						</div> 
81						<#if Visualizador.Imagen.getSiblings()?size gt 1> 
82							<a class="carousel-control-prev" href="#article-carousel" data-slide="prev"> 
83								<span class="carousel-control-prev-icon" aria-hidden="true"><!-- ${languageUtil.get(request, "previous")} --></span> 
84								<span class="hide-accessible">${languageUtil.get(request, "previous")}</span> 
85							</a> 
86							<a class="carousel-control-next" href="#article-carousel" data-slide="next"> 
87								<span class="carousel-control-next-icon" aria-hidden="true"><!-- ${languageUtil.get(request, "next")}--></span> 
88								<span class="hide-accessible">${languageUtil.get(request, "next")}</span> 
89							</a> 
90							<ol class="carousel-indicators "> 
91								<#assign index = 0 /> 
92								<#list 1..slideImagesCount as item> 
93									<li data-target="#article-carousel" data-slide-to="${index}" <#if index==0> class="active"</#if>></li> 
94									<#assign index = index + 1 /> 
95								</#list> 
96							</ol> 
97						</#if> 
98					</div> 
99				</#if> 
100			</div> 
101		</div> 
102		<#if validator.isNotNull(Geolocalizacion.Coordenadas.getData())> 
103			<div class="article-map-switch mt-2 mb-4"> 
104				<label class="toggle-switch"> 
105					<input class="toggle-switch-check mapShow" type="checkbox" onclick="showArticleMap(${articleId})"/> 
106					<span aria-hidden="true" class="toggle-switch-bar"> 
107						<span class="toggle-switch-handle"></span> 
108					</span> 
109				</label> 
110				<span class="label-map text-lowercase">${languageUtil.get(request, "infoasturias-mice-mostrar-ubicacion")}</span> 
111			</div> 
112			<#assign coordenadas=stringUtil.split(Geolocalizacion.Coordenadas.data) /> 
113			<div id="article-map-wrapper-${articleId}" class="article-section-map article-map-wrapper my-4 hide-visibility">  
114				<div id="article-map-content-${articleId}" style="width: 100%; height: 388px; z-index:1"><!-- MAP --></div> 
115				<div class="article-map-form">  
116					<div class="name important">${title}</div> 
117					<div class="gps"><span class="label">GPS:</span> <span class="value important" itemprop="geo">${Geolocalizacion.Coordenadas.data}</span></div> 
118					<form action="https://maps.google.es/maps" method="get" target="_blank"> 
119						<input type="hidden" name="daddr" value="${coordenadas[0]},${coordenadas[1]}"> 
120						<label for="saddrText"><span class="label hide-accessible">${languageUtil.get(request,'infoasturias-insert-from')}: </span></label> 
121						<label for="saddr"><span class="label">${languageUtil.get(request,'infoasturias-from')}: </span></label> 
122						<input class="form-control" type="text" maxlength="40" name="saddrText" id="saddrText" value="" placeholder="${languageUtil.get(request,'infoasturias-insert-from')}"> 
123						<input class="form-control" type="hidden" name="saddr" id="saddr" value="" placeholder="${languageUtil.get(request,'infoasturias-insert-from')}"> 
124						<button class="btn btn-text" type="submit">${languageUtil.get(request,'infoasturias-como-llegar')} &raquo;</button> 
125					</form> 
126				</div> 
127				<div class="article-section-scripts"> 
128					<script src="/o/turismo-asturias-theme/js/leaflet/leaflet.js"></script> 
129					<script type="text/javascript"> 
130						AUI().ready('aui-base', function(A){ 
131							var lat = ${coordenadas[0]}, 
132								lng = ${coordenadas[1]}, 
133								zoom = 16; 
134							mapContent = new L.map('article-map-content-${articleId}', {center: [lat, lng], zoom: 16}); 
135 
136							//Marker 
137							var defaultIconTheme = '/o/turismo-asturias-theme/css/images/icons/mark-box.png'; 
138							var defaultIcon = L.icon({ 
139								iconUrl: defaultIconTheme, 
140								iconSize:     [36, 53], 
141								iconAnchor:   [18, 53], 
142								iconShadow:   [0,0], 
143								popupAnchor:  [0, -30] 
144							}); 
145							var marker = L.marker([lat, lng], {icon: defaultIcon}).addTo(mapContent); 
146 
147							//Contributor 
148							L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { 
149								attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.' 
150							}).addTo(mapContent); 
151							 
152						}); //AUI.ready 
153 
154						function showArticleMap(articleId){ 
155							if($("#article-map-wrapper-"+articleId).hasClass("hide-visibility")){ 
156								$(".toggle-switch-check").attr( 'checked', '' ); 
157								$(".label-map").text("${languageUtil.get(request, 'infoasturias-mice-ocultar-ubicacion')}"); 
158								$("#article-map-wrapper-"+articleId).removeClass("hide-visibility"); 
159							}else{ 
160								$(".toggle-switch-check").removeAttr( 'checked'); 
161								$(".label-map").text("${languageUtil.get(request, 'infoasturias-mice-mostrar-ubicacion')}"); 
162								$("#article-map-wrapper-"+articleId).addClass("hide-visibility"); 
163
164
165					</script> 
166				</div> 
167			</div> 
168		</#if> 
169		<#if concejo?size gt 0 || validator.isNotNull(Direccion.getData()) || validator.isNotNull(CP.getData()) || validator.isNotNull(Poblacion.getData()) || validator.isNotNull(Telefono.getData()) || validator.isNotNull(Email.getData()) || validator.isNotNull(Web.getData()) || validator.isNotNull(PersonaDeContacto.getData()) || validator.isNotNull(Cargo.getData()) || validator.isNotNull(RedesSociales.Facebook.getData()) || validator.isNotNull(RedesSociales.Twitter.getData()) || validator.isNotNull(RedesSociales.Instagram.getData()) || validator.isNotNull(RedesSociales.Linkedin.getData()) || validator.isNotNull(RedesSociales.TikTok.getData()) || validator.isNotNull(RedesSociales.Youtube.getData()) || validator.isNotNull(RedesSociales.Pinterest.getData())> 
170		    <div class="article-info-table mb-4"> 
171			<div class="article-info-table-row"> 
172				<#if validator.isNotNull(Direccion.getData()) || validator.isNotNull(CP.getData()) || validator.isNotNull(Poblacion.getData()) || validator.isNotNull(Telefono.getData()) || validator.isNotNull(Email.getData()) || validator.isNotNull(Web.getData()) || validator.isNotNull(PersonaDeContacto.getData()) || validator.isNotNull(Cargo.getData())> 
173					<div class="article-info-table-cell col-lg-7 col-12"> 
174						<ul class="article-list list-unstyled article-list-info"> 
175							<#if validator.isNotNull(Direccion.getData())> 
176								<li class="article-list-item"> 
177									<span class="far fa-address-card"> 
178										<span class="hide-accessible">${languageUtil.get(request,"address")}</span> 
179									</span> 
180									<span class="field-wrapper"> 
181										<span class="field">${languageUtil.get(request, "address")}:</span> 
182										<span class="text">${Direccion.getData()}</span> 
183										<#if validator.isNotNull(CP.getData()) && validator.isNotNull(Poblacion.getData())> 
184											<span class="text"> ■ ${CP.getData()} - ${Poblacion.getData()}</span> 
185										</#if> 
186									</span> 
187								</li> 
188							</#if> 
189							 
190							<#if Telefono.getSiblings()?has_content>								 
191								<li class="article-list-item"> 
192									<span class="fas fa-phone-alt"> 
193										<span class="hide-accessible">${languageUtil.get(request,"phone")}</span> 
194									</span> 
195									<span class="field-wrapper"> 
196										<span class="field">${languageUtil.get(request, "phone")}:</span> 
197										<#list Telefono.getSiblings() as telephone> 
198										<#assign numberTelefono = telephone.data?replace(" ", "")/>	 
199										<#assign numberLength = numberTelefono?length/> 
200										<#if numberLength == 9> 
201											<#assign number = "+34${numberTelefono}"/> 
202										<#else> 
203											<#assign number = numberTelefono/> 
204										</#if> 
205										<span class="text"> 
206											<a href="tel:${number}" itemprop="telephone">${telephone.data}</a> 
207											<#if !telephone?is_last>|</#if> 
208										</span> 
209										</#list>													 
210									</span> 
211								</li> 
212							</#if> 
213							<#if validator.isNotNull(Email.getData())> 
214								<li class="article-list-item"> 
215									<span class="far fa-envelope"> 
216										<span class="hide-accessible">${languageUtil.get(request,"email")}</span> 
217									</span> 
218									<span class="field-wrapper"> 
219										<span class="field">${languageUtil.get(request, "email")}:</span> 
220										 
221										<span class="text"> 
222											<a class="" href="mailto:${Email.getData()}" title="${languageUtil.format(request,'send-email-to-x', 'Email.getData()')}" itemprop="email">${Email.getData()}</a>	 
223										</span> 
224										 
225									</span> 
226								</li> 
227							</#if> 
228							<#if validator.isNotNull(Web.getData())> 
229								<li class="article-list-item web"> 
230									<span class="fas fa-link"> 
231										<span class="hide-accessible">${languageUtil.get(request,"site")}</span> 
232									</span> 
233									<span class="field-wrapper"> 
234										<span class="field">${languageUtil.get(request, "site")}:</span> 
235											<span class="text"> 
236												<#assign linkURL = Web.getData()/> 
237												<#if !stringUtil.startsWith(linkURL, "http")> 
238													<#assign linkURL = "https://${Web.getData()}"/> 
239												</#if> 
240												<a href="${linkURL}" title="${languageUtil.format(request,'go-to-x', 'site')}" itemprop="url">${Web.getData()}</a> 
241											</span> 
242									</span> 
243								</li> 
244							</#if>	 
245						</ul> 
246					</div> 
247				</#if> 
248					 
249				<#if validator.isNotNull(Servicios.getData()) || validator.isNotNull(RedesSociales.Facebook.getData()) || validator.isNotNull(RedesSociales.Twitter.getData()) || validator.isNotNull(RedesSociales.Instagram.getData()) || validator.isNotNull(RedesSociales.Linkedin.getData()) || validator.isNotNull(RedesSociales.TikTok.getData()) || validator.isNotNull(RedesSociales.Youtube.getData()) || validator.isNotNull(RedesSociales.Pinterest.getData())> 
250					<div class="article-info-table-cell col-lg-5 col-12">						 
251						<#if validator.isNotNull(Servicios.getData()) || validator.isNotNull(RedesSociales.Facebook.getData()) || validator.isNotNull(RedesSociales.Twitter.getData()) || validator.isNotNull(RedesSociales.Instagram.getData()) || validator.isNotNull(RedesSociales.Linkedin.getData()) || validator.isNotNull(RedesSociales.TikTok.getData()) || validator.isNotNull(RedesSociales.Youtube.getData()) || validator.isNotNull(RedesSociales.Pinterest.getData())> 
252							<#if validator.isNotNull(Servicios.getData())> 
253								<div class="article-description mt-2 mb-4"> 
254									${Servicios.getData()} 
255								</div> 
256							</#if> 
257							<div class="socials-wrapper"> 
258								<div class="socials"> 
259									<ul class="list-inline items socials"> 
260										<#if validator.isNotNull(RedesSociales.Facebook.getData())> 
261											<#assign linkURL = RedesSociales.Facebook.data/> 
262												 
263												<#if !stringUtil.startsWith(linkURL, "http")> 
264													<#assign linkURL = "https://${RedesSociales.Facebook.data}"/> 
265												</#if> 
266											<li class="list-inline-item item facebook"> 
267												<a href="${linkURL}" title="${languageUtil.format(request,'go-to-x','Facebook')}" onclick="this.target='_blank'"> 
268													<span class="fab fa-facebook-f"> 
269														<span class="hide-accessible">${languageUtil.format(request,'go-to-x','Facebook')}</span> 
270													</span> 
271												</a> 
272											</li> 
273										</#if> 
274										<#if validator.isNotNull(RedesSociales.Twitter.getData())> 
275											<#assign linkURL = RedesSociales.Twitter.data/> 
276												 
277												<#if !stringUtil.startsWith(linkURL, "http")> 
278													<#assign linkURL = "https://${RedesSociales.Twitter.data}"/> 
279												</#if> 
280											<li class="list-inline-item item twitter"> 
281												<a href="${linkURL}" title="${languageUtil.format(request,'go-to-x','Twitter')}" onclick="this.target='_blank'"> 
282													<span class="fab fa-twitter"> 
283														<span class="hide-accessible">${languageUtil.format(request,'go-to-x','Twitter')}</span> 
284													</span> 
285												</a> 
286											</li> 
287										</#if> 
288										<#if validator.isNotNull(RedesSociales.Instagram.getData())> 
289											 
290											<#if RedesSociales.Instagram.data?has_content> 
291												<#assign linkURL = RedesSociales.Instagram.data/> 
292												 
293												<#if !stringUtil.startsWith(linkURL, "http")> 
294													<#assign linkURL = "https://${RedesSociales.Instagram.data}"/> 
295												</#if> 
296												<li class="list-inline-item item instagram"> 
297													<a href="${linkURL}" title="${languageUtil.format(request,'go-to-x','Instagram')}" onclick="this.target='_blank'"> 
298														<span class="fab fa-instagram"> 
299															<span class="hide-accessible">${languageUtil.format(request,'go-to-x','Instagram')}</span> 
300														</span> 
301													</a> 
302												</li> 
303											</#if> 
304										</#if> 
305										<#if validator.isNotNull(RedesSociales.Youtube.getData())> 
306											<#assign linkURL = RedesSociales.Youtube.data/> 
307												 
308												<#if !stringUtil.startsWith(linkURL, "http")> 
309													<#assign linkURL = "https://${RedesSociales.Youtube.data}"/> 
310												</#if> 
311											<li class="list-inline-item item youtube"> 
312												<a href="${linkURL}" title="${languageUtil.format(request,'go-to-x','Youtube')}" onclick="this.target='_blank'"> 
313													<span class="fab fa-youtube"> 
314														<span class="hide-accessible">${languageUtil.format(request,'go-to-x','Youtube')}</span> 
315													</span> 
316												</a> 
317											</li> 
318										</#if> 
319										<#if validator.isNotNull(RedesSociales.Linkedin.getData())> 
320											<#if RedesSociales.Linkedin.data?has_content> 
321												<#assign linkURL = RedesSociales.Linkedin.data/> 
322												 
323												<#if !stringUtil.startsWith(linkURL, "http")> 
324													<#assign linkURL = "https://${RedesSociales.Linkedin.data}"/> 
325												</#if> 
326												<li class="list-inline-item item linkedin"> 
327													<a href="${linkURL}" title="${languageUtil.format(request,'go-to-x','Linkedin')}" onclick="this.target='_blank'"> 
328														<span class="fab fa-linkedin"> 
329															<span class="hide-accessible">${languageUtil.format(request,'go-to-x','Linkedin')}</span> 
330														</span> 
331													</a> 
332												</li> 
333											</#if> 
334										</#if> 
335										<#if validator.isNotNull(RedesSociales.TikTok.getData())> 
336											<#if RedesSociales.TikTok.data?has_content> 
337												<#assign linkURL = RedesSociales.TikTok.data/> 
338												 
339												<#if !stringUtil.startsWith(linkURL, "http")> 
340													<#assign linkURL = "https://${RedesSociales.TikTok.data}"/> 
341												</#if> 
342												<li class="list-inline-item item tiktok"> 
343													<a href="${linkURL}" title="${languageUtil.format(request,'go-to-x','Tiktok')}" onclick="this.target='_blank'"> 
344														<span class="fab fa-tiktok"> 
345															<span class="hide-accessible">${languageUtil.format(request,'go-to-x','Tiktok')}</span> 
346														</span> 
347													</a> 
348												</li> 
349											</#if> 
350										</#if> 
351										<#if validator.isNotNull(RedesSociales.Pinterest.getData())> 
352											<#assign linkURL = RedesSociales.Pinterest.data/> 
353												 
354												<#if !stringUtil.startsWith(linkURL, "http")> 
355													<#assign linkURL = "https://${RedesSociales.Pinterest.data}"/> 
356												</#if> 
357											<li class="list-inline-item item pinterest"> 
358												<a href="${linkURL}" title="${languageUtil.format(request,'go-to-x','Pinterest')}" onclick="this.target='_blank'"> 
359													<span class="fab fa-pinterest-p"> 
360														<span class="hide-accessible">${languageUtil.format(request,'go-to-x','Pinterest')}</span> 
361													</span> 
362												</a> 
363											</li> 
364										</#if> 
365									</ul> 
366								</div> 
367							</div> 
368						</#if> 
369					</div> 
370				</#if> 
371			</div>	 
372            </div> 
373		</#if> 
374	</div> 
375</article>