Si è verificato un errore nell'elaborarazione del modello.
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@7e64bc31"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign slideThumbnail3 = dlTool.getT...  [in template "37703#37743#1558915" at line 348, column 49]
----
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 
6<#-- Reserved vbles --> 
7<#assign title = .vars['reserved-article-title'].data> 
8<#assign articleId=.vars["reserved-article-id"].data /> 
9<#assign description=.vars["reserved-article-description"].data /> 
10<#assign smallImageUrl=.vars["reserved-article-small-image-url"].data /> 
11<#assign date=.vars["reserved-article-display-date"].data /> 
12<#assign request = .vars['request']> 
13 
14<#-- Init --> 
15<#assign assetEntry = journalTool.getAssetEntryByArticleId(groupId, articleId)> 
16<#assign journalArticle = journalTool.getJournalArticleByAssetEntry(assetEntry)> 
17<#assign articleURL = themeDisplay.getURLPortal()+themeDisplay.getURLCurrent()> 
18<#assign articleSocialBookmarks = themeDisplay.getThemeSetting("article-social-bookmarks")!> 
19<#assign layoutSetBannerPath = layoutTool.getLayoutSetBannerPath(groupId, themeDisplay.getLayout().isPrivateLayout())!> 
20<#assign articleMainImageThumbnail3 = dlTool.getThumbnail(smallImageUrl, "3", layoutSetBannerPath)! /> 
21<#assign articleMainImageThumbnail1 = dlTool.getThumbnail(smallImageUrl, "1")! /> 
22 
23<#assign ddmStructureNameNormalize = "template-${friendlyURLNormalizerTool.normalize(journalArticle.getDDMStructure().getName(localeUtil.getDefault()))}" /> 
24 
25<#-- Build --> 
26<#if Nombre.data?has_content> 
27	<#assign title = Nombre.data> 
28</#if> 
29<#assign address = ""> 
30<#if Contacto.Direccion.data?has_content> 
31	<#assign address = address +"${htmlUtil.extractText(Contacto.Direccion.data)}" /> 
32</#if> 
33<#assign altImgDestacada = title /> 
34<#if AltImagenDestacada ??> 
35	<#if validator.isNotNull(AltImagenDestacada.getData())> 
36		<#assign altImgDestacada = AltImagenDestacada.getData() /> 
37	</#if> 
38</#if> 
39 
40<article class="template ${ddmStructureNameNormalize}" role="article" itemscope itemtype="http://schema.org/TouristicAttraction"> 
41	 
42	<header class="article-header-wrapper row no-gutters"> 
43	     
44		<div class="article-header-container article-header-container-static"> 
45			<div class="container"> 
46				<div class="row no-gutters"> 
47					<div class="col-md-6"> 
48						<div class="article-image" style="background-image: url('${articleMainImageThumbnail3}')"> 
49							<img class="sr-only" src="${articleMainImageThumbnail3}" alt="${altImgDestacada}" itemprop="image"/> 
50						</div> 
51					</div> 
52					<div class="article-info-wrapper col-md-6"> 
53						<div class="article-info"> 
54							<h2 class="article-title" itemprop="name">${title}</h2> 
55							<div class="article-list-wrapper"> 
56																						 
57								<ul class="article-list list-unstyled article-list-info"> 
58									<li class="article-list-item mb-4"> 
59										<span class="fas fa-map-marker-alt"> 
60											<span class="hide-accessible">${languageUtil.get(request,"title")}</span> 
61										</span> 
62										<span class="field-wrapper"> 
63											<#if Contacto.Concejo.data?has_content> 
64												<span class="important">${Contacto.Concejo.data}</span> 
65											</#if> 
66											<#if Contacto.Zona.data?has_content> 
67												<span class="text d-block">${Contacto.Zona.data}</span> 
68											</#if> 
69										</span> 
70									</li> 
71									 
72									<#if address?has_content> 
73										<li class="article-list-item"> 
74											<span class="far fa-address-card"> 
75												<span class="hide-accessible">${languageUtil.get(request,"address")}</span> 
76											</span> 
77											<span class="field-wrapper"> 
78												<span class="field">${languageUtil.get(request, "address")}:</span> 
79												<span class="text" itemprop="address">${address}</span> 
80											</span> 
81										</li> 
82									</#if> 
83									 
84									<#if Contacto.Telefono.data?has_content>									 
85										<li class="article-list-item"> 
86											<span class="fas fa-phone-alt"> 
87												<span class="hide-accessible">${languageUtil.get(request,"phone")}</span> 
88											</span> 
89											<span class="field-wrapper"> 
90												<span class="field">${languageUtil.get(request, "phone")}:</span> 
91											<#list Contacto.Telefono.getSiblings() as telephone> 
92												<#assign rawTelefono = telephone.data /> 
93												<#assign cleanTelefono = rawTelefono?replace("\\(.*?\\)", "", "r") /> 
94												<#assign numberTelefono = cleanTelefono?replace("[^0-9]", "", "r") /> 
95												<#assign numberLength = numberTelefono?length /> 
96												<#if numberLength == 9> 
97												  <#assign hrefNumber = "+34${numberTelefono}" /> 
98												<#else> 
99												  <#assign hrefNumber = numberTelefono /> 
100												</#if> 
101												<span class="text"> 
102													<a href="tel:${hrefNumber}" itemprop="telephone">${rawTelefono}</a> 
103													<#if !telephone?is_last>|</#if> 
104												</span> 
105											</#list> 
106											</span> 
107										</li> 
108									</#if> 
109									<#if Contacto.whatsapp ??> 
110										<#if Contacto.whatsapp.data?has_content> 
111											<#assign numberWhatsapp = Contacto.whatsapp.data?replace(" ", "")/> 
112											<li class="article-list-item"> 
113												<span class="fab fa-whatsapp"> 
114													<span class="hide-accessible">WhatsApp</span> 
115												</span> 
116												<span class="field-wrapper"> 
117													<span class="field">WhatsApp:</span> 
118													<span class="text" itemprop="telephone"><a href="https://wa.me/34${numberWhatsapp}">${Contacto.whatsapp.data}</a></span> 
119												</span> 
120											</li> 
121										</#if> 
122									</#if> 
123 
124									<#if Contacto.Email.getData()?has_content> 
125										<li class="article-list-item"> 
126											<span class="far fa-envelope"> 
127												<span class="hide-accessible">${languageUtil.get(request,"email")}</span> 
128											</span> 
129											<span class="field-wrapper"> 
130												<span class="field">${languageUtil.get(request, "email")}:</span> 
131												<span class="text"> 
132													<#list Contacto.Email.getSiblings() as Item> 
133														<#if validator.isNotNull(Item.data)> 
134															<a class="" href="mailto:${Item.data}" title="${languageUtil.format(request,'go-to-x', 'email')}" itemprop="email">${Item.data}</a><#if Item_has_next>, </#if> 
135														</#if> 
136													</#list> 
137												</span> 
138											</span> 
139										</li> 
140									</#if> 
141 
142									<#if Contacto.Web.data?has_content> 
143										<li class="article-list-item web"> 
144											<span class="fas fa-link"> 
145												<span class="hide-accessible">${languageUtil.get(request,"site")}</span> 
146											</span> 
147											<span class="field-wrapper"> 
148												<span class="field">${languageUtil.get(request, "site")}:</span> 
149												<span class="text"> 
150													<a href="${Contacto.Web.data}" title="${languageUtil.format(request,'go-to-x', 'site')}" itemprop="url">${Contacto.Web.data}</a> 
151												</span> 
152											</span> 
153										</li> 
154									</#if> 
155			 
156									 
157								</ul> 
158							</div> 
159							 
160							<#if validator.isNotNull(RedesSociales.Facebook.data) || validator.isNotNull(RedesSociales.Twitter.data) || validator.isNotNull(RedesSociales.Youtube.data) || validator.isNotNull(RedesSociales.Pinterest.data) || validator.isNotNull(RedesSociales.Instagram.data) || validator.isNotNull(RedesSociales.Rss.data) || validator.isNotNull(RedesSociales.OtrosCanales.NombreCanal.data)> 
161								<div class="article-socials-wrapper mt-4"> 
162									<div class="socials-wrapper"> 
163										<div class="socials"> 
164											<ul class="list-inline items socials"> 
165												<#if RedesSociales.Facebook.data?has_content> 
166													<li class="list-inline-item item facebook"> 
167														<a href="${RedesSociales.Facebook.data}" title="${languageUtil.format(request,'go-to-x','Facebook')}" onclick="this.target='_blank'"> 
168															<span class="fab fa-facebook-f"> 
169																<span class="hide-accessible">${languageUtil.format(request,'go-to-x','Facebook')}</span> 
170															</span> 
171														</a> 
172													</li> 
173												</#if> 
174												<#if RedesSociales.Twitter.data?has_content> 
175													<li class="list-inline-item item twitter"> 
176														<a href="${RedesSociales.Twitter.data}" title="${languageUtil.format(request,'go-to-x','Twitter')}" onclick="this.target='_blank'"> 
177															<span class="fa-brands fa-x twitter"> 
178																<span class="hide-accessible">${languageUtil.format(request,'go-to-x','Twitter')}</span> 
179															</span> 
180														</a> 
181													</li> 
182												</#if> 
183												<#if RedesSociales.Youtube.data?has_content> 
184													<li class="list-inline-item item youtube"> 
185														<a href="${RedesSociales.Youtube.data}" title="${languageUtil.format(request,'go-to-x','Youtube')}" onclick="this.target='_blank'"> 
186															<span class="fab fa-youtube"> 
187																<span class="hide-accessible">${languageUtil.format(request,'go-to-x','Youtube')}</span> 
188															</span> 
189														</a> 
190													</li> 
191												</#if> 
192												<#if RedesSociales.Pinterest.data?has_content> 
193													<li class="list-inline-item item pinterest"> 
194														<a href="${RedesSociales.Pinterest.data}" title="${languageUtil.format(request,'go-to-x','Pinterest')}" onclick="this.target='_blank'"> 
195															<span class="fab fa-pinterest-p"> 
196																<span class="hide-accessible">${languageUtil.format(request,'go-to-x','Pinterest')}</span> 
197															</span> 
198														</a> 
199													</li> 
200												</#if> 
201												<#if RedesSociales.Instagram.data?has_content> 
202													<li class="list-inline-item item instagram"> 
203														<a href="${RedesSociales.Instagram.data}" title="${languageUtil.format(request,'go-to-x','Instagram')}" onclick="this.target='_blank'"> 
204															<span class="fab fa-instagram"> 
205																<span class="hide-accessible">${languageUtil.format(request,'go-to-x','Instagram')}</span> 
206															</span> 
207														</a> 
208													</li> 
209												</#if> 
210												<#if RedesSociales.Rss.data?has_content> 
211													<li class="list-inline-item item rss"> 
212														<a href="${RedesSociales.Rss.data}" title="${languageUtil.format(request,'go-to-x','Rss')}" onclick="this.target='_blank'"> 
213															<span class="fas fa-rss"> 
214																<span class="hide-accessible">${languageUtil.format(request,'go-to-x','Rss')}</span> 
215															</span> 
216														</a> 
217													</li> 
218												</#if> 
219												<#list RedesSociales.OtrosCanales.NombreCanal.getSiblings() as Canal> 
220													<#if Canal.CanalUrl.data?has_content> 
221													<li class="list-inline-item item instagram"> 
222														<a href="${Canal.CanalUrl.data}" title="${languageUtil.format(request,'go-to-x',Canal.data)}" onclick="this.target='_blank'"> 
223															<span class="fas fa-share-alt"> 
224																<span class="hide-accessible">${languageUtil.format(request,'go-to-x',Canal.data)}</span> 
225															</span> 
226														</a> 
227													</li> 
228													</#if> 
229												</#list> 
230											</ul> 
231										</div> 
232									</div> 
233								</div> 
234							</#if> 
235							<#if getterUtil.getBoolean(Informacion.PatromonioUnesco.getData()) || getterUtil.getBoolean(Informacion.ReservaBiosfera.getData())> 
236								<div class="article-info-table"> 
237									<ul class="article-list article-list-characteristics article-info-border"> 
238										<#if Informacion.PatromonioUnesco.data?has_content && Informacion.PatromonioUnesco.data == "true"> 
239											<li class="list-inline-item"> 
240												<img class="" src="${themeDisplay.getPathThemeImages()}/icons/unesco.png" data-toggle="tooltip" data-placement="bottom" title="${languageUtil.get(request, 'infoasturias-patrimonio-unesco')}" alt="${languageUtil.get(request, 'infoasturias-patrimonio-unesco')}"/> 
241											</li> 
242										</#if> 
243 
244										<#if Informacion.ReservaBiosfera.data?has_content && Informacion.ReservaBiosfera.data == "true"> 
245											<li class="list-inline-item"> 
246												<img class="" src="${themeDisplay.getPathThemeImages()}/icons/bioesfera.png" data-toggle="tooltip" data-placement="bottom" title="${languageUtil.get(request, 'infoasturias-reserva-biosfera')}" alt="${languageUtil.get(request, 'infoasturias-reserva-biosfera')}"/> 
247											</li> 
248										</#if>	 
249									</ul> 
250								</div> 
251							</#if> 
252							 
253						</div> 
254					</div> 
255				</div> 
256			</div> 
257		</div>  
258	</header> 
259	 
260	<div class="sheet sheet-lg"> 
261		<div class="article-section">	 
262			<#if Informacion.Titulo.data?has_content> 
263				<div class="article-great"> 
264					${Informacion.Titulo.data} 
265				</div>	 
266			</#if> 
267			<#if Contenido??> 
268				<#list Contenido.getSiblings() as Item> 
269					<#if Item.ContenidoTitulo.data?has_content || Item.ContenidoTexto.data?has_content || Item.ContenidoTexto.ContentImagen.data?has_content> 
270						<#assign curImgAlt = Item.ContenidoTexto.ContentImagen.AltImage.getData()/> 
271						<#if Item.ContenidoTexto.ContentImagen.AltImage??>		 
272							<#if validator.isNotNull(Item.ContenidoTexto.ContentImagen.AltImage.getData())> 
273								<#assign curImgAlt = Item.ContenidoTexto.ContentImagen.AltImage.getData()/> 
274							</#if>		 
275						</#if> 
276						<#assign curImgTitle = Item.ContenidoTexto.ContentImagen.TitleImage.getData()/> 
277						<#if Item.ContenidoTexto.ContentImagen.TitleImage??>		 
278							<#if validator.isNotNull(Item.ContenidoTexto.ContentImagen.TitleImage.getData())> 
279								<#assign curImgTitle = Item.ContenidoTexto.ContentImagen.TitleImage.getData()/>	 
280							</#if>		 
281						</#if> 
282						<#assign tipoHeading = ""/>	 
283						<#if Item.ContenidoTitulo.headingTipo??>		 
284							<#if validator.isNotNull(Item.ContenidoTitulo.headingTipo.getData())> 
285								<#assign tipoHeading = Item.ContenidoTitulo.headingTipo.getData()/>	 
286							</#if> 
287						</#if> 
288						<div class="article-section-content"> 
289							<#if themeDisplay.isSignedIn()> 
290								<div class="portlet-msg-info infoparrafo"> 
291									<p class="text-center"> 
292										<#assign cIndex = Item?index + 1 /> 
293										<span class="important">Contenido <#if Item?index gt 0> ${cIndex}</#if></span> 
294										(Información visible únicamente para usuarios logueados) 
295									</p> 
296								</div> 
297							</#if> 
298							<#if Item.ContenidoTitulo.data?has_content> 
299								<#if tipoHeading == "h2"> 
300									<h2 class="h3 text-center mt-6 mb-5"> 
301										${Item.ContenidoTitulo.data} 
302									</h2> 
303								<#elseif tipoHeading == "h3"> 
304									<h3 class="h3 mt-6 mb-5"> 
305										${Item.ContenidoTitulo.data} 
306									</h3>	 
307								<#elseif tipoHeading == "h4"> 
308									<h4 class="h4 font-weight-semi-bold mt-6 mb-4"> 
309										${Item.ContenidoTitulo.data} 
310									</h4>							 
311								<#else> 
312									<div class="h4 font-weight-normal mt-6 mb-4"> 
313										${Item.ContenidoTitulo.data} 
314									</div>	 
315								</#if> 
316							</#if> 
317							<div class="article-section-info"> 
318								<#if Item.ContenidoTexto.data?has_content> 
319									${Item.ContenidoTexto.data} 
320								</#if> 
321								<#if Item.ContenidoTexto.ContentImagen.data?has_content> 
322									<div class="article-section-image-wrapper"> 
323										<div class="article-section-image"> 
324											<img src="${dlTool.getThumbnail(Item.ContenidoTexto.ContentImagen.data, '3')}" class="rounded" alt="${curImgAlt}" title="${curImgTitle}"/> 
325											<#if Item.ContenidoTexto.ContentImagen.PieImage.data?has_content> 
326												<div class="article-section-image-footer">${Item.ContenidoTexto.ContentImagen.PieImage.data}</div> 
327											</#if> 
328										</div> 
329									</div> 
330								</#if> 
331							</div> 
332						</div> 
333					</#if> 
334				</#list> 
335			</#if>		 
336		</div> 
337		<#assign hasTab1 = Informacion.Texto.data?has_content> 
338		<#assign hasTab2 = Informacion.Tarifas?? || Informacion.Tarifas.data?has_content || Informacion.Horario??  || Informacion.Horario.data?has_content> 
339		<#assign hasTab3 = Geolocalizacion.Coordenadas.data?has_content> 
340		<#assign showFirstTab = true> 
341		 
342		<div class="article-accordion accordion"> 
343 
344			<#if Visualizador.Slide.getData()?has_content> 
345				<h3 class="h3">${languageUtil.get(locale,"model.resource.com.liferay.portlet.imagegallery")}</h3> 
346				<div class="slick article-slick article-section <#if Visualizador.Slide.getSiblings()?size==1>hide</#if>"> 
347					<#list Visualizador.Slide.getSiblings() as Slide> 
348						<#assign slideThumbnail3 = dlTool.getThumbnailByJSON(Slide.data, "3")! /> 
349						<#assign slideThumbnail2 = dlTool.getThumbnailByJSON(Slide.data, "2")! /> 
350						<#assign slidePath = dlTool.getPathByJSON(Slide.data, themeDisplay.getScopeGroupId())! /> 
351						<#assign slideUrl = Slide.SlideUrl.data /> 
352						<#assign dataMap = "" /> 
353 
354						<#if slideUrl?has_content> 
355 
356							<#assign slideTitle = "${languageUtil.get(request, 'video')} ${Slide?index}" /> 
357							<#if Slide.SlideTitulo.data?has_content> 
358								<#assign slideTitle = Slide.SlideTitulo.data />   
359							</#if> 
360 
361							<#-- Youtube --> 
362							<#assign slideUrl = stringUtil.replace(slideUrl, 'watch?v=', 'embed/') /> 
363							<#assign slideThumbnail2 = stringUtil.replace(slideUrl, 'www', 'img') /> 
364							<#assign slideThumbnail2 = stringUtil.replace(slideThumbnail2, 'embed', 'vi') /> 
365							<#assign slideThumbnail2 = '${slideThumbnail2}/mqdefault.jpg' /> 
366 
367							<#-- Vimeo --> 
368							<#if slideUrl?contains("vimeo")> 
369								<#assign slideUrl = stringUtil.replace(slideUrl, 'http://vimeo.com/', 'https://player.vimeo.com/video/') /> 
370								<#assign slideVimeoId = stringUtil.extractLast(slideUrl, 'https://player.vimeo.com/video/') /> 
371								<#if slideVimeoId?has_content> 
372									<#assign slideVimeoJsonPath = 'http://vimeo.com/api/v2/video/${slideVimeoId}.json' /> 
373									<#assign slideVimeoJsonContent = getUrlContent.getContent(slideVimeoJsonPath)! /> 
374									<#if slideVimeoJsonContent?has_content> 
375										<#assign slideVimeoJsonArray = jsonFactoryUtil.createJSONArray(slideVimeoJsonContent) /> 
376										<#assign slideVimeoJsonItem = slideVimeoJsonArray.get(0) /> 
377										<#assign slideThumbnail2 = slideVimeoJsonItem.thumbnail_medium /> 
378									</#if> 
379								</#if> 
380							</#if> 
381 
382							<div id="slide-${Slide?index}" class="slide"> 
383								<a class="card card-simple card-video" href="#" onclick="javascript: event.preventDefault(); showDialogIframe('${slideUrl}', '${slideTitle}', 800, 600, 'videoPopup', 'videoPopupIframe');" title="${slideTitle}"> 
384									<span class="d-block image-wrapper aspect-ratio-bg-cover aspect-ratio-4-to-3" style="background-image: url('${slideThumbnail2}');"> 
385									<img class="hide-accessible" alt="${slideTitle}" src="${slideThumbnail2}"> 
386								</a> 
387							</div> 
388						<#else> 
389 
390							<#assign slideTitle = "${languageUtil.get(request, 'image')} ${Slide?index}" /> 
391							<#if Slide.SlideTitulo.data?has_content> 
392								<#assign slideTitle = Slide.SlideTitulo.data />   
393							</#if> 
394							<#assign slideAlt = "${slideTitle}" />									 
395							<#if Slide.ImagenAlt ??>							 
396							    <#if Slide.ImagenAlt.data?has_content> 
397									<#assign slideAlt = Slide.ImagenAlt.data />   
398								</#if> 
399							</#if> 
400							<div class="slide"> 
401								<a class="card card-simple lightbox" href="${slidePath}" title="${slideTitle}"> 
402									<span class="d-block image-wrapper aspect-ratio-bg-cover aspect-ratio-4-to-3" style="background-image: url('${slideThumbnail2}');"> 
403									<img class="hide-accessible" alt="${slideAlt}" src="${slideThumbnail2}"> 
404								</a> 
405							</div> 
406						</#if> 
407					</#list> 
408				</div> 
409			</#if> 
410		 
411			<#if hasTab1> 
412				<div id="tab1" class="article-section accordion-item"> 
413					<a href="#tabContent1" id="tabHeading" class="tab <#if !showFirstTab>collapsed</#if>" aria-expanded="${getterUtil.getString(showFirstTab)}" data-toggle="liferay-collapse" aria-controls="tabContent1" role="button"> 
414							<h3 class="h3 accordion-header">${languageUtil.get(request,'info')}</h3> 
415					</a> 
416					<div id="tabContent1" class="article-section-content article-section-info accordion-collapse collapse <#if showFirstTab>show</#if>" aria-labelledby="tabHeading"> 
417						<#if Informacion.Texto.data?has_content> 
418							${Informacion.Texto.data} 
419						</#if> 
420						<#if Informacion.FechaDeConstruccion.data?has_content> 
421							<span class="field">${languageUtil.get(request, "infoasturias-fecha-de-construccion")}:</span> 
422							<span class="text">${htmlUtil.extractText(Informacion.FechaDeConstruccion.data)}</span> 
423						</#if> 
424					</div> 
425				</div> 
426				<#assign showFirstTab = false> 
427			</#if> 
428			<#if hasTab2> 
429				<div id="tab2" class="article-section accordion-item"> 
430					<a href="#tabContent2" id="tabHeading2" class="tab <#if !showFirstTab>collapsed</#if>"  aria-expanded="${getterUtil.getString(showFirstTab)}" data-toggle="liferay-collapse" aria-controls="tabContent2" role="button"><h3 class="h3 accordion-header">${languageUtil.get(request,'infoasturias-horarios-y-tarifas')}</h3></a> 
431					<div id="tabContent2" class="article-section-content article-section-color article-section-background accordion-collapse collapse <#if showFirstTab>show</#if>" aria-labelledby="tabHeading2"> 
432						 
433						<#if Informacion.Horario.data?has_content> 
434							<div class="mb-1 font-weight-semi-bold text-success"><span class="far fa-clock mr-2 text-success"></span>${languageUtil.get(request,'infoasturias-horario')}:</div> 
435							<div class="mb-4">${Informacion.Horario.data}</div> 
436						</#if> 
437						 
438						<#if Informacion.Tarifas.data?has_content> 
439							<div class="mb-1 font-weight-semi-bold text-success"><span class="fas fa-coins mr-2 text-success"></span>${languageUtil.get(request,'infoasturias-tarifas')}:</div>						 
440							<div>${Informacion.Tarifas.data}</div> 
441						</#if> 
442					</div> 
443				</div> 
444				<#assign showFirstTab = false> 
445			</#if>				 
446			<#if hasTab3> 
447				<#assign coordenadas=stringUtil.split(Geolocalizacion.Coordenadas.data) /> 
448				<div id="tab3" class="article-section article-sectio0n-map accordion-item"> 
449					<a href="#tabContent3" id="tabHeading3" class="tab <#if !showFirstTab>collapsed</#if>"  aria-expanded="${getterUtil.getString(showFirstTab)}" data-toggle="liferay-collapse" aria-controls="tabContent3" role="button"> 
450						<h3 class="h3 accordion-header">${languageUtil.get(request,'map')}</h3> 
451					</a> 
452					<div id="tabContent3" class="article-section-content accordion-collapse collapse <#if showFirstTab>show</#if>" aria-labelledby="tabHeading3"> 
453						<div id="article-map-wrapper-${articleId}" class="article-map-wrapper">  
454							<div id="article-map-content-${articleId}" style="width: 100%; height: 388px; z-index:1"><!-- MAP --></div> 
455							<div class="article-map-form">  
456								<div class="name important">${title}</div> 
457								<div class="gps"><span class="label">GPS:</span> <span class="value important" itemprop="geo">${Geolocalizacion.Coordenadas.data}</span></div> 
458								<form action="https://maps.google.es/maps" method="get" target="_blank"> 
459									<input type="hidden" name="daddr" value="${coordenadas[0]},${coordenadas[1]}"> 
460									<label for="saddr"><span class="label">${languageUtil.get(request,'infoasturias-from')}: </span></label> 
461									<input class="form-control" type="text" maxlength="40" name="saddrText" id="saddrText" value="" placeholder="${languageUtil.get(request,'infoasturias-insert-from')}"> 
462									<input class="form-control" type="hidden" name="saddr" id="saddr" value="" placeholder="${languageUtil.get(request,'infoasturias-insert-from')}"> 
463									<button class="btn btn-text" type="submit">${languageUtil.get(request,'infoasturias-como-llegar')} &raquo;</button> 
464								</form> 
465							</div> 
466						</div> 
467						<script src="/o/turismo-asturias-theme/js/leaflet/leaflet.js"></script> 
468						<script type="text/javascript"> 
469							AUI().ready('aui-base', function(A){ 
470								var lat = ${coordenadas[0]}, 
471									lng = ${coordenadas[1]}, 
472									zoom = 16; 
473								mapContent = new L.map('article-map-content-${articleId}', {center: [lat, lng], zoom: 16}); 
474 
475								//Marker 
476								var defaultIconTheme = '/o/turismo-asturias-theme/css/images/icons/mark-box.png'; 
477								var defaultIcon = L.icon({ 
478									iconUrl: defaultIconTheme, 
479									iconSize:     [36, 53], 
480									iconAnchor:   [18, 53], 
481									iconShadow:   [0,0], 
482									popupAnchor:  [0, -30] 
483								}); 
484								var marker = L.marker([lat, lng], {icon: defaultIcon}).addTo(mapContent); 
485								 
486								var contentString = '<div class="row">'; 
487								contentString += '<div class="col-12">'; 
488								contentString += '<div class="h4">${htmlUtil.escape(title)}</div>'; 
489								contentString += '</div>'; 
490								contentString += '</div>'; 
491								 
492								contentString += '<div class="row">'; 
493								contentString += '<div class="col-12">'; 
494								<#if validator.isNotNull(articleMainImageThumbnail1)> 
495									contentString += '<img class="pull-right mb-2 ml-2" src="${articleMainImageThumbnail1}" alt="$title"/>'; 
496								</#if> 
497								contentString += '<dl class="mb-0">'; 
498								<#if address?has_content> 
499									contentString += '<dt>${languageUtil.get(request,'address')}</dt>'; 
500									contentString += '<dd>${address}</dd>'; 
501								</#if> 
502								<#if Contacto.Telefono.data?has_content> 
503									contentString += '<dt>${languageUtil.get(request,'phone')}</dt>'; 
504									contentString += '<dd>${Contacto.Telefono.data}</dd>'; 
505								</#if> 
506								<#if Contacto.Email.getData()?has_content> 
507									contentString += '<dt>${languageUtil.get(request,'email')}</dt>'; 
508									<#list Contacto.Email.getSiblings() as Item> 
509										contentString += '<dd><a href="mailto:${Item.data}" title="${languageUtil.format(request,'go-to-x', 'email')}">${Item.data}</a></dd>'; 
510									</#list> 
511								</#if> 
512								<#if Contacto.Web.data?has_content> 
513									contentString += '<dt>${languageUtil.get(request,'site')}</dt>'; 
514									contentString += '<dd><a href="${Contacto.Web.data}" title="${languageUtil.format(request,'go-to-x', 'site')}">${Contacto.Web.data}</a></dd'; 
515								</#if> 
516								contentString += '</dl>'; 
517								contentString += '</div>'; 
518								contentString += '</div>'; 
519								<#if validator.isNotNull(description)> 
520									contentString += '<div class="row"><div class="col-12">${description}</div></div>'; 
521								</#if> 
522								marker.bindPopup(contentString); 
523 
524								//Contributor 
525								L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { 
526									attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.' 
527								}).addTo(mapContent); 
528								 
529							}); //AUI.ready 
530						</script> 
531					</div> 
532				</div> 
533				<#assign showFirstTab = false> 
534			</#if> 
535			 
536		</div> 
537		 
538		<#if  validator.isNotNull(Informacion.Observaciones.data) ||  validator.isNotNull(Contacto.MasInformacion.data) > 
539			<div class="article-border"> 
540				<#if Informacion.Observaciones?has_content> 
541					${Informacion.Observaciones.data} 
542				</#if> 
543				<#if Contacto.MasInformacion?has_content> 
544					<#list  Contacto.MasInformacion.getSiblings() as Item> 
545						<#if stringUtil.matches(Item.data, "//") > 
546							<div><a class="" href="${Item.data}" title="${languageUtil.format(request,'go-to-x', 'link')}">${Item.data}</a></div> 
547						<#else> 
548							<div><span class="">${Item.data}</span></div> 
549						</#if> 
550					</#list> 
551				</#if> 
552			</div> 
553		</#if> 
554	</div> 
555	 
556	<#-- Related --> 
557	<#assign relatedJournalArticles = assetTool.getRelatedJournalArticlesApproved(assetEntry)/> 
558	<#if validator.isNotNull(relatedJournalArticles) && relatedJournalArticles?size gt 0> 
559		<div class="article-related portlet-background-grey-container"> 
560			<div class="container"> 
561				<h3 class="title-section">${languageUtil.get(request,'related-assets')}</h3> 
562				<div class="slick article-related-slick"> 
563					<#list relatedJournalArticles as currentJournalArticle> 
564						<#assign viewURL = journalTool.getDisplayPage(currentJournalArticle, themeDisplay, true)/> 
565							<div class="slide"> 
566								<a class="card background card-background-9-14"  href="${viewURL}" title="${languageUtil.format(request, 'go-to-x', currentJournalArticle.getTitle(locale))}"> 
567									<span class="d-block image-wrapper aspect-ratio-bg-cover" style="background-image: url('${currentJournalArticle.getSmallImageURL()}');"> 
568										<img class="hide-accessible" src="${currentJournalArticle.getSmallImageURL()}" alt="${currentJournalArticle.getTitle(locale)}"> 
569										<span class="card-body"> 
570											<span class="card-title">${currentJournalArticle.getTitle(locale)}</span> 
571										</span> 
572									</span> 
573								</a> 
574							</div> 
575					</#list> 
576				</div> 
577			</div> 
578		</div> 
579	</#if> 
580	 
581	<#-- Nearby --> 
582	<#assign classTypeIds = []> 
583	<#assign assetsNearJournalArticles = assetNearTool.getNearJournalArticles(themeDisplay.getScopeGroupId(), assetEntry.getEntryId(), 50.0, classTypeIds, 10)! /> 
584	<#if validator.isNotNull(assetsNearJournalArticles) && assetsNearJournalArticles?size gt 0> 
585		<div class="article-nearby portlet-container-margin"> 
586			<div class="container"> 
587				<div class="article-nearby-container"> 
588					<h3 class="title-section">${languageUtil.get(request,'infoasturias-near-here')}</h3> 
589					<div class="slick article-nearby-slick"> 
590						<#list assetsNearJournalArticles as currentJournalArticle> 
591							<#assign viewURL = journalTool.getDisplayPage(currentJournalArticle, themeDisplay, true)/> 
592							<div class="slide"> 
593								<a class="card" href="${viewURL}" title="${languageUtil.format(request, 'go-to-x', currentJournalArticle.getTitle(locale))}"> 
594									<span class="d-block image-wrapper aspect-ratio-bg-cover aspect-ratio-4-to-3" style="background-image: url('${currentJournalArticle.getSmallImageURL()}');"> 
595										<img class="hide-accessible" src="${currentJournalArticle.getSmallImageURL()}" alt="${currentJournalArticle.getTitle(locale)}"> 
596										<span class="card-hover"> 
597											<span class="card-text">${currentJournalArticle.getDescription(locale)}</span> 
598										</span> 
599									</span> 
600									<span class="card-body"> 
601										<span class="card-title">${currentJournalArticle.getTitle(locale)}</span> 
602										<span class="card-subtitle"> 
603											<span class="d-block">${currentJournalArticle.getVersion()} Kms</span> 
604											<span class="d-block">${journalTool.getCategoriesNames(groupId, currentJournalArticle.getArticleId(), locale, ["Concejos"])}</span> 
605										</span> 
606									</span> 
607								</a> 
608							</div> 
609						</#list> 
610					</div> 
611				</div> 
612			</div> 
613		</div> 
614	</#if> 
615	 
616</article>