Mira Para Arriba
Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing: ==> TituloBannerAzul2 [in template "20097#20123#84372" at line 175, column 18] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #if TituloBannerAzul2.getData()?has_c... [in template "20097#20123#84372" at line 175, column 13] ----
1<link rel="stylesheet" href="${themeDisplay.getPathThemeCss()}/sustentabilidad.css" />
2
3<style>
4 .banner-sustentabilidad::after {
5 height: 675px !important;
6 }
7
8 @media (max-width: 768px) {
9 .gs:not(.liferay-instance) .gs-header-space {
10 height: 177px !important;
11 }
12
13 .banner-sustentabilidad::after {
14 height: 519px !important;
15 }
16 }
17
18 .btn-sustentabilidad {
19 background-color: #092754;
20 color: white;
21 }
22
23 .btn-sustentabilidad:hover {
24 background-color: white;
25 border: solid;
26 padding: 6px 19px;
27 }
28
29 #formulario-contacto .btn-sustentabilidad {
30 background-color: white;
31 border: solid;
32 color: #4F1FFF;
33 padding: 6px 19px;
34 }
35
36 #formulario-contacto .btn-sustentabilidad:hover {
37 background-color: #092754;
38 color: white;
39 }
40
41 .splide--draggable > .splide__track > .splide__list > .splide__slide {
42 margin: auto;
43 }
44
45</style>
46
47<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
48<#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService") />
49<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
50
51<#-- Get current entry assets -->
52<#assign currentArticle = journalArticleLocalService.getArticle(groupId, .vars['reserved-article-id'].data) />
53<#assign currentArticleResourcePrimKey = currentArticle.getResourcePrimKey() />
54<#assign currentArticleAssetEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", currentArticleResourcePrimKey) />
55<#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(currentArticleAssetEntry.getEntryId()) />
56
57<#assign JSONFactoryUtil = staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"] />
58<#assign DLAppLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]>
59<#assign DLUtil = staticUtil["com.liferay.document.library.kernel.util.DLUtil"] />
60
61<div class="gs-banner-sustentabilidad">
62 <div class="banner-sustentabilidad" style="background: url(${ImagenBanner.getData()}) no-repeat center">
63 <div class="banner-texto">
64 <div class="container">
65 <div class="row">
66 <div class="col-12 col-md-5">
67 <h1 class="banner-titulo m-0">${TituloBanner.getData()}</h1>
68 <p class="banner-subtitulo-iniciativa mt-3">${BajadaBanner.getData()}</p>
69 </div>
70 </div>
71 </div>
72 </div>
73 </div>
74</div>
75<div class="gs-breadcrumb breadcrumb-sustentabilidad">
76 <div class="container">
77 <nav aria-label="Ruta de navegación">
78 <ol class="breadcrumb">
79 <li class="breadcrumb-item">
80 <a class="breadcrumb-link" href="" title="Sustentabilidad">
81 <span class="breadcrumb-text-truncate">Somos Vecinos</span>
82 </a>
83 </li>
84 <li class="breadcrumb-item">
85 <span class="active breadcrumb-text-truncate">${TituloBanner.getData()}</span>
86 </li>
87 </ol>
88 </nav>
89 </div>
90</div>
91<div class="container">
92 <div class="row">
93
94 <#assign claseAncho = 'col-md-9' />
95 <#if currentArticleRelatedLinks?size == 0>
96 <#assign claseAncho = '' />
97 </#if>
98 <div class="col-12 ${claseAncho} contenedor-mobile">
99 <div class="container">
100 <div class="row align-items-center iniciativa-seccion-programa">
101 <div class="col-md-6">
102 <h2 class="mb-4">${TituloPrograma.getData()}</h2>
103 <div class="font-size-big">
104 ${DescripcionPrograma.getData()}
105 </div>
106 </div>
107 <div class="col-md-6">
108 <img class="mx-auto d-block w-100 w-md-75" src="${ImagenPrograma.getData()}" alt="">
109 </div>
110 </div>
111 </div>
112
113 <#if TituloBannerAzul.getData()?has_content || DescripcionBannerAzul.getData()?has_content>
114 <div class="container container-background">
115 <div class="row align-items-center">
116 <div class="col-md-4">
117 <img class="mx-auto mb-4 mb-md-0 d-block w-100" src="${IconoBannerAzul.getData()}" alt="">
118 </div>
119 <div class="col-md-8">
120 <h2>${TituloBannerAzul.getData()}</h2>
121 <div class="font-size-big">
122 ${DescripcionBannerAzul.getData()}
123 </div>
124 </div>
125
126 </div>
127 </div>
128 </#if>
129
130 <#if TituloSlider.getData()?has_content || DescripcionSlider.getData()?has_content>
131 <div class="container mt-5">
132 <div class="row align-items-center iniciativa-seccion-programa">
133 <div class="col-md-5">
134 <h2>${TituloSlider.getData()}</h2>
135 <div class="font-size-big">
136 ${DescripcionSlider.getData()}
137 </div>
138 </div>
139 <div class="offset-md-1 col-md-6">
140 <!--Se utiliza librería de slider del theme webgruposaesa-->
141 <#if ImagenSlider.getSiblings()?has_content>
142 <div class="splide" data-splide='{"type":"loop", "pagination": false, "autoplay": true}'>
143 <div class="splide__track">
144 <ul class="splide__list">
145
146 <#list ImagenSlider.getSiblings() as cur_ImagenSlider>
147 <#if (cur_ImagenSlider.getData())?? && cur_ImagenSlider.getData() != "">
148 <li class="splide__slide"><img width="100%" src="${cur_ImagenSlider.getData()}" alt=""></li>
149 </#if>
150 </#list>
151 </ul>
152 </div>
153 <script>
154 if( document.readyState !== 'loading' ) {
155 var splide = new Splide('.splide',{
156 autoHeight: true
157 });
158 splide.mount();
159 } else {
160 document.addEventListener('DOMContentLoaded', function() {
161 var splide = new Splide('.splide',{
162 autoHeight: true
163 });
164 splide.mount();
165 });
166 }
167 </script>
168 </div>
169 </#if>
170 </div>
171 </div>
172 </div>
173 </#if>
174
175 <#if TituloBannerAzul2.getData()?has_content || DescripcionBannerAzul2.getData()?has_content>
176 <div class="container container-background">
177 <div class="row align-items-center">
178 <div class="col-md-4">
179 <img class="mx-auto mb-4 mb-md-0 d-block w-100" src="${IconoBannerAzul2.getData()}" alt="">
180 </div>
181 <div class="col-md-8">
182 <h2>${TituloBannerAzul2.getData()}</h2>
183 <div class="font-size-big">
184 ${DescripcionBannerAzul2.getData()}
185 </div>
186 </div>
187
188 </div>
189 </div>
190 </#if>
191
192 <div class="container">
193 <div class="row align-items-center iniciativa-seccion-programa">
194 <div class="col-md-6">
195 <h2 class="mb-4">${TituloPrograma2.getData()}</h2>
196 <div class="font-size-big">
197 ${DescripcionPrograma2.getData()}
198 </div>
199 </div>
200 <div class="col-md-6">
201 <img class="mx-auto d-block w-100 w-md-75" src="${ImagenPrograma2.getData()}" alt="">
202 </div>
203 </div>
204 </div>
205
206 <div class="container mb-4">
207 <div class="row">
208 <div class="col-12 p-0">
209 <img src="${ImagenGrafica.getData()}" width="100%" class="mx-md-auto d-block" alt="">
210 </div>
211 </div>
212 </div>
213
214 <#if TituloBannerAzul3.getData()?has_content || DescripcionBannerAzul3.getData()?has_content>
215 <div class="container container-background">
216 <div class="row align-items-center">
217 <div class="col-md-4">
218 <img class="mx-auto mb-4 mb-md-0 d-block w-100" src="${IconoBannerAzul3.getData()}" alt="">
219 </div>
220 <div class="col-md-8">
221 <h2>${TituloBannerAzul3.getData()}</h2>
222 <div class="font-size-big">
223 ${DescripcionBannerAzul3.getData()}
224 </div>
225 </div>
226
227 </div>
228 </div>
229 </#if>
230
231 <div id="portlet-formulario"></div>
232 </div>
233
234 <#if currentArticleRelatedLinks?size != 0>
235 <div class="col-12 col-md-3 mt-5 mt-md-1">
236 <div class="row iniciativa-seccion-noticias">
237 <#list currentArticleRelatedLinks as related_entry>
238 <#assign relatedAssetEntryId = related_entry.getEntryId2() />
239 <#assign relatedAssetEntry = assetEntryLocalService.getEntry(relatedAssetEntryId) />
240 <#assign renderer = relatedAssetEntry.getAssetRenderer() />
241 <#assign className = renderer.getClassName() />
242
243 <#if className == 'com.liferay.journal.model.JournalArticle'>
244 <#assign journalArticle = renderer.getArticle() />
245 <#assign document = saxReaderUtil.read(journalArticle.getContent()) />
246 <#assign rootElement = document.getRootElement() />
247
248 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='news_content']") />
249 <#assign news_content = xPathSelector.selectSingleNode(rootElement).getStringValue() />
250
251 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='news_image']") />
252 <#assign news_image = xPathSelector.selectSingleNode(rootElement).getStringValue() />
253
254 <#assign jsonDlFileEntry = JSONFactoryUtil.createJSONObject(news_image) />
255 <#assign fileEntry = DLAppLocalServiceUtil.getFileEntryByUuidAndGroupId(jsonDlFileEntry.getString("uuid"), jsonDlFileEntry.getString("groupId")?number) >
256
257 <#assign viewURL = DLUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "") />
258
259 <div class="col-12">
260 <div class="card">
261 <img class="card-img-top" src="${viewURL}" alt="${journalArticle.getTitle(locale)}">
262 <div class="card-category">
263 <p class="m-0">Noticias</p>
264 </div>
265 <div class="card-body">
266 <h4 class="card-title">${journalArticle.getTitle(locale)}</h4>
267
268 <#assign textoSinTags = news_content?replace('<[^>]+>','','r') />
269 <p class="card-text">${textoSinTags}</p>
270
271 <a href="" class="btn btn-sustentabilidad">Ver más ></a>
272 </div>
273 </div>
274 </div>
275 </#if>
276 </#list>
277 </div>
278 </div>
279 </#if>
280
281 </div>
282</div>
283
284<script>
285 var textoBajadaFormulario = "${TextoBajadaFormulario.getData()}";
286 var urlBasesFormulario = "${BasesFormulario.getData()}";
287 document.body.classList.add("gs-content--sustentabilidad");
288</script>