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