テンプレート処理中にエラーが発生しました。
The following has evaluated to null or missing:
==> journalArticleService.fetchArticleByUrlTitle(groupId, urlTitle?url('UTF-8'))  [in template "61028#61055#90528" at line 166, column 20]

----
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 article = journalArticleServi...  [in template "61028#61055#90528" at line 166, column 1]
----
1<style> 
2 
3    /*  BREADCRUMB */ 
4    nav.breadcrumb-nav { 
5        margin-top: 50px; 
6        margin-right: 70px; 
7
8 
9    .breadcrumb-element.list-inline-item { 
10        padding: 2px 10px; 
11        margin-right: 0; 
12
13 
14 
15    .breadcrumb-element.list-inline-item:not(:first-child) { 
16        border-left: 1px solid #E2E2E2; 
17
18 
19    .breadcrumb-element.list-inline-item:last-child { 
20        border-left: 1px solid #015174; 
21
22 
23 
24    li.breadcrumb-element { 
25        font-size: 0.875rem; 
26
27 
28    li.breadcrumb-element.active { 
29        color: #015174; 
30
31 
32    li.breadcrumb-element a { 
33        color: #7E7E7E; 
34
35 
36    /*  END BREADCRUMB */ 
37 
38    .container-image { 
39        background-color: white; 
40        background-size: cover; 
41
42 
43    .conteudo { 
44        background-color: white; 
45        padding-top: 40px; 
46        padding-bottom: 40px; 
47
48 
49    .conteudo h1 { 
50        font-size: 1.875rem; 
51
52 
53 
54    .conteudo h2 { 
55        color: #A1BB15; 
56        padding-top: 20px; 
57        font-size: 1.5rem; 
58
59 
60    .corpoDoTexto { 
61        padding-top: 20px; 
62
63 
64    .data-criacao { 
65        border-bottom: 2px solid #E2E2E2; 
66        padding-top: 30px; 
67        padding-bottom: 10px; 
68        color: #E2E2E2; 
69
70 
71    .data-criacao .fas { 
72        color: #A1BB15; 
73        padding-right: 10px; 
74
75 
76    #news { 
77        padding-bottom: 50px; 
78
79 
80    h3 { 
81        border-bottom: 2px solid #E2E2E2; 
82        padding-bottom: 10px; 
83
84 
85    #relatedNews { 
86 
87        color: #A1BB15; 
88
89 
90    #relatedNews h2 { 
91        font-size: 1rem; 
92        padding-bottom: 20px; 
93        text-transform: uppercase; 
94        letter-spacing: 5px; 
95        word-spacing: 10px; 
96
97 
98    .verde, a.verde:hover { 
99        color: #A1BB15; 
100
101 
102    .info-contato { 
103        padding: 0.5rem 0; 
104
105 
106    .card-img-top { 
107        width: 100%; 
108        height: auto; 
109
110 
111    .card-text-title { 
112        font-size: 1.125rem; 
113
114 
115    .a2a_kit { 
116        z-index: 1000; 
117
118 
119    .stretched-link::after { 
120        z-index: 0 !important; 
121
122 
123    .badge-silver { 
124        background-color: #e0e0e0; 
125        color: #272833; 
126        font-size: 1rem; 
127        letter-spacing: 0.09rem; 
128
129 
130    .badge-silver:hover { 
131        background-color: #c3c3c3; 
132        color: #272833; 
133
134     
135 
136    .fa-linkedin { 
137         color: #0e76a8; 
138
139     
140    .fa-facebook-square { 
141         color: #3b5998; 
142
143     
144    .fa-instagram { 
145         color: #405DE6; 
146
147     
148    .fa-twitter { 
149         color: #00acee; 
150
151     
152    .fa-youtube { 
153        color: #c4302b;  
154    }  
155 
156</style> 
157 
158<#assign urlTitle = paramUtil.getString(themeDisplay.getRequest(), "titulo", "") /> 
159<#assign assetEntryService = staticUtil["com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil"] />  
160<#assign assetLinkLocalService =  staticUtil["com.liferay.asset.kernel.service.AssetLinkLocalServiceUtil"] /> 
161<#assign layoutLocalService = staticUtil["com.liferay.portal.kernel.service.LayoutLocalServiceUtil"] /> 
162<#assign journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
163<#assign dlAppServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppServiceUtil"] /> 
164<#assign classNameUtil = staticUtil["com.liferay.portal.kernel.service.ClassNameServiceUtil"] /> 
165<#assign articleClassName = classNameUtil.fetchClassName("com.liferay.journal.model.JournalArticle") />  
166<#assign article = journalArticleService.fetchArticleByUrlTitle(groupId, urlTitle?url('UTF-8')) /> 
167<#assign assetEntry = assetEntryService.fetchEntry(articleClassName.getClassNameId(), article.getResourcePrimKey()) />  
168<#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(assetEntry.getEntryId()) /> 
169<#assign document = saxReaderUtil.read(article.getContent()) /> 
170<#assign rootElement  = document.getRootElement() /> 
171 
172<#assign relationsNewsArray = []> 
173<#assign imagensArray = []> 
174<#assign telefonesArray = []> 
175<#assign ficheirosArray = []> 
176<#assign emailsArray = []> 
177<#assign sitesArray = []> 
178<#assign redesSociaisArray = []> 
179 
180<#assign ficheiro  = "" /> 
181<#assign ficheiroURL  = "" /> 
182<#assign data  = dateUtil.newTime() /> 
183<#assign titulo  = "" /> 
184<#assign subtitulo  = "" /> 
185<#assign corpoDoTexto  = "" /> 
186<#assign redeSocial  = "" /> 
187<#assign currentUrl = themeDisplay.getPortalURL() /> 
188 
189<#list rootElement.elements() as el> 
190    <#list el.elements() as il> 
191        <#if il.attributeValue("name")??> 
192            <#if "imagem" == il.attributeValue("name")> 
193                <#if il.element("dynamic-content")?has_content && il.element("dynamic-content").getData()?has_content> 
194                    <#assign imagem = il.element("dynamic-content").getData()?eval /> 
195                    <#assign imagensArray += [imagem] /> 
196                </#if> 
197            </#if> 
198 
199            <#if "data" == il.attributeValue("name")> 
200 
201                <#assign data = il.element("dynamic-content").getData() /> 
202                <#if data?has_content> 
203                    <#assign data = data?split("-")[2] + "/"+ data?split("-")[1] + "/" + data?split("-")[0]/> 
204                </#if> 
205            </#if> 
206 
207            <#if "titulo" == il.attributeValue("name")> 
208                <#assign titulo = il.element("dynamic-content").getData() /> 
209            </#if> 
210 
211            <#if "subtitulo" == il.attributeValue("name")> 
212                <#assign subtitulo = il.element("dynamic-content").getData() /> 
213 
214            </#if> 
215 
216            <#if "corpoDoTexto" == il.attributeValue("name")> 
217                <#assign corpoDoTexto = il.element("dynamic-content").getData() /> 
218            </#if> 
219 
220            <#if "DocumentosEMdias19f7" == il.attributeValue("name")> 
221                <#assign ficheiro = il.element("dynamic-content").getData() /> 
222                <#if ficheiro?has_content> 
223                    <#assign ficheiro = ficheiro?eval /> 
224                    <#assign ficheirosArray += ["/c/document_library/get_file?uuid=" + ficheiro.uuid + "&groupId=" + ficheiro.groupId + "|" + ficheiro.title] /> 
225                </#if> 
226            </#if> 
227 
228 
229            <#if "telefone" == il.attributeValue("name")> 
230                <#if il.element("dynamic-content").getData()?has_content> 
231                    <#assign telefonesArray += [il.element("dynamic-content").getData()] /> 
232                </#if> 
233            </#if> 
234 
235            <#if "email" == il.attributeValue("name")> 
236                <#if il.element("dynamic-content").getData()?has_content> 
237                    <#assign emailsArray += [il.element("dynamic-content").getData()] /> 
238                </#if> 
239            </#if> 
240 
241        <#-- 
242        <#if "site" == il.attributeValue("name")> 
243            <#assign site = il.element("dynamic-content").getData()  /> 
244            <#assign layoutID = site?split("@")?first /> 
245            <#assign groupID = site?split("@")?last /> 
246            <#if layoutID?has_content && groupID?has_content> 
247                <#assign pageLayout = layoutLocalService.getLayout(groupID?number?long, false, layoutID?number?long) /> 
248                <#assign pageURL = pageLayout.getFriendlyURL() /> 
249                <#assign pageTitle = pageLayout.getName() /> 
250                <#assign sitesArray += [pageURL + "|" +pageTitle]/> 
251            </#if> 
252        </#if> --> 
253 
254            <#if "site" == il.attributeValue("name")> 
255                <#if il.element("dynamic-content").getData()?has_content> 
256                    <#assign sitesArray += [il.element("dynamic-content").getData()] /> 
257                </#if> 
258            </#if> 
259 
260            <#if "redesocial1" == il.attributeValue("name")> 
261                <#assign redeSocial = il.element("dynamic-content").getData()  /> 
262                <#if redeSocial?has_content> 
263                    <#assign redesSociaisArray += [redeSocial]/> 
264                </#if> 
265            </#if> 
266 
267        </#if> 
268 
269    </#list> 
270</#list> 
271 
272 
273<div class="container-fluid"> 
274 
275    <div class="container"> 
276 
277        <div class="row"> 
278            <div class="col-12"> 
279                <nav class="breadcrumb-nav"> 
280                    <ul class="breadcrumb-ul list-unstyled list-inline"> 
281                        <li class="breadcrumb-element list-inline-item"><a href="/"><i class="fa fa-home"></i></a></li> 
282                        <li class="breadcrumb-element list-inline-item"><a href="/noticias">Noticias</a></li> 
283                        <li class="breadcrumb-element list-inline-item active">${titulo}</li> 
284                    </ul> 
285                </nav> 
286            </div> 
287            <div class="col-md-8"> 
288                <section id="news"> 
289 
290                    <div class="row conteudo"> 
291                        <div class="col-md-12"> 
292                            <h1>${titulo}</h1> 
293                            <h2>${subtitulo}</h2> 
294                            <div class="data-criacao"> 
295                                <span><i class="fas fa-clock"></i>${data}</span> 
296                            </div> 
297                        </div> 
298                    </div> 
299                    <div class="row"> 
300                        <div> 
301                            <div id="carouselIndicators" class="carousel slide" 
302                                 data-ride="carousel"> 
303                                <ol class="carousel-indicators"> 
304                                    <#list imagensArray as item> 
305                                        <#if item?is_first> 
306                                            <li data-target="#carouselIndicators" data-slide-to="${item?index}" 
307                                                class="active"></li> 
308                                        <#else> 
309                                            <li data-target="#carouselIndicators" 
310                                                data-slide-to="${item?index}"></li> 
311                                        </#if> 
312                                    </#list> 
313                                </ol> 
314                                <div class="carousel-inner"> 
315                                    <#list imagensArray as item> 
316                                    <#if item?is_first> 
317                                    <div class="carousel-item active"> 
318                                        <#else> 
319                                        <div class="carousel-item"> 
320                                            </#if> 
321                                            <#assign imagemFileEntry = dlAppServiceUtil.getFileEntry(item.fileEntryId?number) /> 
322                                            <#if !shareImgFileEntry??> 
323                                                <#assign shareImgFileEntry = imagemFileEntry /> 
324                                            </#if> 
325                                            <@adaptive_media_image["img"] class="d-block w-100 container-image" fileVersion=imagemFileEntry.getFileVersion() alt="${item.alt}"/> 
326                                        </div> 
327                                        </#list> 
328                                    </div> 
329 
330                                    <a class="carousel-control-prev" href="#carouselIndicators" role="button" 
331                                       data-slide="prev"> 
332                                        <span class="carousel-control-prev-icon" aria-hidden="true"></span> 
333                                        <span class="sr-only">Previous</span> 
334                                    </a> 
335                                    <a class="carousel-control-next" href="#carouselIndicators" role="button" 
336                                       data-slide="next"> 
337                                        <span class="carousel-control-next-icon" aria-hidden="true"></span> 
338                                        <span class="sr-only">Next</span> 
339                                    </a> 
340                               
341                            </div> 
342 
343                        </div> 
344                    </div> 
345 
346                    <div class="row"> 
347                        <div class="col-12"> 
348                            <div class="corpoDoTexto"> 
349                                ${corpoDoTexto} 
350                            </div> 
351                        </div> 
352                    </div> 
353                    <#if ficheirosArray?has_content> 
354 
355                        <div class="row conteudo"> 
356                            <div class="col-12"> 
357                                <h3>Mais Informações</h3> 
358                            </div> 
359                            <div class="col-12"> 
360                                <ul> 
361                                    <#list ficheirosArray as item> 
362                                        <li><a class="verde" target="_blank" 
363                                               href="${item?split("|")?first}">${item?split("|")?last}</a> 
364                                        </li> 
365                                    </#list> 
366                                </ul> 
367                            </div> 
368                        </div> 
369 
370                    </#if> 
371 
372                    <#if telefonesArray?has_content || emailsArray?has_content || sitesArray?has_content || redesSociaisArray?has_content> 
373                    <div class="conteudo"> 
374 
375                        <h3>Contatos</h3> 
376 
377 
378                        <#if telefonesArray?has_content> 
379                            <div class="info-contato"> 
380                                <div class="row"> 
381                                    <div class="col-md-2"> 
382                                        <b>Telefone</b> 
383                                    </div> 
384                                    <div class="col-md-10"> 
385                                        <#list telefonesArray as item> 
386                                            <p>${item}</p> 
387                                        </#list> 
388                                    </div> 
389                                </div> 
390                            </div> 
391                        </#if> 
392 
393                        <#if emailsArray?has_content> 
394                            <div class="info-contato"> 
395                                <div class="row"> 
396                                    <div class="col-md-2"> 
397                                        <b>Email</b> 
398                                    </div> 
399                                    <div class="col-md-10"> 
400                                        <#list emailsArray as item> 
401                                            <p>${item}</p> 
402                                        </#list> 
403                                    </div> 
404                                </div> 
405                            </div> 
406                        </#if> 
407 
408                        <#if sitesArray?has_content> 
409			    <#assign portalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] /> 
410        		    <#assign baseURL = portalUtil.getPortalURL(request) /> 
411                            <div class="info-contato"> 
412                                <div class="row"> 
413                                    <div class="col-md-2"> 
414                                        <b>Site</b> 
415                                    </div> 
416                                    <div class="col-md-10"> 
417 
418                                        <#list sitesArray as item> 
419                                            <p><a class="verde" href="${item}" target="${item?starts_with(baseURL)?then('_self', '_blank')}">${item}</a></p> 
420                                        </#list> 
421                                    </div> 
422                                </div> 
423                            </div> 
424                        </#if> 
425 
426                        <#if redesSociaisArray?has_content> 
427                            <div class="info-contato"> 
428                                <div class="row"> 
429                                    <div class="col-md-2"> 
430                                        <b>Redes Sociais</b> 
431                                    </div> 
432                                    <div class="col-md-10"> 
433                                        <#list redesSociaisArray as item> 
434                                            <#if item?contains("linked")> 
435                                                <a href="${item}" target="_blank"><i 
436                                                            class="fab fa-linkedin fa-2x"></i></a> 
437                                            </#if> 
438                                            <#if item?contains("facebook")> 
439                                                <a href="${item}" target="_blank"><i 
440                                                            class="fab fa-facebook-square fa-2x"></i></a> 
441                                            </#if> 
442                                            <#if item?contains("insta")> 
443                                                <a href="${item}" target="_blank"><i 
444                                                            class="fab fa-instagram fa-2x"></i></a> 
445                                            </#if> 
446                                            <#if item?contains("twitter")> 
447                                                <a href="${item}" target="_blank"><i 
448                                                            class="fab fa-twitter fa-2x"></i></a> 
449                                            </#if> 
450                                             <#if item?contains("youtube")> 
451                                                <a href="${item}" target="_blank"><i 
452                                                            class="fab fa-youtube fa-2x"></i></a> 
453                                            </#if> 
454                                        </#list> 
455                                    </div> 
456                                </div> 
457                            </div> 
458                        </#if> 
459 
460                        </#if> 
461 
462                        <div class="row"> 
463                            <div class="col-12 text-right"> 
464                                <p style="color:#9e9797">Atualizado 
465                                    em: ${ article.getModifiedDate()?string["dd/MM/yyyy"]}</p> 
466                            </div> 
467 
468                            <div class="a2a_kit a2a_kit_size_32 a2a_default_style"  
469                                data-a2a-icon-color = "transparent, black"> 
470                                <a class="a2a_button_facebook"></a> 
471                                <a class="a2a_button_twitter"></a> 
472                                <a class="a2a_button_whatsapp"></a> 
473                                <a class="a2a_button_facebook_messenger"></a> 
474                                <a class="a2a_button_email"></a> 
475                                <a class="a2a_button_copy_link"></a> 
476                                <a class="a2a_dd" href="https://www.addtoany.com/share"></a> 
477                            </div> 
478 
479                            <#if assetEntry.getTags()?has_content> 
480                                <div class="col-12 mt-4"> 
481                                    <#list assetEntry.getTags() as tag> 
482                                        <a href="/pesquisa?q=${tag.name}" class="badge badge-pill badge-silver p-2">${tag.name}</a> 
483                                    </#list>  
484                                </div> 
485                            </#if> 
486 
487                            <@liferay_util["html-top"]> 
488                                <script crossorigin="anonymous" src="https://kit.fontawesome.com/9f47eedf41.js"></script> 
489                                <script src="https://static.addtoany.com/menu/page.js"></script> 
490                                <meta property="og:title" content="${titulo}" /> 
491                                <meta property="og:description" content="${subtitulo}" /> 
492                                <meta property="og:type" content="article" /> 
493                                <meta property="og:locale" content="${locale}" /> 
494                                <meta property="og:site_name" content="${company.getName()}" /> 
495                                <meta property="og:url" content="${themeDisplay.getPortalURL() + themeDisplay.getURLCurrent()}"> 
496                                <#if tagsArray?has_content> 
497                                    <meta property="article:tag" content="${tags?join(",")}" /> 
498                                </#if> 
499                                 
500                                <#if shareImgFileEntry??> 
501                                    <meta property="og:image" itemprop="image" content="${themeDisplay.getURLPortal()}/o/adaptive-media/image/${shareImgFileEntry.getFileEntryId()}/thumbnail-600x0/${shareImgFileEntry.getFileName()}" /> 
502                                </#if> 
503                            </@>  
504                        </div> 
505 
506 
507                </section> 
508            </div> 
509 
510            <div class="col-md-4"> 
511                <#if currentArticleRelatedLinks?has_content> 
512                    <aside id="relatedNews"> 
513                        <div class="container-fluid"> 
514                            <div class="container"> 
515                                <h2>Notícias Relacionadas</h2> 
516                                <div class="row"> 
517                                    <#list currentArticleRelatedLinks as related> 
518                                        <#assign assertRelated = assetEntryService.getEntry(related.getEntryId2()) /> 
519                                        <#assign assetRendererRelated = assertRelated.getAssetRenderer() /> 
520                                        <#assign articleRelated = assetRendererRelated.getArticle() /> 
521                                        <#assign documentRelated = saxReaderUtil.read(articleRelated.getContent()) /> 
522                                        <#assign rootElementRelated  = documentRelated.getRootElement() /> 
523                                        <#assign assetRelatedUrlTitle = articleRelated.getUrlTitle(locale) /> 
524 
525                                        <#assign tituloRelated  = "" /> 
526                                        <#assign subtituloRelated  = "" /> 
527 
528                                        <#list rootElementRelated.elements() as el> 
529                                            <#list el.elements() as il> 
530                                                <#if "imagem" == il.attributeValue("name") &&  il.element("dynamic-content").getData()?has_content> 
531                                                    <#assign imagemURLRelated = il.element("dynamic-content").getData()?eval /> 
532                                                </#if> 
533 
534                                                <#if "titulo" == il.attributeValue("name")> 
535                                                    <#assign tituloRelated = il.element("dynamic-content").getData() /> 
536                                                </#if> 
537 
538                                                <#if "subtitulo" == il.attributeValue("name")> 
539                                                    <#assign subtituloRelated = il.element("dynamic-content").getData() /> 
540 
541                                                </#if> 
542 
543                                            </#list> 
544                                        </#list> 
545 
546                                        <div class="col-md-12"> 
547                                            <div class="card" 
548                                                 style="background-color: white;"> 
549                                                 <#if imagemURLRelated?has_content> 
550                                                    <@adaptive_media_image["img"] class="card-img-top"  
551                                                        fileVersion=dlAppServiceUtil.getFileEntry(imagemURLRelated.fileEntryId?number).getFileVersion() 
552                                                        alt="${imagemURLRelated.alt}" /> 
553                                                </#if> 
554                                                <div class="card-body" style="color: #3B3B3B"> 
555                                                    <p class="card-text card-text-title verde"> ${tituloRelated}</p> 
556                                                    <br/> 
557                                                    <p class="card-text card-text-subtitle"> ${subtituloRelated}</p> 
558                                                    <a href="/noticia/-/${assetRelatedUrlTitle}" 
559                                                       class="stretched-link"></a> 
560 
561                                                    <div class="a2a_kit a2a_kit_size_32 a2a_default_style"  
562                                                        data-a2a-icon-color="transparent, black"  
563                                                        data-a2a-url="${currentUrl}/noticia/-/${assetRelatedUrlTitle}"> 
564                                                        <a class="a2a_button_facebook"></a> 
565                                                        <a class="a2a_button_twitter"></a> 
566                                                        <a class="a2a_button_whatsapp"></a> 
567                                                        <a class="a2a_button_facebook_messenger"></a> 
568                                                        <a class="a2a_button_email"></a> 
569                                                        <a class="a2a_button_copy_link"></a> 
570                                                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a> 
571                                                    </div> 
572                                                </div> 
573 
574                                            </div> 
575                                        </div> 
576                                    </#list> 
577                                </div> 
578                            </div> 
579                        </div> 
580                    </aside> 
581                </#if> 
582            </div> 
583        </div> 
584    </div> 
585 
586</div> 

SUBSCREVER NEWSLETTER

Newsletter subscrito com sucesso Não foi subscrever o Newsletter. Por favor tente mais tarde

Utilizamos cookies no nosso site para lhe proporcionar a melhor experiência. Ao continuar a navegar, está a autorizar a nossa utilização destes cookies. No entanto, se pretender saber mais informações, nomeadamente como alterar as suas definições, consulte a nossa Politica.