Si necesitas una empresa que te entregue el proyecto de tu evento llave en mano o estás buscando un servicio profesional complementario para el diseño y la puesta en marcha de un encuentro corporativo, aquí puedes encontrar empresas en Asturias que trabajan en la organización y realización de eventos, congresos, eventos e incentivos. 

Atrás Cade Comunicación

Se ha producido un error al procesar la plantilla.
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@1d931f40"; 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>