Fehler bei der Verarbeitung der Vorlage.
The following has evaluated to null or missing: ==> year [in template "89710184640307#20120#3476814" at line 49, column 67] ---- 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 49, column 65] ----
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 } />
37 <#assign projectResultList +=[projectResult] />
38 </#list>
39</#if>
40<section class="td-avisos">
41 <div class="avisos__select-wrapper">
42 <label for="yearSelect" class="year-label">Ano</label>
43 <div class="avisos__select" role="combobox" aria-expanded="false" aria-controls="yearOptions"
44 tabindex="0">
45 <div class="select-selected" id="selectedYear"></div>
46 <div class="select-items select-hide" id="yearOptions" role="listbox">
47 <#if currentYear?has_content>
48 [#list (2002..currentYear)?reverse as year]
49 <div tabindex="0" role="option" data-value="${year}" [#if year==currentYear]class="same-as-selected" [/#if]>
50 ${year}</div>
51 [/#list]
52 </#if>
53 </div>
54 <select id="yearSelect" aria-hidden="true" style="display: none;">
55 <#if currentYear?has_content>
56 [#assign currentYear = .now?string('yyyy')?number /]
57 [#list (2002..currentYear)?reverse as year]
58 <option value="${year}" [#if year==currentYear]selected[/#if]>${year}</option>
59 [/#list]
60 </#if>
61 </select>
62 </div>
63 </div>
64
65 <ul class="td-avisos--list list-unstyled m-0 swiper-wrapper">
66 <#list projectResultList as curEntry>
67 <article class="td-avisos--card b3-ga-card">
68 <div class="td-avisos--content">
69 <div class="td-avisos--wrapper">
70 <a href="${curEntry.linkToWebContentDisplayPage}" class="td-avisos--texts b3-ga-button">
71 <p class="td-avisos--subtitle text__body--small mb-0">
72 ${curEntry.cardSummary}
73 </p>
74 </a>
75 </div>
76 <div class="td-avisos--lead">
77 <p class="td-avisos--data text__body--small">
78 <svg width="18" height="18" viewBox="0 0 18 18" fill="none"
79 xmlns="http://www.w3.org/2000/svg">
80 <mask id="mask0_13857_914294321${count}" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="2"
81 y="0" width="14" height="16">
82 <path fill-rule="evenodd" clip-rule="evenodd"
83 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"
84 fill="black" />
85 </mask>
86 <g mask="url(#mask0_13857_914294321${count})">
87 <rect width="18" height="18" fill="#666E7A" />
88 </g>
89 </svg>
90 ${curEntry.dateTime}
91 </p>
92 </div>
93 </div>
94 </article>
95 <#assign count=count + 1 />
96 </#list>
97 </ul>
98</section>
99
100<style>
101.td-avisos {
102 position: relative;
103 overflow: hidden;
104 width: 100%;
105 max-width: 79.375rem;
106 margin: 0 auto;
107 padding-bottom: 0.75rem;
108}
109
110.td-avisos--list {
111 display: flex;
112 flex-direction: column;
113 flex-wrap: nowrap;
114}
115
116.td-avisos--card {
117 display: flex;
118 flex-direction: column;
119 align-items: flex-start;
120 justify-content: flex-start;
121 background: var(--white, #FFF);
122 overflow: hidden;
123 width: 100%;
124 padding: 0 1rem 1rem 1rem;
125 border-radius: 8px;
126}
127
128.td-avisos--content {
129 width: 100%;
130}
131
132.td-avisos--wrapper {
133 display: block;
134 color: #237131;
135 text-decoration: underline;
136 cursor: pointer;
137 padding: 0.5rem 0;
138 transition: color 0.3s ease;
139}
140
141.td-avisos--wrapper:hover {
142 color: #1e5f2a;
143}
144
145.td-avisos--data {
146 margin-top: 0.5rem;
147 color: var(--text-text-light, #666E7A);
148 text-align: left;
149 line-height: 150%;
150 font-size: 0.875rem;
151}
152
153.td-avisos--subtitle {
154 color: var(--text-text-light, #666E7A);
155 line-height: 150%;
156 overflow: hidden;
157 text-overflow: ellipsis;
158 display: -webkit-box;
159 -webkit-line-clamp: 2;
160 -webkit-box-orient: vertical;
161 font-size: 1rem;
162 color: #237131
163}
164
165.pagination-bar .dropdown.pagination-items-per-page,
166.pagination-bar .pagination-results {
167 display: none;
168}
169
170.pagination-bar nav {
171 width: 100%
172}
173
174.pagination-bar .pagination {
175 justify-content: center;
176}
177
178.pagination-bar .pagination .page-link,
179.page-item .page-link{
180 color: #237131;
181}
182
183.page-item .page-link:hover,
184.page-item .page-link.hover,
185.page-item.active .page-link,
186.page-link:active {
187 background-color: #2371311A;
188}
189
190.page-item .page-link::before {
191 content: none;
192}
193
194@media (max-width: 1279px) {
195 .td-avisos--card {
196 padding: 0 1.5rem 1rem 1.5rem;
197 }
198}
199
200@media screen and (max-width: 767px) {
201 .td-avisos--card {
202 padding: 0 1.5rem 1rem 1.5rem;
203 }
204
205 .b3--container__btn-to-top {
206 border-radius: 100px;
207 border: 1px solid var(--interaction-light, #0063DE);
208 display: flex;
209 width: 17rem;
210 padding: 0.4375rem 1rem;
211 justify-content: center;
212 align-items: center;
213 gap: var(--space-2, 12px);
214 background: transparent;
215 line-height: 1.375rem;
216 letter-spacing: 0.09375rem;
217 text-transform: uppercase;
218 color: var(--interaction-light, #0063DE);
219 text-align: center;
220 margin: 1.5rem auto 0.75rem auto;
221 }
222}
223</style>