Avisos

Virhe tapahtui prosessoidessa esitysmallia.
The following has evaluated to null or missing:
==> year  [in template "89710184640307#20120#3476814" at line 50, column 63]

----
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: ${year}  [in template "89710184640307#20120#3476814" at line 50, column 61]
----
1<#assign _assetEntryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
2<#assign roleLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.RoleLocalService")/> 
3<#assign _journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
4 
5<#assign projectResultList=[] /> 
6<#assign count=0 /> 
7<#if entries?has_content> 
8    <#list entries as doc> 
9 
10        <#assign curEntry=_assetEntryLocalService.fetchEntry("com.liferay.journal.model.JournalArticle", doc.getClassPK())> 
11 
12        <#assign article = _journalArticleLocalService.getLatestArticle(curEntry.getClassPK()) /> 
13					 
14        <#assign assetRenderer=curEntry.getAssetRenderer() /> 
15        <#assign linkToWebContentDisplayPage="/w/" + assetRenderer.getUrlTitle() /> 
16        <#assign DDMFormFieldValuesMap=assetRenderer.getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValuesMap() /> 
17        <#assign DDMFormFieldsReferencesMap=assetRenderer.article.DDMStructure.DDMForm.getDDMFormFieldsReferencesMap(true) /> 
18        <#assign categories=curEntry.getCategories() /> 
19        <!-- Pegando data da noticia --> 
20        <#assign yearDeliveryField=DDMFormFieldsReferencesMap['dateTime'].name /> 
21        <#assign yearDeliveryOptionSelected=DDMFormFieldValuesMap[yearDeliveryField] 
22            [0].getValue().getString(locale)?replace("-", "/" ) /> 
23            <#if yearDeliveryOptionSelected?has_content> 
24							  <#assign currentYear=yearDeliveryOptionSelected?date("yyyy/MM/dd HH:mm")?string("yyyy")> 
25                <#assign yearDeliveryOptionSelected=yearDeliveryOptionSelected?date("yyyy/MM/dd HH:mm")?string("dd/MM/yyyy HH:mm")> 
26            </#if> 
27        <!-- Pegando Resumo do card --> 
28        <#assign cardSummaryField=DDMFormFieldsReferencesMap['description'].name /> 
29        <#assign cardSummary=DDMFormFieldValuesMap[cardSummaryField][0].getValue().getString(locale) /> 
30         
31        <#assign projectResult={  
32            "title" :"${curEntry.getTitle(locale)}", 
33            "cardSummary" :"${cardSummary}", 
34            "dateTime" :"${yearDeliveryOptionSelected}", 
35            "linkToWebContentDisplayPage" :"${linkToWebContentDisplayPage}", 
36            "year": "${currentYear}" 
37            } /> 
38        <#assign projectResultList +=[projectResult] /> 
39    </#list> 
40</#if> 
41<section class="td-avisos"> 
42    <div class="avisos__select-wrapper"> 
43        <label for="yearSelect" class="year-label">Ano</label> 
44        <div class="avisos__select" role="combobox" aria-expanded="false" aria-controls="yearOptions" 
45            tabindex="0"> 
46            <div class="select-selected" id="selectedYear"></div> 
47            <div class="select-items select-hide" id="yearOptions" role="listbox"> 
48                [#assign currentYear = .now?string('yyyy')?number /] 
49                [#list (2002..currentYear)?reverse as year] 
50                <div tabindex="0" role="option" data-value="${year}" [#if year==currentYear]class="same-as-selected" [/#if]> 
51                    ${year}</div> 
52                [/#list] 
53            </div> 
54            <select id="yearSelect" aria-hidden="true" style="display: none;"> 
55                [#assign currentYear = .now?string('yyyy')?number /] 
56                [#list (2002..currentYear)?reverse as year] 
57                <option value="${year}" [#if year==currentYear]selected[/#if]>${year}</option> 
58                [/#list] 
59            </select> 
60        </div> 
61    </div> 
62 
63    <ul class="td-avisos--list list-unstyled m-0 swiper-wrapper"> 
64        <#list projectResultList as curEntry> 
65            <article class="td-avisos--card b3-ga-card"> 
66                <div class="td-avisos--content"> 
67                    <div class="td-avisos--wrapper"> 
68                        <a href="${curEntry.linkToWebContentDisplayPage}" class="td-avisos--texts b3-ga-button"> 
69                            <p class="td-avisos--subtitle text__body--small mb-0"> 
70                                ${curEntry.cardSummary} 
71                            </p> 
72                        </a> 
73                    </div> 
74                    <div class="td-avisos--lead"> 
75                        <p class="td-avisos--data text__body--small"> 
76                            <svg width="18" height="18" viewBox="0 0 18 18" fill="none" 
77                                xmlns="http://www.w3.org/2000/svg"> 
78                                <mask id="mask0_13857_914294321${count}" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="2" 
79                                    y="0" width="14" height="16"> 
80                                    <path fill-rule="evenodd" clip-rule="evenodd" 
81                                        d="M15.6001 3.6C15.6001 2.85 15.0001 2.25 14.2501 2.25H13.5001H13.3501V2.1V0.75H12.1501V2.1V2.25H12.0001H6.00015H5.85015V2.1V0.75H4.65015V2.1V2.25H4.50015H3.75015C3.00015 2.25 2.40015 2.85 2.40015 3.6V14.1C2.40015 14.85 3.00015 15.45 3.75015 15.45H14.2501C15.0001 15.45 15.6001 14.85 15.6001 14.1V3.6ZM14.4001 6.6V14.1V14.25H14.2501H3.75015H3.60015V14.1V6.6V6.45H3.75015H14.2501H14.4001V6.6ZM14.4001 3.6V5.1V5.25H14.2501H3.75015H3.60015V5.1V3.6V3.45H3.75015H14.2501H14.4001V3.6ZM9.60015 8.02478H8.40015V9.22478H9.60015V8.02478ZM5.40015 11.0999V12.2999H6.60015V11.0999H5.40015ZM12.6001 8.02478V9.22478H11.4001V8.02478H12.6001ZM6.60015 8.02478H5.40015V9.22478H6.60015V8.02478ZM8.40015 11.0999H9.60015V12.2999H8.40015V11.0999ZM11.4001 12.2999V11.0999H12.6001V12.2999H11.4001Z" 
82                                        fill="black" /> 
83                                </mask> 
84                                <g mask="url(#mask0_13857_914294321${count})"> 
85                                    <rect width="18" height="18" fill="#666E7A" /> 
86                                </g> 
87                            </svg> 
88                            ${curEntry.dateTime} 
89                            ${curEntry.year} 
90                        </p> 
91                    </div> 
92                </div> 
93            </article> 
94            <#assign count=count + 1 /> 
95        </#list> 
96    </ul> 
97</section> 
98	 
99<style> 
100.td-avisos { 
101    position: relative; 
102    overflow: hidden; 
103    width: 100%; 
104    max-width: 79.375rem; 
105    margin: 0 auto; 
106    padding-bottom: 0.75rem; 
107
108 
109.td-avisos--list { 
110    display: flex; 
111    flex-direction: column; 
112    flex-wrap: nowrap; 
113
114 
115.td-avisos--card { 
116    display: flex; 
117    flex-direction: column; 
118    align-items: flex-start; 
119    justify-content: flex-start; 
120    background: var(--white, #FFF); 
121    overflow: hidden; 
122    width: 100%; 
123    padding: 0 1rem 1rem 1rem; 
124    border-radius: 8px; 
125
126 
127.td-avisos--content { 
128    width: 100%; 
129
130 
131.td-avisos--wrapper { 
132    display: block; 
133    color: #237131; 
134    text-decoration: underline; 
135    cursor: pointer; 
136    padding: 0.5rem 0; 
137    transition: color 0.3s ease; 
138
139 
140.td-avisos--wrapper:hover { 
141    color: #1e5f2a; 
142
143 
144.td-avisos--data { 
145    margin-top: 0.5rem; 
146    color: var(--text-text-light, #666E7A); 
147    text-align: left; 
148    line-height: 150%; 
149    font-size: 0.875rem; 
150
151 
152.td-avisos--subtitle { 
153    color: var(--text-text-light, #666E7A); 
154    line-height: 150%; 
155    overflow: hidden; 
156    text-overflow: ellipsis; 
157    display: -webkit-box; 
158    -webkit-line-clamp: 2; 
159    -webkit-box-orient: vertical; 
160    font-size: 1rem; 
161    color: #237131 
162
163 
164.pagination-bar .dropdown.pagination-items-per-page, 
165.pagination-bar .pagination-results { 
166    display: none; 
167
168 
169.pagination-bar nav { 
170    width: 100% 
171
172 
173.pagination-bar .pagination { 
174    justify-content: center; 
175
176 
177.pagination-bar .pagination .page-link, 
178.page-item .page-link{ 
179    color: #237131; 
180
181 
182.page-item .page-link:hover, 
183.page-item .page-link.hover, 
184.page-item.active .page-link, 
185.page-link:active { 
186    background-color: #2371311A; 
187
188 
189.page-item .page-link::before { 
190    content: none; 
191
192 
193@media (max-width: 1279px) { 
194    .td-avisos--card { 
195        padding: 0 1.5rem 1rem 1.5rem; 
196
197
198 
199@media screen and (max-width: 767px) { 
200    .td-avisos--card { 
201        padding: 0 1.5rem 1rem 1.5rem; 
202
203 
204    .b3--container__btn-to-top { 
205        border-radius: 100px; 
206        border: 1px solid var(--interaction-light, #0063DE); 
207        display: flex; 
208        width: 17rem; 
209        padding: 0.4375rem 1rem; 
210        justify-content: center; 
211        align-items: center; 
212        gap: var(--space-2, 12px); 
213        background: transparent; 
214        line-height: 1.375rem; 
215        letter-spacing: 0.09375rem; 
216        text-transform: uppercase; 
217        color: var(--interaction-light, #0063DE); 
218        text-align: center; 
219        margin: 1.5rem auto 0.75rem auto; 
220
221
222</style>