Ocorreu um erro ao processar o template.
The following has evaluated to null or missing: ==> renderer.getArticle() [in template "20116#20152#31697" at line 93, column 43] ---- Tip: If the failing expression is known to be 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: #assign journalArticle = renderer.get... [in template "20116#20152#31697" at line 93, column 17] ----
1<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
2<#assign httpServletRequest = serviceContext.getRequest()>
3
4<#if !httpServletRequest.getParameter('articleId')??>
5
6 <div class="row" style="margin-top:20px;">
7
8 <div class="col-md-10 col-md-offset-1" style="padding-top:20px;">
9
10 <#if entries?has_content>
11 <#list entries as curEntry>
12
13 <#assign renderer = curEntry.getAssetRenderer() />
14 <#assign className = renderer.getClassName() />
15
16 <#if className == "com.liferay.journal.model.JournalArticle">
17 <#assign journalArticle = renderer.getArticle() />
18 <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) />
19 <#assign rootElement = document.getRootElement() />
20
21 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Titulo']") />
22 <#assign titulo = xPathSelector.selectSingleNode(rootElement).getStringValue() />
23
24 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Resumo']") />
25 <#assign resumo = xPathSelector.selectSingleNode(rootElement).getStringValue() />
26
27 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Data4dgn']") />
28 <#assign data = xPathSelector.selectSingleNode(rootElement).getStringValue() />
29
30 <div class="col-md-12" style="padding-top:30px;">
31 <div class="col-md-1">
32 <#list curEntry.getTags() as tag>
33 <#if tag.name == "noticia">
34 <img style="width: 42px; height: 42px;" src="/documents/20143/31440/noticias.png.svg/bda0b1eb-2163-76da-b5ba-70a83dff7fc8" alt="noticia"/>
35 <#elseif tag.name == "servicodestaque">
36 <img style="width: 42px; height: 42px;" src="/documents/20143/31440/destaques.png.svg/5d66f27d-83b7-359d-ebf3-2f94cd4c26ac" alt="serviço destaque"/>
37 <#elseif tag.name == "alerta">
38 <img style="width: 42px; height: 42px;" src="/documents/20143/31440/alerta.png.svg/dc6792ed-3434-51d7-7749-b7da46c00602" alt="alerta" />
39 <#elseif tag.name == "legislacao">
40 <img style="width: 42px; height: 42px;" src="/documents/20143/31440/legislacao.png.svg/00664884-3efc-6d15-9403-124f5f0dd8ea"alt="legislação" />
41 </#if>
42 </#list>
43 </div>
44 <div class="col-md-11">
45 <p style=" color: #ccc; font-size: 12px; margin:0;">${data}</P>
46 <a href="/destaques?articleId=${curEntry.getEntryId()}"><h4 style="margin:0;">${titulo}</h4></a>
47 <p style="margin-top:10px;;">${resumo}</p>
48 </div>
49 </div>
50 </#if>
51
52 </#list>
53 </#if>
54
55 </div>
56
57 </div>
58
59<#else>
60
61 <#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
62 <#assign validArticleId = httpServletRequest.getParameter('articleId')?matches("\\d+")>
63 <#assign validEntryId = false>
64
65 <#if validArticleId>
66 <#assign articleId = httpServletRequest.getParameter('articleId')?number>
67 <#if assetEntryLocalService.fetchAssetEntry(articleId)??>
68 <#assign validEntryId = true>
69 <#assign entry = assetEntryLocalService.getEntry(articleId) />
70 </#if>
71 </#if>
72
73 <#if validArticleId && validEntryId>
74 <div class="row" id="printableArea">
75
76
77 <div class="col-md-10 col-md-offset-1">
78 <a class="icon-monospaced portlet-icon-back text-default" onclick="window.history.go(-1); return false;" title="Back" style="cursor:pointer; width: 82px;">
79 <span class="" style="display: flex;">
80 <span class="">
81 <svg class="lexicon-icon lexicon-icon-angle-left" focusable="false" role="img" title="" viewBox="0 0 512 512">
82 <path class="lexicon-icon-outline" d="M114.106 254.607c0.22 6.936 2.972 13.811 8.272 19.11l227.222 227.221c11.026 11.058 28.94 11.058 39.999 0 11.058-11.026 11.058-28.94 0-39.999l-206.333-206.333c0 0 206.333-206.333 206.333-206.333 11.058-11.059 11.058-28.973 0-39.999-11.058-11.059-28.973-11.059-39.999 0l-227.221 227.221c-5.3 5.3-8.052 12.174-8.273 19.111z"></path>
83 </svg>
84 </span>
85 <span> Voltar </span>
86 <span class="taglib-text hide-accessible"></span> </span>
87 </a>
88 </div>
89 <#assign renderer = entry.getAssetRenderer() />
90 <#assign className = renderer.getClassName() />
91
92 <#if className == "com.liferay.journal.model.JournalArticle">
93 <#assign journalArticle = renderer.getArticle() />
94 <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) />
95 <#assign rootElement = document.getRootElement() />
96
97 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Titulo']") />
98 <#assign titulo = xPathSelector.selectSingleNode(rootElement).getStringValue() />
99
100 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Conteudo']") />
101 <#assign conteudo = xPathSelector.selectSingleNode(rootElement).getStringValue() />
102
103 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Data4dgn']") />
104 <#assign data = xPathSelector.selectSingleNode(rootElement).getStringValue() />
105
106 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='ImagemDestaque']") />
107 <#assign imagem = xPathSelector.selectSingleNode(rootElement).getStringValue() />
108
109 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='ImagemDetalhe']") />
110
111 <#if xPathSelector.selectSingleNode(rootElement)??>
112 <#assign imagemDetalhe = xPathSelector.selectSingleNode(rootElement).getStringValue() />
113 </#if>
114
115 <div class="col-md-10 col-md-offset-1">
116
117 <div class="col-md-12" style="padding-top:50px; padding-bottom:50px;">
118
119 <div class="col-md-9">
120 <div class="col-md-1">
121 <#list entry.getTags() as tag>
122 <#if tag.name == "noticia">
123 <img style="width: 42px; height: 42px;" src="/documents/20143/31440/noticias.png.svg/bda0b1eb-2163-76da-b5ba-70a83dff7fc8" alt="noticia" />
124 <#elseif tag.name == "servicodestaque">
125 <img style="width: 42px; height: 42px;" src="/documents/20143/31440/destaques.png.svg/5d66f27d-83b7-359d-ebf3-2f94cd4c26ac" alt="serviço destaque"/>
126 <#elseif tag.name == "alerta">
127 <img style="width: 42px; height: 42px;" src="/documents/20143/31440/alerta.png.svg/dc6792ed-3434-51d7-7749-b7da46c00602" alt="alerta"/>
128 <#elseif tag.name == "legislacao">
129 <img style="width: 42px; height: 42px;" src="/documents/20143/31440/legislacao.png.svg/00664884-3efc-6d15-9403-124f5f0dd8ea" alt="legislação" />
130 </#if>
131 </#list>
132 </div>
133 <div class="col-md-11">
134 <p style="color: gray; margin: 0;">${data}</p>
135 <h4 style="margin: 0;">${titulo}</h4>
136 </div>
137 </div>
138 <div class="col-md-3">
139
140 <div class="col-md-12" style="padding-bottom:20px;" id="shareArea">
141 <div id="shareIcons" class="jssocials" style="font-size: 14px;">
142 <div class="jssocials-shares">
143
144 <div class="jssocials-share jssocials-share-email">
145 <a target="_self" href="#">
146 <span class="fa fa-print jssocials-share-logo" aria-hidden="true" onclick="printDiv('printableArea')"></span>
147 </a>
148 </div>
149
150 <div class="jssocials-share jssocials-share-email">
151 <a target="_self" href="mailto:?subject=Share DGRM Website Content" class="jssocials-share-link">
152 <i class="fa fa-at jssocials-share-logo"></i>
153 </a>
154 </div>
155 <!--
156 <div class="jssocials-share jssocials-share-twitter">
157 <a target="_blank" href="https://twitter.com/share?url=https://www.dgrm.mm.gov.pt;text=Direcção-Geral de Resursos Naturais, Segurança e Serviços Maritimos" class="jssocials-share-link">
158 <i class="fa fa-twitter jssocials-share-logo"></i>
159 </a>
160 </div>
161
162 -->
163 <div class="jssocials-share jssocials-share-facebook">
164 <a target="_blank" href="https://facebook.com/sharer/sharer.php?u=https://www.dgrm.mm.gov.pt/destaques?articleId=${articleId}" class="jssocials-share-link">
165 <i class="fa fa-facebook jssocials-share-logo"></i>
166 </a>
167 </div>
168 <!--
169
170 <div class="jssocials-share jssocials-share-googleplus">
171 <a target="_blank" href="https://plus.google.com/share?url=https://www.dgrm.mm.gov.pt" class="jssocials-share-link">
172 <i class="fa fa-google jssocials-share-logo"></i>
173 </a>
174 </div>
175
176 <div class="jssocials-share jssocials-share-linkedin">
177 <a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.dgrm.mm.gov.pt" class="jssocials-share-link">
178 <i class="fa fa-linkedin jssocials-share-logo"></i>
179 </a>
180 </div>
181
182 <div class="jssocials-share jssocials-share-whatsapp">
183 <a target="_self" href="whatsapp://send?text=https://www.dgrm.mm.gov.pt Direcção-Geral de Resursos Naturais, Segurança e Serviços Maritimos" class="jssocials-share-link">
184 <i class="fa fa-whatsapp jssocials-share-logo"></i>
185 </a>
186 </div>
187 -->
188 </div>
189 </div>
190
191 </div>
192
193 </div>
194
195 </div>
196
197 <div class="col-md-12">
198 <#if imagemDetalhe??>
199 <div class="col-md-9">
200 ${conteudo}
201 </div>
202 <div class="col-md-3">
203
204 <img style="width:100%;" src="${imagemDetalhe}"/>
205 </div>
206
207 <#else>
208 <div class="col-md-12">
209 ${conteudo}
210 </div>
211 </#if>
212
213 </div>
214 </div>
215 </#if>
216 </div>
217
218 <div class="row" style="padding-top:30px;">
219
220 <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
221 <#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService") />
222 <#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(entry.getEntryId()) />
223
224 <#if currentArticleRelatedLinks?has_content>
225 <div class="col-md-10 col-md-offset-1" style="padding-top:30px;">
226 <h2 style="margin:0; padding-bottom:20px;"><@liferay.language key="portal.adt.content.noticias.relatedarticles"/></h2>
227 </div>
228 </#if>
229
230 <#list currentArticleRelatedLinks as related_entry>
231 <#assign relatedAssetEntryId = related_entry.getEntryId2() />
232 <#assign relatedAssetEntry = assetEntryLocalService.getEntry(relatedAssetEntryId) />
233 <#assign relatedAssetEntryPrimKey = relatedAssetEntry.getClassPK() />
234 <#assign relatedArticle = journalArticleLocalService.getLatestArticle(relatedAssetEntryPrimKey) />
235 <#assign relatedArticleId = relatedArticle.getArticleId() />
236
237 <#assign document = saxReaderUtil.read(relatedArticle.getContent()) />
238 <#assign rootElement = document.getRootElement() />
239
240 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Titulo']") />
241 <#assign titulo = xPathSelector.selectSingleNode(rootElement).getStringValue() />
242
243 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Resumo']") />
244 <#assign resumo = xPathSelector.selectSingleNode(rootElement).getStringValue() />
245
246 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Data4dgn']") />
247 <#assign data = xPathSelector.selectSingleNode(rootElement).getStringValue() />
248
249
250 <div class="col-md-10 col-md-offset-1" style="padding-top:30px;">
251
252 <div class="col-md-1">
253 <#list relatedAssetEntry.getTags() as tag>
254 <#if tag.name == "noticia">
255 <img style="width: 42px; height: 42px;" src="/documents/20143/31440/noticias.png.svg/bda0b1eb-2163-76da-b5ba-70a83dff7fc8" alt="noticia"/>
256 <#elseif tag.name == "servico">
257 <img style="width: 42px; height: 42px;" src="/documents/20143/31440/destaques.png.svg/5d66f27d-83b7-359d-ebf3-2f94cd4c26ac" alt="serviço"/>
258 <#elseif tag.name == "alerta">
259 <img style="width: 42px; height: 42px;" src="/documents/20143/31440/alerta.png.svg/dc6792ed-3434-51d7-7749-b7da46c00602"alt="alerta"/>
260 <#elseif tag.name == "legislacao">
261 <img style="width: 42px; height: 42px;" src="/documents/20143/31440/legislacao.png.svg/00664884-3efc-6d15-9403-124f5f0dd8ea" alt="legislação"/>
262 </#if>
263 </#list>
264 </div>
265 <div class="col-md-11">
266 <p style=" color: #ccc; font-size: 12px; margin:0;">${data}</P>
267 <a href="/destaques?articleId=${relatedAssetEntry.getEntryId()}"><h2 style="margin:0;">${titulo}</h2></a>
268 <p style="margin-top:10px;;">${resumo}</p>
269 </div>
270 </div>
271 </#list>
272
273 </div>
274 <#else>
275 <script>
276 window.location = window.location.href.split("?")[0];
277 //window.history.go(-1);
278 </script>
279 </#if>
280</#if>
281
282<script>
283
284$(document).ready(function() {
285 var x = document.URL;
286 var n = x.search("articleId");
287 console.log(this);
288 console.log (document.getElementsByClassName("taglib-page-iterator")[0]);
289 if (n != "-1" ) {
290 console.log("entrei");
291 document.getElementsByClassName("taglib-page-iterator")[0].hidden = true;
292 }
293});
294
295
296 function printDiv(divName) {
297
298 $("#shareArea").hide()
299
300 var printContents = document.getElementById(divName).innerHTML;
301 var originalContents = document.body.innerHTML;
302
303 document.body.innerHTML = printContents;
304
305 window.print();
306
307 document.body.innerHTML = originalContents;
308
309 $("#shareArea").show()
310 console.log('first broken');
311
312
313 }
314
315
316</script>