Um erro ocorreu enquanto processava o modelo.
No compatible overloaded variation was found; can't convert (unwrap) the 1st argument to the desired Java type.
The FTL type of the argument values were: string (wrapper: f.t.SimpleScalar), number (wrapper: f.t.SimpleNumber), extended_hash+string (com.liferay.portal.kernel.theme.ThemeDisplay wrapped into f.e.b.StringModel).
The matching overload was searched among these members:
com.liferay.layout.type.controller.asset.display.internal.portlet.AssetDisplayPageFriendlyURLProviderImpl.getFriendlyURL(com.liferay.info.item.InfoItemReference, Locale, com.liferay.portal.kernel.theme.ThemeDisplay),
com.liferay.layout.type.controller.asset.display.internal.portlet.AssetDisplayPageFriendlyURLProviderImpl.getFriendlyURL(com.liferay.info.item.InfoItemReference, com.liferay.portal.kernel.theme.ThemeDisplay),
com.liferay.layout.type.controller.asset.display.internal.portlet.AssetDisplayPageFriendlyURLProviderImpl.getFriendlyURL(com.liferay.info.item.InfoItemReference, Object, com.liferay.portal.kernel.theme.ThemeDisplay)
----
FTL stack trace ("~" means nesting-related):
- Failed at: friendlyURL = assetDisplayPageFriendl... [in template "20097#20123#5838026" at line 24, column 31]
----
1<section class="topo">
2 <div class="banner_privacy">
3 <div class="span_dark">
4 <div class="row">
5 <span class="dark_space"></span>
6 <div class="col-lg-8 col-12 banner_privacy_txruas">
7 <a class="d-inline-block mb-3 mr-3 mt-lg-2 c-unidades__breadcrumb gtm-link-banner-home" href="/home">Home</a>
8 <svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 10 11" class="mr-3">
9 <rect id="Retângulo_600" data-name="Retângulo 600" width="10" height="10" rx="5" fill="#ec6e0c" opacity="1" />
10 </svg>
11 <a class="d-inline-block mb-3 mr-3 mt-lg-2 c-unidades__breadcrumb gtm-link-banner-nossasunidades" href="/unidades">Nossas unidades</a>
12 <#if entries?has_content>
13 <#list entries as curEntry>
14 <#assign
15 assetRenderer=curEntry.getAssetRenderer()
16 serviceContext=staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()
17 dlAppLocalServiceUtil=staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
18 dlUtil=staticUtil["com.liferay.document.library.kernel.util.DLUtil"]
19 themeDisplay=serviceContext.getThemeDisplay()
20 link=assetRenderer.getURLViewInContext(renderRequest, renderResponse, '' )
21 />
22 <#assign
23 assetDisplayPageFriendlyURLProvider=serviceLocator.findService("com.liferay.asset.display.page.portlet.AssetDisplayPageFriendlyURLProvider")
24 friendlyURL=assetDisplayPageFriendlyURLProvider.getFriendlyURL(curEntry.getClassName(), curEntry.getClassPK(), themeDisplay)!"########"
25 />
26 <#if currentURL?contains(friendlyURL)>
27 <#assign docXml=saxReaderUtil.read(assetRenderer.getArticle().getContent()) />
28 <#assign
29 nomedaUnidade=docXml.valueOf("//dynamic-element[@name='NomedaUnidade']/dynamic-content/text()")
30 enderecoDaUnidade=docXml.valueOf("//dynamic-element[@name='EnderecoDaUnidade']/dynamic-content/text()")
31 bannerDoHeader=docXml.valueOf("//dynamic-element[@name='BannerDoHeader']/dynamic-content/text()")
32 latitudeDaUnidade=docXml.valueOf("//dynamic-element[@name='LatitudeDaUnidadezaeq']/dynamic-content/text()")
33 longitudeDaUnidade=docXml.valueOf("//dynamic-element[@name='LongitudeDaUnidade1gix']/dynamic-content/text()")
34 />
35 <#if bannerDoHeader?has_content>
36 <#assign
37 imagem=bannerDoHeader?eval
38 imagemUuid=imagem.uuid
39 groupId=imagem.groupId
40 dlFile=dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(imagemUuid,groupId?number)
41 imgUrl=dlUtil.getPreviewURL(dlFile, dlFile.getFileVersion(),themeDisplay,'')
42 />
43 </#if>
44
45 <svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 10 11" class="mr-3">
46 <rect id="Retângulo_600" data-name="Retângulo 600" width="10" height="10" rx="5" fill="#ec6e0c" opacity="1" />
47 </svg>
48 <a class="d-inline-block mb-3 mr-3 mt-lg-2 c-unidades__breadcrumb gtm-link-banner-home inactiveLink" href="#">
49 <strong>
50 ${nomedaUnidade}
51 </strong>
52 </a>
53
54
55 <lfr-editable id="h2bannerprivacidade" type="rich-text">
56 <h1>${nomedaUnidade}</h1>
57 </lfr-editable>
58 <lfr-editable id="privacidadetexto1" type="rich-text">
59 <p>
60 ${enderecoDaUnidade}
61 </p>
62 </lfr-editable>
63 </div>
64 <div class="col-lg-2 col-6 c-unidades__info">
65 <lfr-editable id="privacidadetexto2" type="rich-text">
66 <p id="distance_user_unit">km de você</p>
67 </lfr-editable>
68 </div>
69 <div class="col-lg-2 col-6 wth_banner_privacy c-unidades__info">
70 <span class="marin_svg">
71 <svg id="location_on" data-name="location on" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
72 <path id="Caminho_8173" data-name="Caminho 8173" d="M0,0H20V20H0Z" fill="none" />
73 <path id="Caminho_8174" data-name="Caminho 8174" d="M10.833,2A5.829,5.829,0,0,0,5,7.833c0,4.375,5.833,10.833,5.833,10.833s5.833-6.458,5.833-10.833A5.829,5.829,0,0,0,10.833,2ZM6.667,7.833a4.167,4.167,0,1,1,8.333,0c0,2.4-2.4,5.992-4.167,8.233C9.1,13.842,6.667,10.208,6.667,7.833Z" transform="translate(-0.833 -0.333)" fill="#fff" />
74 <circle id="Elipse_107" data-name="Elipse 107" cx="2.083" cy="2.083" r="2.083" transform="translate(7.917 5.417)" fill="#fff" />
75 </svg>
76 </span>
77 <span class="marin_svg_dois"><svg id="location_on" data-name="location on" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
78 <path id="Caminho_8173" data-name="Caminho 8173" d="M0,0H20V20H0Z" fill="none" />
79 <path id="Caminho_8174" data-name="Caminho 8174" d="M10.833,2A5.829,5.829,0,0,0,5,7.833c0,4.375,5.833,10.833,5.833,10.833s5.833-6.458,5.833-10.833A5.829,5.829,0,0,0,10.833,2ZM6.667,7.833a4.167,4.167,0,1,1,8.333,0c0,2.4-2.4,5.992-4.167,8.233C9.1,13.842,6.667,10.208,6.667,7.833Z" transform="translate(-0.833 -0.333)" fill="#ec6e0c" />
80 <circle id="Elipse_107" data-name="Elipse 107" cx="2.083" cy="2.083" r="2.083" transform="translate(7.917 5.417)" fill="#ec6e0c" />
81 </svg>
82 </span>
83 <lfr-editable id="href_swap_link" type="link"><a href="#mapa_unidade_ind2">Ver mapa</a></lfr-editable>
84 </div>
85 </div>
86 </div>
87 </div>
88</section>
89<script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAQnL23eGYWlJvrtNcZCSrj_h97bs-iL8A&libraries=geometry&callback=initMap" type="text/javascript"></script>
90<script>
91function haversineDistance(lat1, lon1, lat2, lon2) {
92 const R = 6371; // Raio médio da Terra em km
93 const dLat = (lat2 - lat1) * Math.PI / 180;
94 const dLon = (lon2 - lon1) * Math.PI / 180;
95 const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(lat1 * Math.PI / 180) * Math.cos(lat2 * Math.PI / 180) * Math.sin(dLon / 2) * Math.sin(dLon / 2);
96 const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
97 const distance = R * c;
98 return distance;
99}
100
101function isDmsCoordinate(str) {
102 var validos = ["S", "W", "N", "E"];
103 var caracteres = str.split("");
104 var resultado = false;
105 caracteres.forEach(function(caractere) {
106 if (validos.includes(caractere)) {
107 resultado = true;
108 }
109 });
110 return resultado;
111}
112
113function dmsToDecimal(dms) {
114 var parts = dms.split(/°|'|"| /);
115
116 var degrees = parseFloat(parts[0]);
117 var minutes = parseFloat(parts[1]);
118 var seconds = parseFloat(parts[2]);
119
120 var decimal = degrees + (minutes / 60) + (seconds / 3600);
121
122 if (parts[3] === 'S' || parts[3] === 'W') {
123 decimal *= -1;
124 }
125
126 return decimal.toString();
127}
128
129if (navigator.geolocation) {
130 // Solicitar a permissão do usuário e obter a localização atual
131 (async function() {
132 const position = await new Promise((resolve, reject) => {
133 navigator.geolocation.getCurrentPosition(resolve, reject);
134 });
135
136 var userLat = position.coords.latitude
137 var userLng = position.coords.longitude
138 var latitudeunit = isDmsCoordinate("${latitudeDaUnidade}") ? dmsToDecimal("${latitudeDaUnidade}") : "${latitudeDaUnidade}";
139 var longitudeunit = isDmsCoordinate("${longitudeDaUnidade}") ? dmsToDecimal("${longitudeDaUnidade}") : "${longitudeDaUnidade}";
140
141 var distance = haversineDistance(userLat, userLng, latitudeunit, longitudeunit);
142 var eluu = document.getElementById("distance_user_unit");
143 if (distance / 1000 < 1) {
144 eluu.innerHTML = (distance.toFixed(2)).toString() + " km de você";
145 } else {
146
147 eluu.innerHTML = ((distance / 1000).toFixed(2)).toString() + " metros de você";
148 }
149 })();
150
151}
152</script>
153<style>
154.topo {
155 margin-top: 115px;
156 position: relative;
157 max-width: 1110px;
158 margin: 0 auto;
159}
160
161.banner_privacy {
162 background: url(${imgUrl});
163 height: 442px;
164 width: 1110px;
165 background-repeat: no-repeat;
166 background-size: cover;
167}
168
169.wth_banner_privacy {
170 display: inherit;
171}
172
173.span_dark {
174 padding-top: 250px;
175 margin-left: 20px;
176 color: #ffffff;
177}
178
179html .contraste-body div.span_dark {
180 background-color: transparent !important;
181}
182
183.banner_privacy_txruas h1 {
184 font-size: 20px;
185 font-weight: bold;
186 font-family: 'oxygen-bold';
187 text-align: left;
188 margin-bottom: 10px;
189}
190
191.banner_privacy_txruas p {
192 font-size: 16px;
193 font-weight: 400;
194 font-family: 'oxygen-regular';
195 text-align: left;
196}
197
198.wth_banner_privacy a {
199 text-decoration: underline;
200 font-weight: bold;
201 font-family: 'oxygen-bold';
202 color: #ffffff;
203}
204
205.c-unidades__tbold {
206 font-family: 'oxygen-bold';
207}
208
209.c-unidades__breadcrumb {
210 font-family: 'oxygen-regular';
211}
212
213@media (max-width: 1200px) {
214 .banner_privacy {
215 height: 146px;
216 width: 100%;
217 background-size: cover;
218 }
219
220 .span_dark {
221 color: #1a171b;
222 padding-top: 160px;
223 margin: 0px 8px;
224 border-bottom: 1px solid #5b5b5f4f;
225 }
226
227 .marin_svg svg {
228 display: none;
229 }
230
231 .wth_banner_privacy a {
232 color: #ec6e0c;
233 }
234}
235
236.c-unidades__breadcrumb {
237 color: #5b5b5f;
238 font-size: 14px;
239}
240
241.c-unidades__breadcrumb:hover {
242 color: #5b5b5f;
243}
244
245.c-unidades__info {
246 margin-top: 0;
247}
248
249@media (min-width: 1201px) {
250 .marin_svg_dois {
251 display: none;
252 }
253
254 .dark_space {
255 background-color: #1a171bb3;
256 position: absolute;
257 min-width: 100%;
258 height: 210px;
259 left: 0;
260 bottom: 0;
261 }
262
263 .c-unidades__breadcrumb {
264 color: #ffffff;
265 font-size: 14px;
266 }
267
268 .c-unidades__breadcrumb:hover {
269 color: #ffffff;
270 }
271
272 .banner_privacy_txruas h1 {
273 font-size: 36px;
274 font-weight: bold;
275 font-family: 'oxygen-bold';
276 text-align: left;
277 margin-bottom: 10px;
278 }
279
280 .c-unidades__info {
281 margin-top: 45px;
282 }
283}
284
285@media (min-width: 992px) and (max-width: 1300px) {
286 .topo {
287 margin-top: 176px;
288 }
289}
290
291@media (min-width: 993px) and (max-width: 1200px) {
292 .topo {
293 padding-bottom: 141px;
294 }
295}
296
297@media (max-width: 991px) {
298 .topo {
299 margin-top: 166px;
300 }
301
302 .span_dark>.row {
303 padding: 0 16px;
304 }
305
306 .wth_banner_privacy {
307 display: flex;
308 justify-content: flex-end;
309 }
310}
311
312.inactiveLink {
313 pointer-events: none;
314 cursor: default;
315}
316</style>
317<#break>
318 </#if>
319 </#list>
320 </#if>
Um erro ocorreu enquanto processava o modelo.
No such key: getQueryString in class com.liferay.portal.kernel.util.HttpUtil
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign queryString = staticUtil["com... [in template "20097#20123#5838032" at line 3, column 1]
----
1<#assign portalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] />
2<#assign currentURL = currentURL!"" />
3<#assign queryString = staticUtil["com.liferay.portal.kernel.util.HttpUtil"].getQueryString(currentURL) />
4<#assign parameters = staticUtil["com.liferay.portal.kernel.util.HttpUtil"].getParameterMap(queryString) />
5
6<#assign assetEntryId = parameters["assetEntryId"]?join("")!"" />
7<#assign longAssetEntryId = assetEntryId?number?long />
8
9<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
10<#assign assetEntry = assetEntryLocalService.getAssetEntry(longAssetEntryId) />
11
12<#assign portalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] />
13<#assign classNameJournalArticle = portalUtil.getClassNameId("com.liferay.journal.model.JournalArticle") />
14
15<#assign dlAppLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"] />
16<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext() />
17<#assign dlAppLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"] />
18<#assign dlUtil = staticUtil["com.liferay.document.library.kernel.util.DLUtil"] />
19<#assign themeDisplay = serviceContext.getThemeDisplay() />
20
21<#if assetEntry.getClassNameId()?long == classNameJournalArticle?long >
22 <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
23 <#assign article = journalArticleLocalService.getLatestArticle(assetEntry.getClassPK()) />
24
25 <#if article != "" >
26 <#-- Use os dados do artigo de jornal aqui -->
27 <#assign docXml = saxReaderUtil.read(article.getContent()) >
28 <#--<#assign atendimento = docXml.valueOf("//dynamic-element[@name='HorarioDeAtendimento']/dynamic-content/text()")
29
30 phone = docXml.valueOf("//dynamic-element[@name='TelefoneDeAtendimento']/dynamic-content/text()")
31 /> -->
32 <#--testando multiplos nós -->
33 <#assign rootElement = docXml.getRootElement()>
34 <#assign telefoneDeAtendimentoNodes = rootElement.selectNodes("//dynamic-element[@name='TelefoneDeAtendimento']/dynamic-content/text()") >
35 <#assign horarioDeAtendimentoNodes = rootElement.selectNodes("//dynamic-element[@name='HorarioDeAtendimento']/dynamic-content/text()") >
36 <#assign LocalizacaoDeAtendimentoNodes = rootElement.selectNodes("//dynamic-element[@name='LocalizacaoDeAtendimento']/dynamic-content/text()")
37 >
38 <#assign titulosNodes = rootElement.selectNodes("//dynamic-element[@name='TituloFaciliade']/dynamic-content/text()") >
39 <#assign iconesNodes = rootElement.selectNodes("//dynamic-element[@name='IconeDaFacilidade']/dynamic-content/text()") >
40 <#assign recursoDaUnidadeNodes = rootElement.selectNodes("//dynamic-element[@name='RecursoDaUnidade']/dynamic-content/text()") >
41 <#assign textoComLinkRecursoNodes = rootElement.selectNodes("//dynamic-element[@name='TextoComLinkRecurso']/dynamic-content/text()") >
42 <#assign ConteudoDaModalRecursoNodes = rootElement.selectNodes("//dynamic-element[@name='ConteúdoDaModalRecurso']/dynamic-content/text()") >
43 <#assign duvidasNodes = rootElement.selectNodes("//dynamic-element[@name='Duvida']/dynamic-content/text()") >
44 <#assign respostasNodes = rootElement.selectNodes("//dynamic-element[@name='Resposta']/dynamic-content/text()") >
45 <#assign latitudeUnitNodes = rootElement.selectNodes("//dynamic-element[@name='LatitudeDaUnidadezaeq']/dynamic-content/text()") >
46 <#assign longitudeUnitNodes = rootElement.selectNodes("//dynamic-element[@name='LongitudeDaUnidade1gix']/dynamic-content/text()") >
47
48 <#assign listaDeHorarios = []>
49 <#list horarioDeAtendimentoNodes as horarioNode>
50 <#assign horario = horarioNode.getStringValue()>
51
52 <#assign listaDeHorarios = listaDeHorarios+[horario] />
53 </#list>
54 <#assign listaDeTelefones = []>
55 <#list telefoneDeAtendimentoNodes as telefoneNode>
56 <#assign telefone = telefoneNode.getStringValue()>
57
58 <#assign listaDeTelefones = listaDeTelefones+[telefone] />
59 </#list>
60 <#assign listaDeLocalizacoes = []>
61 <#list LocalizacaoDeAtendimentoNodes as localizacaoNode>
62 <#assign localizacao = localizacaoNode.getStringValue()>
63
64 <#assign listaDeLocalizacoes = listaDeLocalizacoes+[localizacao] />
65 </#list>
66 <#assign listaDeTitulos = []>
67 <#list titulosNodes as tituloNode>
68 <#assign titulo = tituloNode.getStringValue()>
69
70 <#assign listaDeTitulos = listaDeTitulos+[titulo] />
71 </#list>
72 <#assign listaDeIcones = []>
73 <#assign listaDelUrlIcones = []>
74 <#assign listOfDescription = []>
75 <#list iconesNodes as iconeNode>
76 <#assign icone = iconeNode.getStringValue()>
77 <#if icone?has_content>
78 <#assign
79 dlUtil = staticUtil["com.liferay.document.library.kernel.util.DLUtil"]
80 serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()
81 dlAppLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
82 imagem = icone?eval
83 imagemUuid = imagem.uuid
84 groupId = imagem.groupId
85 dlFile = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(imagemUuid,groupId?number)
86 imgUrl = dlUtil.getPreviewURL(dlFile, dlFile.getFileVersion(),themeDisplay,'')>
87 <#else>
88 <#assign imgUrl ="#" >
89 </#if>
90
91 <#assign listaDeIcones = listaDeIcones+[icone] />
92 <#assign listaDelUrlIcones = listaDelUrlIcones+[imgUrl] />
93 <#assign listOfDescription = listOfDescription + [imagem.alt?string!"sem descrição textual"] />
94 </#list>
95
96 <#assign listaDeRecursos = []>
97 <#list recursoDaUnidadeNodes as recursoNode>
98 <#assign recurso = recursoNode.getStringValue()>
99
100 <#assign listaDeRecursos = listaDeRecursos+[recurso] />
101 </#list>
102 <#assign listaDeTextoComLink = []>
103 <#list textoComLinkRecursoNodes as textoComLinkNode>
104 <#assign textoComLink = textoComLinkNode.getStringValue()>
105
106 <#assign listaDeTextoComLink = listaDeTextoComLink+[textoComLink] />
107 </#list>
108 <#assign listaDeConteudoDaModal = []>
109 <#list ConteudoDaModalRecursoNodes as conteudoDaModalNode>
110 <#assign conteudoDaModal = conteudoDaModalNode.getStringValue()>
111
112 <#assign listaDeConteudoDaModal = listaDeConteudoDaModal+[conteudoDaModal] />
113 </#list>
114
115 <#-- Duvidas Frequentes -->
116
117 <#assign listaDeDuvidas = []>
118 <#list duvidasNodes as duvidaNode>
119 <#assign duvida = duvidaNode.getStringValue()>
120
121 <#assign listaDeDuvidas = listaDeDuvidas+[duvida] />
122 </#list>
123 <#assign listaDeRespostas = []>
124 <#list respostasNodes as respostaNode>
125 <#assign resposta = respostaNode.getStringValue()>
126
127 <#assign listaDeRespostas = listaDeRespostas+[resposta] />
128 </#list>
129 <#-- Mapa unidade -->
130 <#assign listaDeLatUnidade = []>
131 <#list latitudeUnitNodes as latitudeUnNode>
132 <#assign latitudeUn = latitudeUnNode.getStringValue()>
133
134 <#assign listaDeLatUnidade = listaDeLatUnidade+[latitudeUn] />
135 </#list>
136 <#assign listaDeLongUnidade = []>
137 <#list longitudeUnitNodes as longitudeUnNode>
138 <#assign longitudeUn = longitudeUnNode.getStringValue()>
139
140 <#assign listaDeLongUnidade = listaDeLongUnidade+[longitudeUn] />
141 </#list>
142
143 </#if>
144</#if>
145
146<section class="container">
147 <div class="aviso_feriado">
148 <div class="row">
149 <div class="col-lg-6 col-12">
150 <#if entries?has_content>
151 <#list entries as curEntry>
152 <#assign
153 assetRenderer = curEntry.getAssetRenderer()
154 serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()
155 dlAppLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
156 dlUtil = staticUtil["com.liferay.document.library.kernel.util.DLUtil"]
157 themeDisplay = serviceContext.getThemeDisplay()
158 link = assetRenderer.getURLViewInContext(renderRequest, renderResponse, '')
159 />
160 <#assign docXml = saxReaderUtil.read(assetRenderer.getArticle().getContent()) />
161 <#assign aviso = docXml.valueOf("//dynamic-element[@name='Título']/dynamic-content/text()")
162 descricao = docXml.valueOf("//dynamic-element[@name='Descrição']/dynamic-content/text()")
163 />
164 <#if aviso?has_content && descricao?has_content && aviso !="" && descricao!="">
165 <div class="aviso_de_feriado">
166 <div class="card aviso_de_feriado_card">
167 <div class="card-body aviso_de_feriado_body">
168 <h3 class="tituloH5">${aviso}</h3>
169 <p class="">${descricao}</p>
170 </div>
171 </div>
172 </div>
173 </#if>
174 </#list>
175 </#if>
176 </div>
177 <div class="col-lg-6 col-12 facilidades">
178 <h3 class="tituloH4">Facilidades</h3>
179 <div class="row">
180 <#assign index = 0>
181 <#if listaDelUrlIcones?has_content>
182 <#list listaDelUrlIcones as itemIcone>
183 <#if itemIcone?has_content && itemIcone !="">
184 <div class="col-lg-4 col-4 facilidades_one">
185 <a href="">
186 <span>
187 <img src="${itemIcone}" alt="${listOfDescription[index]}">
188 </span>
189 <p>${listaDeTitulos[index]}</p>
190 </a>
191 </div>
192 <#else>
193 <div class="col-lg-4 col-4 facilidades_one">
194 <a href="">
195 <span>
196 <img src="" alt="não informado">
197 </span>
198 <p>não informado</p>
199 </a>
200 </div>
201 </#if>
202 <#assign index = index + 1>
203 </#list>
204 </#if>
205 </div>
206 </div>
207 </div>
208 </div>
209 <div class="horario_atendimento">
210 <div class="row">
211 <div class="col-lg-6 col-12 horario_atendimento_texts">
212 <h3 class="tituloH4">Horário de atendimento</h3>
213 <#if listaDeHorarios?has_content>
214 <#list listaDeHorarios as itemHorario>
215 <#if itemHorario?has_content && itemHorario !="">
216 <p>${itemHorario}</p>
217 <#else>
218 <p>não informado</p>
219 </#if>
220 </#list>
221 <#else>
222 <p>não informado</p>
223 </#if>
224 <h3 class="tituloH4">Telefone</h3>
225 <#if listaDeTelefones?has_content>
226 <#list listaDeTelefones as numberPhone>
227 <#if numberPhone?has_content && numberPhone !="">
228 <p>${numberPhone}</p>
229 <#else>
230 <p>não informado</p>
231 </#if>
232 </#list>
233 <#else>
234 <p>não informado</p>
235 </#if>
236
237 </div>
238 <div class="col-lg-6 col-12 horario_atendimento_texts">
239 <h3 class="tituloH4">Localização</h3>
240 <#if listaDeLocalizacoes?has_content>
241 <#list listaDeLocalizacoes as meioDeLocalizacao>
242 <#if meioDeLocalizacao?has_content && meioDeLocalizacao !="">
243 <p>${meioDeLocalizacao}</p>
244 <#else>
245 <p>não informado</p>
246 </#if>
247 </#list>
248 <#else>
249 <p>não informado</p>
250 </#if>
251
252 </div>
253 </div>
254 </div>
255<#-- Seção recursos - início -->
256 <div class="england_cards">
257 <div class="row">
258 <#if listaDeRecursos?has_content >
259 <#assign index = 0>
260 <#list listaDeRecursos as itemRecursos>
261 <div class="col-lg-6 col-12">
262
263 <div class="card card_estilizacao">
264
265 <div class="card-body">
266
267 <h3 class="card-title tituloH5">${itemRecursos}</h3>
268 <button
269 class="card-text c-unidades__trigger c-unidades__trigger-${index}"
270 data-toggle="modal"
271 data-target="#modal-0${index}"
272 >
273 <svg
274 id="add_circle_rounded"
275 data-name="add circle_rounded"
276 xmlns="http://www.w3.org/2000/svg"
277 width="20"
278 height="20"
279 viewBox="0 0 20 20"
280 >
281 <path
282 id="Caminho_8272"
283 data-name="Caminho 8272"
284 d="M0,0H20V20H0Z"
285 fill="none"
286 />
287 <path
288 id="Caminho_8273"
289 data-name="Caminho 8273"
290 d="M10.333,6.167A.836.836,0,0,0,9.5,7V9.5H7a.833.833,0,1,0,0,1.667H9.5v2.5a.833.833,0,0,0,1.667,0v-2.5h2.5a.833.833,0,0,0,0-1.667h-2.5V7A.836.836,0,0,0,10.333,6.167Zm0-4.167a8.333,8.333,0,1,0,8.333,8.333A8.336,8.336,0,0,0,10.333,2Zm0,15A6.667,6.667,0,1,1,17,10.333,6.676,6.676,0,0,1,10.333,17Z"
291 transform="translate(-0.333 -0.333)"
292 fill="#ec6e0c"
293 />
294 </svg>
295 <#if listaDeTextoComLink[index]?has_content >
296 ${listaDeTextoComLink[index]}
297 <#else>
298 Ver lista completa
299 </#if>
300 </button>
301 <div
302 class="modal c-modal"
303 id="modal-0${index}"
304 tabindex="-1"
305 aria-labelledby="modal-0${index}Label"
306 aria-hidden="true"
307 >
308 <div
309 class="modal-dialog modal-dialog-scrollable modal-dialog-centered"
310 >
311 <div class="modal-content">
312 <div class="modal-header">
313 <h3
314 class="modal-title c-modal__title tituloH5"
315 id="modal-0${index}Label"
316 >
317 ${itemRecursos}
318 </h3>
319 <button
320 type="button"
321 class="close"
322 data-dismiss="modal"
323 aria-label="Close"
324 >
325 <span aria-hidden="true">×</span>
326 </button>
327 </div>
328 <div class="modal-body">
329
330 <#if listaDeConteudoDaModal[index]?has_content >
331 ${listaDeConteudoDaModal[index]}
332 <#else>
333 Não informado
334 </#if>
335 </div>
336 <div class="modal-footer">
337 <button
338 type="button"
339 class="btn btn-secondary c-modal__btn"
340 data-dismiss="modal"
341 >
342 Ok
343 </button>
344 </div>
345 </div>
346 </div>
347 </div>
348
349 </div>
350
351 </div>
352
353 </div>
354 <script>
355 $(document).ready(function() {
356 $('.c-unidades__trigger-${index}').click(function() {
357 var target = $(this).data('target');
358 $(target).modal('show');
359 });
360 });
361 </script>
362 <#assign index = index + 1>
363 </#list>
364 </#if>
365 </div>
366 </div>
367</section>
368<#-- fim da seção recursos -->
369<#-- inicio da seção feedback -->
370<div class="container">
371 <div class="links">
372 <h2>Dúvidas Frequentes</h2>
373 <#assign index = 0
374 indexInd = 0>
375 <#if listaDeDuvidas?has_content>
376 <#list listaDeDuvidas as cur_duvida>
377 <#if (cur_duvida!="")>
378 <#if (cur_duvida)??>
379 <div class="clickshow w-100"><span>${cur_duvida}<img src="/documents/5787792/5800666/setaprabaixolaranja.png/ee081e7e-d84c-1eac-3609-7c40cb820744?version=1.0&t=1659988149455&imagePreview=1"></span>
380 <hr class="subtextoDuvidas">
381 <div class="subtextoDuvidas">${listaDeRespostas[index]}</div>
382 </div>
383 </#if>
384 </#if>
385 <#assign index = index + 1>
386 </#list>
387 <#assign indexInd = index>
388 </#if>
389 <#-- inicio da seção feedback geral -->
390 <#assign journalArticleLocalServiceG = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
391 <#assign resourcePrimKey = 1432773 >
392 <#assign articleG = journalArticleLocalServiceG.getLatestArticle(resourcePrimKey)>
393 <#assign docXmlG = saxReaderUtil.read(articleG.getContent())>
394 <#assign rootElementG = docXmlG.getRootElement()>
395 <#assign questionTitle = docXmlG.valueOf("//dynamic-element[@name='duvida']/dynamic-content/text()")>
396 <#assign responseContent = docXmlG.valueOf("//dynamic-element[@name='resposta']/dynamic-content/text()")>
397 <#assign questionNodes = rootElementG.selectNodes("//dynamic-element[@name='duvida']/dynamic-content/text()") >
398 <#assign responseNodes = rootElementG.selectNodes("//dynamic-element[@name='resposta']/dynamic-content/text()") >
399 <#assign listOfQuestions = []>
400 <#list questionNodes as questionNode>
401 <#assign questionG = questionNode.getStringValue()>
402 <#assign listOfQuestions = listOfQuestions+[questionG] />
403 </#list>
404 <#assign listOfResponse = []>
405 <#list responseNodes as responseNode>
406 <#assign responseG = responseNode.getStringValue()>
407 <#assign listOfResponse = listOfResponse+[responseG] />
408 </#list>
409 <#assign index = 0
410 indexGen = 0>
411 <#if listOfQuestions?has_content>
412 <#list listOfQuestions as cur_question>
413 <#if (cur_question!="")>
414 <#if (cur_question)??>
415 <div class="clickshow w-100"><span>${cur_question}<img src="/documents/5787792/5800666/setaprabaixolaranja.png/ee081e7e-d84c-1eac-3609-7c40cb820744?version=1.0&t=1659988149455&imagePreview=1"></span>
416 <hr class="subtextoDuvidas">
417 <div class="subtextoDuvidas maisclaro">${listOfResponse[index]}</div>
418 </div>
419 </#if>
420 </#if>
421 <#assign index = index + 1>
422 </#list>
423 <#assign indexGen = index>
424 </#if>
425
426
427 <#-- fim da seção feedback geral -->
428 </div>
429</div>
430<#-- fim da seção feedback -->
431<#-- Início dados estruturados -->
432<script type="application/ld+json">
433 {
434 "@context": "http://schema.org",
435 "@type": "FAQPage",
436 "mainEntity": [
437 <#assign ctLN = 0>
438
439 <#if listaDeDuvidas?has_content>
440 <#list listaDeDuvidas as cur_listaDeDuvida>
441 <#if (cur_listaDeDuvida)??>
442
443 {
444 "@type": "Question",
445 "name": "${cur_listaDeDuvida}",
446 "acceptedAnswer": {
447 "@type": "Answer",
448 "text": "${listaDeRespostas[ctLN]?replace("<br>","")?replace("'","")?replace("\"","")}"
449 }
450
451 },
452 <#assign ctLN = ctLN + 1>
453 </#if>
454 </#list>
455 </#if>
456 <#assign ctLN = 0>
457 <#if listOfQuestions?has_content>
458 <#list listOfQuestions as cur_listOfQuestion>
459 <#if (cur_listOfQuestion)??>
460
461 {
462 "@type": "Question",
463 "name": "${cur_listOfQuestion}",
464 "acceptedAnswer": {
465 "@type": "Answer",
466 "text": "${listOfResponse[ctLN]?replace("<br>","")?replace("'","")?replace("\"","")}"
467 }
468 <#if (ctLN != indexGen-1)>
469 },
470 <#else>
471 }
472 </#if>
473 </#if>
474 <#assign ctLN = ctLN + 1>
475 </#list>
476 </#if>
477
478 ]
479 }
480 </script>
481<#-- Fim dados estruturados -->
482<#-- inicio da seção mapa -->
483<div id="mapa_unidade_ind2">
484 <div id="mapBotton" style="width: 100%; height: 400px"></div>
485</div>
486<script
487 async
488 defer
489 src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAQnL23eGYWlJvrtNcZCSrj_h97bs-iL8A&libraries=geometry&callback=initMapBotton"
490 type="text/javascript"
491></script>
492<script>
493console.log("${listaDeLatUnidade[0]}","${listaDeLongUnidade[0]}")
494 function initMapBotton() {
495 var mapBotton = new google.maps.Map(document.getElementById('mapBotton'), {
496 center: {lat: ${listaDeLatUnidade[0]}, lng: ${listaDeLongUnidade[0]}},
497 zoom:14
498 });
499 var unitsBotton = [
500 {
501 name: 'Unidade',
502 latitude: "${listaDeLatUnidade[0]}",
503 longitude: "${listaDeLongUnidade[0]}"
504 }
505 ]
506 boundsBotton = new google.maps.LatLngBounds();
507 var positionBotton = new google.maps.LatLng(parseFloat(unitsBotton[0].latitude), parseFloat(unitsBotton[0].longitude));
508 var markerBotton = new google.maps.Marker({
509 position: positionBotton,
510 map: mapBotton,
511 title: "unidade",
512 icon: '/documents/5787792/5809006/marker.svg/18f5c545-892a-ed02-17b0-40240e326c99?version=1.0&t=1680253884022&imagePreview=11'
513 });
514
515 boundsBotton.extend(markerBotton.getPosition());
516 }
517 initMapBotton().show();
518</script>
519<#-- fim da seção mapa -->
520
521<script>
522
523 $('.clickshow').click(function(){
524
525if ($(this).find('.subtextoDuvidas').hasClass('show_sectionfield')){
526$('.clickshow').find('.subtextoDuvidas').removeClass('show_sectionfield');
527}
528
529else {
530$('.clickshow').find('.subtextoDuvidas').removeClass('show_sectionfield');
531$(this).find('.subtextoDuvidas').addClass('show_sectionfield');
532}
533});
534</script>
535
536
537<style>
538
539/*contraste-body ajuste do mapa para alto contrate*/
540html .contraste-body #mapBotton img {
541 filter: saturate(5) grayscale(1) invert(1);
542}
543html .contraste-body div#mapBotton,
544html .contraste-body #mapBotton div {
545 background-color: transparent !important;
546}
547html .contraste-body #mapBotton img {
548 background-color: transparent !important;
549}
550
551h3.tituloH4{
552 font-size: 18px;
553}
554h3.tituloH5{
555 font-size: 16px;
556}
557.portlet-decorate .portlet-content{
558 background: initial !important;
559 }
560 .clickshow {
561 cursor:pointer;
562 }
563 .links h2{
564 text-align: center;
565 margin: 45px 0;
566 font-size: 36px;
567 font-family:"oxygen-regular";
568
569}
570
571 .links h2 strong{
572 font-family:"oxygen-bold";
573 }
574
575.maisclaro{
576 font-weight: 400!important;
577 color: #5B5B5F!important;
578 font-size: 16px!important;
579 margin: 0;
580 padding-top: 15px!important;
581 font-family: "oxygen-regular"!important;
582
583}
584.subtextoDuvidas a, .subtextoDuvidas a:hover {
585 color: #EC6E0C;
586 text-decoration: underline;
587 font-family: "oxygen-bold";
588}
589
590.links div{
591 text-align: left;
592 font-size: 18px;
593 outline: none;
594 border: 1px solid #5B5B5F33;
595 background-color: #fff;
596 padding: 20px;
597 color: black;
598 font-weight: bold;
599 border-radius: 10px;
600 margin-bottom: 20px;
601 font-family: "oxygen-bold";
602 }
603
604 .links div p{
605 font-weight: 400;
606 color: #5B5B5F;
607 font-size: 16px;
608 margin: 0;
609 padding-top: 15px;
610 font-family: "oxygen-regular";
611 }
612
613 .subtextoDuvidas{
614 display: none;
615 }
616
617 .links img{
618 float: right;
619 }
620
621.c-modal .modal-dialog {
622 min-width: 750px;
623 }
624div.modal-body ul{
625 margin: 35px;
626}
627.aviso_feriado {
628 padding-top: 30px;
629}
630.aviso_de_feriado_card {
631 border-radius: 10px;
632 border: 1px solid #f9edd3;
633 background-color: #f9edd3;
634 box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
635 height: auto;
636}
637
638.facilidades_one a{
639 text-decoration: none;
640}
641.facilidades_one img{
642 width: 48px;
643 height:48px;
644}
645
646.aviso_de_feriado_body h3 {
647 font-size: 16px;
648 font-family: 'oxygen-bold';
649 color: #1a171b;
650 font-weight: bold;
651 margin-bottom: 20px;
652}
653.aviso_de_feriado_body p {
654 font-size: 16px;
655 font-family: 'oxygen-regular';
656 color: #5b5b5f;
657 font-weight: 400;
658}
659
660.facilidades h3 {
661 font-size: 18px;
662 text-align: left;
663 font-family: 'oxygen-bold';
664 color: #1a171b;
665 font-weight: bold;
666 margin-bottom: 20px;
667}
668.facilidades span {
669 text-align: center;
670 justify-content: center;
671 display: flex;
672 margin-bottom: 10px;
673}
674.facilidades p {
675 font-size: 14px;
676 text-align: center;
677 font-family: 'oxygen-bold';
678 color: #1a171b;
679 font-weight: bold;
680 margin-bottom: 20px;
681}
682.horario_atendimento_texts {
683 margin-top: 30px;
684 margin-bottom: 30px;
685}
686.horario_atendimento_texts h3 {
687 font-size: 18px;
688 text-align: left;
689 font-family: 'oxygen-bold';
690 color: #1a171b;
691 font-weight: bold;
692}
693.horario_atendimento_texts p {
694 font-size: 14px;
695 font-family: 'oxygen-regular';
696 color: #5b5b5f;
697 font-weight: 400;
698}
699.card_estilizacao {
700 border-radius: 8px;
701 border: 1px solid #e7e7e7db;
702 box-shadow: rgba(17, 12, 46, 0.15) 0px 10px 15px 0px;
703 margin: 10px auto;
704}
705.england_cards {
706 background: transparent;
707}
708.england_cards h3 {
709 font-size: 18px;
710 text-align: left;
711 font-family: 'oxygen-bold';
712 color: #1a171b;
713 font-weight: bold;
714}
715.england_cards a {
716 color: #ec6e0c;
717 text-decoration: underline;
718 font-weight: bold;
719 font-family: 'oxygen-bold';
720 font-size: 16px;
721}
722.c-unidades__trigger {
723 background: transparent;
724 border: 0;
725 color: #ec6e0c;
726 font-family: 'oxygen-bold';
727 text-decoration: underline;
728}
729.c-modal.modal{
730 display: none;
731}
732.c-modal.modal.show{
733 display: flex !important;
734 justify-content: center !important;
735}
736.c-modal .c-modal__title {
737 font-family: 'oxygen-bold';
738 font-size: 24px;
739}
740
741.c-modal .c-modal__btn {
742 background-color: #ec6e0c;
743 color: #ffffff;
744 border: 0;
745 padding: 5px 32px;
746}
747
748.c-modal .c-modal__btn:not(:disabled):not(.disabled):active {
749 background-color: #ec6e0c;
750 border-color: #ec6e0c;
751}
752.c-modal .c-modal__btn:not(:disabled):not(.disabled):active:focus {
753 box-shadow: none;
754}
755.c-modal .c-modal__btn:focus {
756 box-shadow: none;
757}
758@media (min-width: 576px) {
759 .c-modal .modal-dialog {
760 max-width: 800px;
761 }
762}
763@media (max-width: 575px) {
764 .modal-dialog-centered.modal-dialog-scrollable .modal-content {
765 max-width: 350px;
766}
767}
768@media (max-width: 275px) {
769 .modal-dialog-centered.modal-dialog-scrollable .modal-content {
770 max-width: 250px;
771}
772}
773@media (max-width: 992px) {
774 .facilidades h3 {
775 margin-top: 15px;
776 }
777 .aviso_feriado {
778 padding-top: 230px;
779 }
780}
781</style>
Precisa de atendimento médico?
Use a telemedicina