Control de calidad de agua y aire en piscinas municipales
El Ayuntamiento de Salamanca es titular de nueve piscinas municipales de las cuales tres son climatizadas y seis de temporada de verano. La Sección de Salud Pública realiza las inspecciones mensuales para comprobar el estado de las instalaciones y la calidad sanitaria del agua: las climatizadas durante los doce meses (Garrido, La Alamedilla, San José, Multiusos Sánchez Paraíso) y las de verano de junio a septiembre (Helmántico, Tejares, Rosa Colorado, Aldehuela y Pizarrales).
Se ha producido un error al procesar la plantilla.
Java method "static com.liferay.document.library.kernel.service.DLFileEntryLocalServiceUtil.getDLFileEntryByUuidAndGroupId(String, long)" threw an exception; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign imagenDlFile = DLFileEntryLoc... [in template "20096#20121#32949" at line 37, column 13] ----
1<#assign LayoutLocalServiceUtil = staticUtil["com.liferay.portal.kernel.service.LayoutLocalServiceUtil"] />
2<#assign DLFileEntryLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLFileEntryLocalServiceUtil"]>
3<#assign DlAppServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppServiceUtil"] />
4<#assign LocaleUtil = staticUtil["com.liferay.portal.kernel.util.LocaleUtil"]>
5<#assign AssetCategoryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil"] />
6<#assign AssetEntryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil"] />
7<#assign JSONFactoryUtil = staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"]>
8<#assign friendlyUrl="">
9<#assign categoriaPrincipal="">
10
11<div class="d-flex align-items-center">
12 <h2 class="slm-content-title font-weight-bold mb-0 h3">
13 <@liferay.language key="slm.programas-y-servicios" />
14 </h2>
15 <hr class="flex-grow-1 slm-hr-title" />
16</div>
17
18
19<#assign layout=themeDisplay.getLayout()>
20<#assign friendly=themeDisplay.getURLCurrent()>
21
22<#if entries?has_content>
23 <div class="swiper mySwiper slm-listado-dinamico">
24 <div class="swiper-wrapper ">
25 <#list entries as curEntry>
26 <#assign assetRenderer = curEntry.getAssetRenderer() />
27 <#assign journalArticle = assetRenderer.getArticle() >
28 <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) >
29 <#assign rootElement = document.getRootElement() >
30 <#assign imagen = saxReaderUtil.createXPath("dynamic-element[@field-reference='Imagen']/dynamic-content").selectSingleNode(rootElement).getStringValue() >
31 <#assign imagenJson = JSONFactoryUtil.createJSONObject(imagen)>
32 <#assign layoutFriendlyUrlDefault="">
33 <#assign layoutFriendlyUrl="">
34 <#assign url="">
35 <#assign urlExterna="">
36 <#assign target="">
37 <#assign imagenDlFile = DLFileEntryLocalServiceUtil.getDLFileEntryByUuidAndGroupId(imagenJson.uuid,imagenJson.groupId?number)>
38 <#if ((saxReaderUtil.createXPath("dynamic-element[@field-reference='NuevaPestana']/dynamic-content").selectSingleNode(rootElement))??)?then(true,false)>
39 <#assign nuevaPestana = saxReaderUtil.createXPath("dynamic-element[@field-reference='NuevaPestana']/dynamic-content").selectSingleNode(rootElement)>
40 <#if nuevaPestana.getData()=="true">
41 <#assign target='target="_blank"'>
42 </#if>
43 </#if>
44 <#if (saxReaderUtil.createXPath("dynamic-element[@field-reference='UrlExterna']/dynamic-content").selectSingleNode(rootElement).getStringValue())??>
45 <#assign urlExterna = saxReaderUtil.createXPath("dynamic-element[@field-reference='UrlExterna']/dynamic-content").selectSingleNode(rootElement).getStringValue() >
46 </#if>
47 <#if (saxReaderUtil.createXPath("dynamic-element[@field-reference='EnlacePagina']/dynamic-content").selectSingleNode(rootElement).getStringValue())??>
48 <#assign enlace = saxReaderUtil.createXPath("dynamic-element[@field-reference='EnlacePagina']/dynamic-content").selectSingleNode(rootElement).getStringValue() >
49 <#assign enlaceJson=JSONFactoryUtil.createJSONObject(enlace)>
50 <#if enlaceJson.has("groupId") && enlaceJson.has("privateLayout") && enlaceJson.has("layoutId")>
51 <#assign layout=LayoutLocalServiceUtil.fetchLayout(enlaceJson.groupId?number,enlaceJson.privateLayout,enlaceJson.layoutId?number)>
52 <#assign friendlyMap=layout.getFriendlyURLMap()>
53
54 <#list friendlyMap as key,value>
55 <#if key==LocaleUtil.getDefault()>
56 <#assign layoutFriendlyUrlDefault=value>
57 </#if>
58 <#if key==locale>
59 <#assign layoutFriendlyUrl=value>
60 </#if>
61 </#list>
62 <#if layoutFriendlyUrl=="">
63 <#assign layoutFriendlyUrl=layoutFriendlyUrlDefault>
64 </#if>
65 </#if>
66 </#if>
67
68 <#assign friendlyMap=journalArticle.getFriendlyURLMap()>
69
70 <#list friendlyMap as key,value>
71 <#if key==locale>
72 <#assign friendlyUrl="/w/"+value>
73 </#if>
74 <#if key==LocaleUtil.getDefault()>
75 <#assign friendlyUrlDefault="/w/"+value>
76 </#if>
77 </#list>
78 <#if friendlyUrl=="">
79 <#assign friendlyUrl=friendlyUrlDefault>
80 </#if>
81
82 <#if urlExterna!="">
83 <#assign url=urlExterna>
84 <#elseif layoutFriendlyUrl!="">
85 <#assign url=layoutFriendlyUrl>
86 <#else>
87 <#assign url=friendlyUrl>
88 </#if>
89
90
91 <div class="swiper-slide pb-2">
92 <a href="${url}" class="text-decoration-none" ${target}>
93 <@adaptive_media_image["img"] alt="${imagenJson.alt}" class="d-block w-100 slm-obj-cover slm-img-200" fileVersion=DlAppServiceUtil.getFileEntry(imagenJson.fileEntryId?number).getFileVersion()/>
94
95 <span class="d-block h5 py-2 mb-0 text-black">
96 ${curEntry.getTitle(locale)}
97 </span>
98 <span class="d-block descripcion pb-2">${curEntry.getDescription(locale)}</span>
99 <span class="d-block width-fit link text-uppercase">
100 <@liferay.language key="slm.leer-mas" />
101 </span>
102 </a>
103 </div>
104
105 </#list>
106 </div>
107 <div class="d-flex justify-content-center slm-listado-dinamico-pagination mt-4"></div>
108 </div>
109<style>
110.width-fit{
111 width:fit-content;
112}
113</style>
114
115
116<script>
117Liferay.on('allPortletsReady', function () {
118 var swiper = new Swiper(".slm-listado-dinamico", {
119 pagination: {
120 el: ".slm-listado-dinamico-pagination",
121 clickable: true,
122 },
123 breakpoints: {
124 0: {
125 slidesPerView: 1,
126 spaceBetween: 20,
127 },
128 576: {
129 slidesPerView: 2,
130 spaceBetween: 20,
131 },
132 768: {
133 slidesPerView: 3,
134 spaceBetween: 20,
135 },
136
137 1024: {
138 slidesPerView: 4,
139 spaceBetween: 20,
140 },
141 },
142
143 });
144 });
145 </script>
146
147
148</#if>
— 8 Resultados por página