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