Une erreur s'est produite lors du traitement du gabarit.
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@43e2dc83"; 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 346, 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				<h3 class="section-title">${languageUtil.get(locale,'model.resource.com.liferay.portlet.imagegallery')}</h3> 
344				<div class="slick article-slick article-section <#if Visualizador.Slide.getSiblings()?size==1>hide</#if>"> 
345					<#list Visualizador.Slide.getSiblings() as Slide> 
346						<#assign slideThumbnail3 = dlTool.getThumbnailByJSON(Slide.data, "3")! /> 
347						<#assign slideThumbnail2 = dlTool.getThumbnailByJSON(Slide.data, "2")! /> 
348						<#assign slidePath = dlTool.getPathByJSON(Slide.data, themeDisplay.getScopeGroupId())! /> 
349						<#assign slideUrl = Slide.SlideUrl.data /> 
350						<#assign dataMap = "" /> 
351 
352						<#if slideUrl?has_content> 
353 
354							<#assign slideTitle = "${languageUtil.get(request, 'video')} ${Slide?index}" /> 
355							<#if Slide.SlideTitulo.data?has_content> 
356								<#assign slideTitle = Slide.SlideTitulo.data />   
357							</#if> 
358 
359							<#-- Youtube --> 
360							<#assign slideUrl = stringUtil.replace(slideUrl, 'watch?v=', 'embed/') /> 
361							<#assign slideThumbnail2 = stringUtil.replace(slideUrl, 'www', 'img') /> 
362							<#assign slideThumbnail2 = stringUtil.replace(slideThumbnail2, 'embed', 'vi') /> 
363							<#assign slideThumbnail2 = '${slideThumbnail2}/mqdefault.jpg' /> 
364 
365							<#-- Vimeo --> 
366							<#if slideUrl?contains("vimeo")> 
367								<#assign slideUrl = stringUtil.replace(slideUrl, 'http://vimeo.com/', 'https://player.vimeo.com/video/') /> 
368								<#assign slideVimeoId = stringUtil.extractLast(slideUrl, 'https://player.vimeo.com/video/') /> 
369								<#if slideVimeoId?has_content> 
370									<#assign slideVimeoJsonPath = 'http://vimeo.com/api/v2/video/${slideVimeoId}.json' /> 
371									<#assign slideVimeoJsonContent = getUrlContent.getContent(slideVimeoJsonPath)! /> 
372									<#if slideVimeoJsonContent?has_content> 
373										<#assign slideVimeoJsonArray = jsonFactoryUtil.createJSONArray(slideVimeoJsonContent) /> 
374										<#assign slideVimeoJsonItem = slideVimeoJsonArray.get(0) /> 
375										<#assign slideThumbnail2 = slideVimeoJsonItem.thumbnail_medium /> 
376									</#if> 
377								</#if> 
378							</#if> 
379 
380							<div id="slide-${Slide?index}" class="slide"> 
381								<a class="card card-simple card-video" href="#" onclick="javascript: event.preventDefault(); showDialogIframe('${slideUrl}', '${slideTitle}', 800, 600, 'videoPopup', 'videoPopupIframe');" title="${slideTitle}"> 
382									<span class="d-block image-wrapper aspect-ratio-bg-cover aspect-ratio-4-to-3" style="background-image: url('${slideThumbnail2}');"> 
383									<img class="hide-accessible" alt="${slideTitle}" src="${slideThumbnail2}"> 
384								</a> 
385							</div> 
386						<#else> 
387 
388							<#assign slideTitle = "${languageUtil.get(request, 'image')} ${Slide?index}" /> 
389							<#if Slide.SlideTitulo.data?has_content> 
390								<#assign slideTitle = Slide.SlideTitulo.data />   
391							</#if> 
392 
393							<div class="slide"> 
394								<a class="card card-simple lightbox" href="${slidePath}" title="${slideTitle}"> 
395									<span class="d-block image-wrapper aspect-ratio-bg-cover aspect-ratio-4-to-3" style="background-image: url('${slideThumbnail2}');"> 
396									<img class="hide-accessible" alt="${slideTitle}" src="${slideThumbnail2}"> 
397								</a> 
398							</div> 
399						</#if> 
400					</#list> 
401				</div> 
402			</#if> 
403		 
404			<#if hasTab1> 
405				<div id="tab1" class="article-section accordion-item"> 
406					<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"> 
407							<h3 class="h3 accordion-header">${languageUtil.get(request,'info')}</h3> 
408					</a> 
409					<div id="tabContent1" class="article-section-content article-section-info accordion-collapse collapse <#if showFirstTab>show</#if>" aria-labelledby="tabHeading"> 
410						<#if Informacion.Texto.data?has_content> 
411							${Informacion.Texto.data} 
412						</#if> 
413						<#if Informacion.FechaDeConstruccion.data?has_content> 
414							<span class="field">${languageUtil.get(request, "infoasturias-fecha-de-construccion")}:</span> 
415							<span class="text">${htmlUtil.extractText(Informacion.FechaDeConstruccion.data)}</span> 
416						</#if> 
417					</div> 
418				</div> 
419				<#assign showFirstTab = false> 
420			</#if> 
421			 
422			<#if hasTab2> 
423				<#assign coordenadas=stringUtil.split(Geolocalizacion.Coordenadas.data) /> 
424				<div id="tab2" class="article-section article-section-map accordion-item"> 
425					<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"> 
426						<h3 class="h3 accordion-header">${languageUtil.get(request,'map')}</h3> 
427					</a> 
428					<div id="tabContent2" class="article-section-content accordion-collapse collapse <#if showFirstTab>show</#if>" aria-labelledby="tabHeading2"> 
429						<div id="article-map-wrapper-${articleId}" class="article-map-wrapper">  
430							<div id="article-map-content-${articleId}" style="width: 100%; height: 388px; z-index:1"><!-- MAP --></div> 
431							<div class="article-map-form">  
432								<div class="name important">${title}</div> 
433								<div class="gps"><span class="label">GPS:</span> <span class="value important" itemprop="geo">${Geolocalizacion.Coordenadas.data}</span></div> 
434								<form action="https://maps.google.es/maps" method="get" target="_blank"> 
435									<input type="hidden" name="daddr" value="${coordenadas[0]},${coordenadas[1]}"> 
436									<label for="saddr"><span class="label">${languageUtil.get(request,'infoasturias-from')}: </span></label> 
437									<input class="form-control" type="text" maxlength="40" name="saddrText" id="saddrText" value="" placeholder="${languageUtil.get(request,'infoasturias-insert-from')}"> 
438									<input class="form-control" type="hidden" name="saddr" id="saddr" value="" placeholder="${languageUtil.get(request,'infoasturias-insert-from')}"> 
439									<button class="btn btn-text" type="submit">${languageUtil.get(request,'infoasturias-como-llegar')} &raquo;</button> 
440								</form> 
441							</div> 
442						</div> 
443						<script src="/o/turismo-asturias-theme/js/leaflet/leaflet.js"></script> 
444						<script type="text/javascript"> 
445							AUI().ready('aui-base', function(A){ 
446								var lat = ${coordenadas[0]}, 
447									lng = ${coordenadas[1]}, 
448									zoom = 16; 
449								mapContent = new L.map('article-map-content-${articleId}', {center: [lat, lng], zoom: 16}); 
450 
451								//Marker 
452								var defaultIconTheme = '/o/turismo-asturias-theme/css/images/icons/mark-box.png'; 
453								var defaultIcon = L.icon({ 
454									iconUrl: defaultIconTheme, 
455									iconSize:     [36, 53], 
456									iconAnchor:   [18, 53], 
457									iconShadow:   [0,0], 
458									popupAnchor:  [0, -30] 
459								}); 
460								var marker = L.marker([lat, lng], {icon: defaultIcon}).addTo(mapContent); 
461								 
462								var contentString = '<div class="row">'; 
463								contentString += '<div class="col-12">'; 
464								contentString += '<div class="h4">${htmlUtil.escape(title)}</div>'; 
465								contentString += '</div>'; 
466								contentString += '</div>'; 
467								 
468								contentString += '<div class="row">'; 
469								contentString += '<div class="col-12">'; 
470								<#if validator.isNotNull(articleMainImageThumbnail1)> 
471									contentString += '<img class="pull-right mb-2 ml-2" src="${articleMainImageThumbnail1}" alt="$title"/>'; 
472								</#if> 
473								contentString += '<dl class="mb-0">'; 
474								<#if address?has_content> 
475									contentString += '<dt>${languageUtil.get(request,'address')}</dt>'; 
476									contentString += '<dd>${address}</dd>'; 
477								</#if> 
478								<#if Contacto.Telefono.data?has_content> 
479									contentString += '<dt>${languageUtil.get(request,'phone')}</dt>'; 
480									contentString += '<dd>${Contacto.Telefono.data}</dd>'; 
481								</#if> 
482								<#if Contacto.Email.getData()?has_content> 
483									contentString += '<dt>${languageUtil.get(request,'email')}</dt>'; 
484									<#list Contacto.Email.getSiblings() as Item> 
485										contentString += '<dd><a href="mailto:${Item.data}" title="${languageUtil.format(request,'go-to-x', 'email')}">${Item.data}</a></dd>'; 
486									</#list> 
487								</#if> 
488								<#if Contacto.Web.data?has_content> 
489									contentString += '<dt>${languageUtil.get(request,'site')}</dt>'; 
490									contentString += '<dd><a href="${Contacto.Web.data}" title="${languageUtil.format(request,'go-to-x', 'site')}">${Contacto.Web.data}</a></dd'; 
491								</#if> 
492								contentString += '</dl>'; 
493								contentString += '</div>'; 
494								contentString += '</div>'; 
495								<#if validator.isNotNull(description)> 
496									contentString += '<div class="row"><div class="col-12">${description}</div></div>'; 
497								</#if> 
498								marker.bindPopup(contentString); 
499 
500								//Contributor 
501								L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { 
502									attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.' 
503								}).addTo(mapContent); 
504								 
505							}); //AUI.ready 
506						</script> 
507					</div> 
508				</div> 
509				<#assign showFirstTab = false> 
510			</#if> 
511			 
512			<#if hasTab3> 
513				<div id="tab3" class="article-section accordion-item"> 
514					<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> 
515					<div id="tabContent3" class="article-section-content article-section-color article-section-background accordion-collapse collapse <#if showFirstTab>show</#if>" aria-labelledby="tabHeading3"> 
516						 
517						<#if Informacion.Horario.data?has_content> 
518							<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> 
519							<div>${Informacion.Horario.data}</div> 
520						</#if> 
521						 
522						<#if Informacion.Tarifas.data?has_content> 
523							<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>						 
524							<div>${Informacion.Tarifas.data}</div> 
525						</#if> 
526					</div> 
527				</div> 
528				<#assign showFirstTab = false> 
529			</#if>	 
530		</div> 
531		 
532		<#if  validator.isNotNull(Informacion.Observaciones.data) ||  validator.isNotNull(Contacto.MasInformacion.data) > 
533			<div class="article-border"> 
534				<#if Informacion.Observaciones?has_content> 
535					${Informacion.Observaciones.data} 
536				</#if> 
537				<#if Contacto.MasInformacion?has_content> 
538					<#list  Contacto.MasInformacion.getSiblings() as Item> 
539						<#if stringUtil.matches(Item.data, "//") > 
540							<div><a class="" href="${Item.data}" title="${languageUtil.format(request,'go-to-x', 'link')}">${Item.data}</a></div> 
541						<#else> 
542							<div><span class="">${Item.data}</span></div> 
543						</#if> 
544					</#list> 
545				</#if> 
546			</div> 
547		</#if> 
548	</div> 
549	 
550	<#-- Related --> 
551	<#assign relatedJournalArticles = assetTool.getRelatedJournalArticlesApproved(assetEntry)/> 
552	<#if validator.isNotNull(relatedJournalArticles) && relatedJournalArticles?size gt 0> 
553		<div class="article-related portlet-background-grey-container"> 
554			<div class="container"> 
555				<h3 class="title-section">${languageUtil.get(request,'related-assets')}</h3> 
556				<div class="slick article-related-slick"> 
557					<#list relatedJournalArticles as currentJournalArticle> 
558						<#assign viewURL = journalTool.getDisplayPage(currentJournalArticle, themeDisplay, true)/> 
559							<div class="slide"> 
560								<a class="card background card-background-9-14"  href="${viewURL}" title="${languageUtil.format(request, 'go-to-x', currentJournalArticle.getTitle(locale))}"> 
561									<span class="d-block image-wrapper aspect-ratio-bg-cover" style="background-image: url('${currentJournalArticle.getSmallImageURL()}');"> 
562										<img class="hide-accessible" src="${currentJournalArticle.getSmallImageURL()}" alt="${currentJournalArticle.getTitle(locale)}"> 
563										<span class="card-body"> 
564											<span class="card-title">${currentJournalArticle.getTitle(locale)}</span> 
565										</span> 
566									</span> 
567								</a> 
568							</div> 
569					</#list> 
570				</div> 
571			</div> 
572		</div> 
573	</#if> 
574	 
575	<#-- Nearby --> 
576	<#assign classTypeIds = []> 
577	<#assign assetsNearJournalArticles = assetNearTool.getNearJournalArticles(themeDisplay.getScopeGroupId(), assetEntry.getEntryId(), 50.0, classTypeIds, 10)! /> 
578	<#if validator.isNotNull(assetsNearJournalArticles) && assetsNearJournalArticles?size gt 0> 
579		<div class="article-nearby portlet-container-margin"> 
580			<div class="container"> 
581				<div class="article-nearby-container"> 
582					<h3 class="title-section">${languageUtil.get(request,'infoasturias-near-here')}</h3> 
583					<div class="slick article-nearby-slick"> 
584						<#list assetsNearJournalArticles as currentJournalArticle> 
585							<#assign viewURL = journalTool.getDisplayPage(currentJournalArticle, themeDisplay, true)/> 
586							<div class="slide"> 
587								<a class="card" href="${viewURL}" title="${languageUtil.format(request, 'go-to-x', currentJournalArticle.getTitle(locale))}"> 
588									<span class="d-block image-wrapper aspect-ratio-bg-cover aspect-ratio-4-to-3" style="background-image: url('${currentJournalArticle.getSmallImageURL()}');"> 
589										<img class="hide-accessible" src="${currentJournalArticle.getSmallImageURL()}" alt="${currentJournalArticle.getTitle(locale)}"> 
590										<span class="card-hover"> 
591											<span class="card-text">${currentJournalArticle.getDescription(locale)}</span> 
592										</span> 
593									</span> 
594									<span class="card-body"> 
595										<span class="card-title">${currentJournalArticle.getTitle(locale)}</span> 
596										<span class="card-subtitle"> 
597											<span class="d-block">${currentJournalArticle.getVersion()} Kms</span> 
598											<span class="d-block">${journalTool.getCategoriesNames(groupId, currentJournalArticle.getArticleId(), locale, ["Concejos"])}</span> 
599										</span> 
600									</span> 
601								</a> 
602							</div> 
603						</#list> 
604					</div> 
605				</div> 
606			</div> 
607		</div> 
608	</#if> 
609	 
610</article>