Imagem de header interno Imagem de header interno

Press

Erro na exibição de template. Referência: 7236225

Erro na exibição de template. Referência: 7101248

Erro na exibição de template. Referência: 6624740

Erro na exibição de template. Referência: 5905438

Erro na exibição de template. Referência: 4728900

Erro na exibição de template. Referência: 4058836

Erro na exibição de template. Referência: 3875506

Erro na exibição de template. Referência: 3863970

Erro na exibição de template. Referência: 3719084

Erro na exibição de template. Referência: 3695379

Erro na exibição de template. Referência: 3497892

Erro na exibição de template. Referência: 3497856

S'estan mostrant 1 - 12 de 12 resultats.
scroll-to-see-more
S'ha produït un error mentre es processava la plantilla.
For "." left-hand operand: Expected a hash, but this has evaluated to a string (wrapper: f.t.SimpleScalar):
==> restClient.get("/headless-admin-taxonomy/v1.0/taxonomy-vocabularies/" + vocabularyId + "/taxonomy-categories?fields=id,name&restricFields=actions,availableLanguages,taxonomyCategoryUsageCount&page=1&pageSize=30")  [in template "44549#44620#4481731" at line 4, column 34]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: categoriesPage = restClient.get("/hea...  [in template "44549#44620#4481731" at line 4, column 17]
----
1<#assign namespace = "${namespace}_press_theme_filter" /> 
2<#assign  
3		vocabularyId = 64873 
4		categoriesPage = restClient.get("/headless-admin-taxonomy/v1.0/taxonomy-vocabularies/" + vocabularyId + "/taxonomy-categories?fields=id,name&restricFields=actions,availableLanguages,taxonomyCategoryUsageCount&page=1&pageSize=30").items 
5/> 
6 
7<div class="d-none"> 
8    <@liferay_ui["panel-container"] 
9        extended=true 
10        id="${namespace + 'filterCustomPanelContainer'}" 
11        markupView="lexicon" 
12        persistState=true 
13
14        <@liferay_ui.panel 
15            collapsible=true 
16            cssClass="search-facet" 
17            id="${namespace + 'filterCustomPanel'}" 
18            markupView="lexicon" 
19            persistState=true 
20            title="${htmlUtil.escapeAttribute(customFilterDisplayContext.getHeading())}" 
21
22            <div class="form-group-autofit"> 
23                <@liferay_aui["input"] 
24                    cssClass="custom-filter-value-input" 
25                    data\-qa\-id="customFilterValueInput" 
26                    disabled=customFilterDisplayContext.isImmutable() 
27                    id="${namespace + 'themeInput'}" 
28                    label="" 
29                    name="${htmlUtil.escapeAttribute(customFilterDisplayContext.getParameterName())}" 
30                    useNamespace=false 
31                    value="${htmlUtil.escapeAttribute(customFilterDisplayContext.getFilterValue())}" 
32                    wrapperCssClass="form-group-item" 
33                /> 
34 
35                <@clay["button"] 
36                    ariaLabel='${languageUtil.get(request, "apply")}' 
37                    disabled=customFilterDisplayContext.isImmutable() 
38                    elementClasses="btn-secondary" 
39                    id="${namespace + 'submitThemeFilter'}" 
40                    label='${languageUtil.get(request, "apply")}' 
41                    type="submit" 
42                /> 
43            </div> 
44        </@> 
45    </@> 
46</div> 
47 
48<div id="${namespace}"> 
49    <select class="form-control" id="${namespace + 'selectTheme'}" multiple="true"> 
50        <option name="all" value="all"> 
51            <@liferay.language key="with-any-theme" /> 
52        </option> 
53        <#list categoriesPage as categorie> 
54            <option name="${categorie.name}" value="${categorie.id}"> 
55                ${categorie.name} 
56            </option> 
57        </#list> 
58    </select> 
59</div> 
60 
61<script> 
62(function(){ 
63    const prefix = "assetCategoryIds:"; 
64    var currentThemes = $("#${namespace + 'themeInput'}").val(); 
65    if (currentThemes != '') { 
66        currentThemes.split(" OR ").forEach(theme => { 
67            $("#${namespace + 'selectTheme'} option[value='" + theme.substring(prefix.length) + "']").attr("selected", "selected"); 
68        }) 
69    }  
70 
71    var selectTheme = document.getElementById("${namespace + 'selectTheme'}"); 
72    new Choices(selectTheme, { 
73        shouldSort: false, 
74        placeholder: false, 
75        removeItemButton: true, 
76        itemSelectText: "", 
77    }); 
78 
79    if (currentThemes == '') { 
80        $("#${namespace} input").attr("placeholder", "${languageUtil.get(locale, 'with-any-theme')}"); 
81
82 
83    $("#${namespace + 'selectTheme'}").change(() => { 
84        $("#${namespace} input").attr("placeholder", ""); 
85 
86        var selectedValuesArray = $("#${namespace + 'selectTheme'}").val().map(selectedVal => prefix + selectedVal) 
87        var selectedValues = selectedValuesArray.join(" OR "); 
88        if (selectedValues.includes("all")) { 
89            selectedValues = '' 
90
91        $("#${namespace + 'themeInput'}").val(selectedValues); 
92        $("#${namespace + 'submitThemeFilter'}").click(); 
93    }) 
94})() 
95</script> 
S'ha produït un error mentre es processava la plantilla.
For "." left-hand operand: Expected a hash, but this has evaluated to a number (wrapper: f.t.SimpleNumber):
==> category  [in template "44549#44620#4480821" at line 15, column 39]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #return categories?map(category -> ca...  [in template "44549#44620#4480821" in function "getVocabularyCategoriesIds" at line 15, column 3]
----
1<#assign 
2  structuredContentResource = resourceLocator.locate("/headless-delivery/v1.0", "StructuredContent") 
3/> 
4 
5<#attempt> 
6<#assign 
7	vocabularyId = 4435339 
8	categories = restClient.get("/headless-admin-taxonomy/v1.0/taxonomy-vocabularies/" + vocabularyId + "/taxonomy-categories?fields=id&restricFields=actions,availableLanguages,taxonomyCategoryUsageCount&page=1&pageSize=30").items 
9/> 
10<#recover> 
11	<#assign categories = [0] /> 
12</#attempt>	 
13 
14<#function getVocabularyCategoriesIds> 
15  <#return categories?map(category -> category.id?number)/> 
16</#function> 
17 
18<#function getPressTopicsFilterEndpoint structuredContent> 
19	<#attempt> 
20  <#local 
21    structuredContentCategoriesIds = structuredContent.getTaxonomyCategoryBriefs() 
22      ?map(taxonomyCategoryBrief -> taxonomyCategoryBrief.getTaxonomyCategoryId()) 
23 
24    pressTopicsCategoriesId = getVocabularyCategoriesIds() 
25    categoryId = structuredContentCategoriesIds?filter(c -> pressTopicsCategoriesId?seq_contains(c))?first 
26  /> 
27	<#recover> 
28		<#assign categoryId = 0 /> 
29	</#attempt> 
30  <#return "/-/categories/" + categoryId/> 
31</#function> 
32 
33<#function getCustomDisplayPageUrl structuredContent> 
34  <#local 
35    structuredContentFields = structuredContent.getContentFields() 
36    customDisplayPageField = structuredContentFields?filter(f -> f.getName() == "customDisplayPage")?first 
37  /> 
38  <#return customDisplayPageField.getContentFieldValue().getLink()/> 
39</#function> 
40 
41<#function getPressViewUrl structuredContent> 
42  <#local 
43    friendlyUrl = "/w/" + structuredContent.getFriendlyUrlPath() 
44 
45    categoryFilterEndpoint = getPressTopicsFilterEndpoint(structuredContent) 
46    customDisplayPageUrl = getCustomDisplayPageUrl(structuredContent)!"" 
47  /> 
48  <#return customDisplayPageUrl?has_content?then(customDisplayPageUrl, friendlyUrl) + categoryFilterEndpoint/> 
49</#function> 
50 
51<#assign images_path = "/documents/d/guest/" /> 
52<#assign total = searchContainer.getTotal() /> 
53<#assign start = searchContainer.getStart() /> 
54<#assign delta = searchContainer.getDelta() />     
55<#assign totalPages = (total/delta)?ceiling /> 
56<#assign currentPage = ((start+1)/delta)?ceiling />     
57<#assign isFirstPage = currentPage == 1 /> 
58<#assign isLastPage = currentPage == totalPages /> 
59<#assign iteratorURL = searchContainer.getIteratorURL().toString() /> 
60<#assign iteratorURL += iteratorURL?contains("?")?then("", "?") /> 
61<#assign firstPageURL = iteratorURL + '&start=1'/> 
62<#assign lastPageURL = iteratorURL + '&start=' + totalPages?string/> 
63<#assign previousURL = iteratorURL + '&start=' + (currentPage - 1)?string /> 
64<#assign nextURL = iteratorURL + '&start=' + (currentPage + 1)?string /> 
65 
66<#assign startPage = (currentPage < 3)?then(1, currentPage - 1) /> 
67<#assign endPage = 2 + startPage /> 
68<#assign endPage = (totalPages < endPage)?then(totalPages, endPage) /> 
69<#assign diff = startPage - endPage + 2 /> 
70<#assign startPage -= (startPage - diff > 0)?then(diff, 0) /> 
71 
72<#assign categoriesIds = getVocabularyCategoriesIds() /> 
73 
74<div class="vale-widget-resultados-busca-imprensa"> 
75  <div class="d-sm-flex justify-content-between flex-wrap"> 
76    <#if entries?has_content >  
77      <#list entries as entry > 
78        <#if entry.getTitle()?has_content > 
79          <#assign 
80            structuredContent = structuredContentResource.getStructuredContent(entry.getClassPK()) 
81            url = getPressViewUrl(structuredContent) 
82            structuredContentDataField = structuredContent.getContentFields()?filter( 
83              field -> field.name == "data" 
84            )?first 
85            data = structuredContentDataField.getContentFieldValue().getData()?datetime.iso 
86            date_localized = dateUtil.formatDate("yyyyMMdd", data?string("yyyyMMdd"), locale) 
87						/> 
88						<#attempt> 
89						<#assign 
90            taxonomyCategory = structuredContent.getTaxonomyCategoryBriefs()?filter( 
91              category -> categoriesIds?seq_contains(category.getTaxonomyCategoryId()?string) 
92            )?first  
93            categoryName = taxonomyCategory.getTaxonomyCategoryName() 
94           /> 
95						<#recover> 
96							<#assign categoryName = "" /> 
97						</#attempt>	 
98          <a class="text-decoration-none" href="${url}"> 
99            <div 
100              class="box d-flex mb-6" 
101
102              <div class="yellow-bar h-100"></div> 
103              <div  
104                class=" d-flex flex-column justify-content-between h-100 p-3 overflow-hidden" 
105
106                <div> 
107                  <p class="font-weight-medium text-verde-aqua mb-2">${categoryName}</p> 
108                  <p class="title text-verde-vale">${entry.getHighlightedTitle()}</p> 
109                </div> 
110                <p class="texto-sm text-cinza-escuro"> 
111                    <#attempt> 
112                    ${date_localized} 
113                    <#recover>Data indisponível</#attempt> 
114                </p> 
115              </div> 
116            </div> 
117          </a> 
118        </#if> 
119      </#list> 
120    </#if> 
121  </div> 
122  <div class="line-divider"></div> 
123  <div class="pagination d-flex justify-content-center my-5"> 
124    <a  
125      class="pagination-option text-decoration-none mr-sm-5 ${isFirstPage?then('disabled', '')}"  
126      href="${previousURL}"  
127      disabled="${isFirstPage?string}" 
128
129      <img 
130        class="btn btn-primary border-amarelo-vale bg-amarelo-vale mr-2 p-1 rounded-circle" 
131        src="${images_path}seta-2-esq_bra" 
132        alt="button-prev" 
133      /> 
134      <span class="btn btn-link text-amarelo-vale p-0 d-none d-sm-inline"> 
135        <@liferay.language key="previous" /> 
136      </span> 
137    </a> 
138     
139    <#if (startPage > 1)> 
140      <a 
141        class="mr-2" 
142        href="${firstPageURL}" 
143
144        <span 
145          class="pagination-item btn btn-primary p-1 rounded-circle" 
146          alt="first-page-button" 
147        >1 
148        </span> 
149      </a> 
150      <#if currentPage != 3>  
151        <span class="elipsis h-100 mt-auto mr-2">...</span> 
152      </#if> 
153    </#if> 
154 
155    <#list startPage..endPage as i> 
156      <a 
157        class="mr-2 ${(i == currentPage)?then('disabled', '')}" 
158        href="${iteratorURL + '&start=' + i?string}" 
159
160        <span 
161          class="pagination-item ${(currentPage == i)?then('is-active', '')} btn btn-primary p-1 rounded-circle" 
162          alt="first-page-button" 
163        >${i} 
164        </span> 
165      </a> 
166    </#list> 
167 
168    <#if (endPage < totalPages)> 
169      <#if currentPage != totalPages - 2>  
170        <span class="elipsis h-100 mt-auto mr-2">...</span> 
171      </#if> 
172      <a 
173        class="mr-2" 
174        href="${lastPageURL}" 
175
176        <span 
177          class="pagination-item btn btn-primary p-1 rounded-circle" 
178          alt="last-page-button" 
179        >${totalPages} 
180        </span> 
181      </a> 
182    </#if> 
183 
184    <a  
185      class="pagination-option text-decoration-none ml-sm-5 ${isLastPage?then('disabled', '')}"  
186      href="${nextURL}"  
187      disabled="${isLastPage?string}" 
188    >       
189      <span class="btn btn-link text-amarelo-vale mr-2 p-0 d-none d-sm-inline"> 
190        <@liferay.language key="next" /> 
191      </span> 
192      <img 
193        class="btn btn-primary border-amarelo-vale bg-amarelo-vale p-1 rounded-circle" 
194        src="${images_path}seta-2-dir_bra" 
195        alt="button-next" 
196      /> 
197    </a> 
198  </div> 
199</div> 
200 
201<style> 
202  .vale-widget-resultados-busca-imprensa .box { 
203  background-image: url("/documents/d/guest/box-flutuante_com-borda"); 
204  background-size: cover; 
205  aspect-ratio: 65/37; 
206  width: 21.5625rem; 
207
208 
209.vale-widget-resultados-busca-imprensa .yellow-bar { 
210  background-color: var(--amarelo-vale); 
211  flex-basis: 20px; 
212  flex-grow: 0; 
213  flex-shrink: 0; 
214
215 
216.vale-widget-resultados-busca-imprensa .pagination img { 
217  width: 2.03125rem; 
218
219 
220.vale-widget-resultados-busca-imprensa .pagination-item { 
221  color: var(--cinza-escuro); 
222  background-color: var(--branco); 
223  border: 2px solid var(--cinza-escuro); 
224  line-height: 1.30625rem; 
225  opacity: 0.6; 
226  width: 2.03125rem; 
227  height: 2.03125rem; 
228
229 
230.vale-widget-resultados-busca-imprensa .pagination-item:hover { 
231  box-shadow: 0px 0px 6px #55555594; 
232
233 
234.vale-widget-resultados-busca-imprensa .pagination-item.is-active { 
235  color: var(--branco); 
236  background-color: var(--amarelo-vale); 
237  border-color: var(--amarelo-vale); 
238  opacity: 1; 
239
240 
241.vale-widget-resultados-busca-imprensa .pagination-item.is-active:hover { 
242  box-shadow: 0px 0px 6px #ecb11f94; 
243
244 
245.vale-widget-resultados-busca-imprensa .title { 
246  display: -webkit-box; 
247  line-clamp: 3; 
248  overflow: hidden; 
249  -webkit-line-clamp: 3; 
250  -webkit-box-orient: vertical; 
251
252 
253.vale-widget-resultados-busca-imprensa .elipsis { 
254  opacity: 0.6; 
255
256 
257.vale-widget-resultados-busca-imprensa ~ form .pagination-bar { 
258  display: none; 
259
260 
261.vale-widget-resultados-busca-imprensa .pagination .disabled { 
262  pointer-events: none; 
263
264 
265.vale-widget-resultados-busca-imprensa .pagination .pagination-option.disabled { 
266  opacity: 0.5; 
267
268 
269.line-divider { 
270  background-color: var(--cinza-escuro); 
271  color: var(--cinza-escuro); 
272  height: 1px; 
273  width: 100%; 
274  opacity: 0.2; 
275
276 
277@media screen and (max-width: 992px) { 
278  .vale-widget-resultados-busca-imprensa .box { 
279    width: 20.625rem; 
280
281
282 
283@media screen and (max-width: 768px) { 
284  .vale-widget-resultados-busca-imprensa .box { 
285    width: 15.625rem; 
286
287 
288  .vale-widget-resultados-busca-imprensa .title { 
289    line-clamp: 2; 
290    -webkit-line-clamp: 2; 
291
292 
293  .vale-widget-resultados-busca-imprensa .yellow-bar { 
294    flex-basis: 10px; 
295
296
297 
298@media screen and (max-width: 576px) { 
299  .vale-widget-resultados-busca-imprensa .box { 
300    width: 100%; 
301
302 
303  .vale-widget-resultados-busca-imprensa .title { 
304    line-clamp: 3; 
305    -webkit-line-clamp: 3; 
306
307
308 
309</style> 
Imagem placeholder Imagem placeholder Photo: Vale's archive
Onda