Resultados da busca
Filtrar por
Um erro ocorreu enquanto processava o modelo.
Java method "com.sun.proxy.$Proxy98.getEntry(String, long)" threw an exception when invoked on com.sun.proxy.$Proxy98 object "com.liferay.asset.internal.service.AssetEntryLocalServiceWrapper@53c2a0de"; see cause exception in the Java stack trace.
----
FTL stack trace ("~" means nesting-related):
- Failed at: #local assetEntry = assetEntryLocalSe... [in template "20100#20126#307290" in function "getDownloadURL" at line 304, column 5]
- Reached through: ${getDownloadURL(imgXml)} [in template "20100#20126#307290" at line 83, column 28]
----
1<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
2<#assign DDMStructureLocalService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMStructureLocalService") />
3<#assign LayoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") />
4
5<#if entries?has_content>
6 <#assign keywords = searchResultsPortletDisplayContext.getKeywords() />
7 <h5 class="mb-5">
8 ${languageUtil.format(locale, "showing", [], false)}
9 <#if keywords?has_content>
10 <#if searchContainer.getTotal() == 1>
11 ${languageUtil.format(locale, "x-result-found-for-x", [searchContainer.getTotal(), "<strong>" + htmlUtil.escape(keywords) + "</strong>"], false)}
12 <#else>
13 ${languageUtil.format(locale, "x-results-found-for-x", [searchContainer.getTotal(), "<strong>" + htmlUtil.escape(keywords) + "</strong>"], false)}
14 </#if>
15 <#else>
16 <#if searchContainer.getTotal() == 1>
17 ${languageUtil.format(locale, "x-result-found", [searchContainer.getTotal()], false)}
18 <#else>
19 ${languageUtil.format(locale, "x-results-found", [searchContainer.getTotal()], false)}
20 </#if>
21 </#if>
22 </h5>
23
24 <ul class="list-unstyled">
25 <#list entries as entry>
26 <li
27 class="search-result-item ${entry?has_next?then('mb-5', '')}"
28 data-class-name="${entry.getClassName()}"
29 >
30
31 <#assign assetEntry = AssetEntryLocalService.getEntry(entry.getClassName(), entry.getClassPK()) />
32 <#assign inputDateFormat = "dd/MM/yyyy HH:mm">
33 <#assign outputDateFormat = "dd/MM/yyyy">
34
35
36 <#if entry.getClassName() == "com.liferay.journal.model.JournalArticle">
37 <#assign assetRenderer = assetEntry.getAssetRenderer() />
38 <#assign journalArticle = assetRenderer.getAssetObject() />
39 <#assign docXml = saxReaderUtil.read(journalArticle.getContent()) />
40 <#assign contentTypeName = "Texto" />
41 <#assign viewUrl = entry.getViewURL()?keep_before('?p_l_back_url') />
42 <#assign page_name= "" />
43
44 <#-- VERIFICA SE É CONTEÚDO WEB BÁSICO -->
45 <#if journalArticle.getDDMStructureKey() != "BASIC-WEB-CONTENT">
46 <#assign structure = DDMStructureLocalService.getStructure(getterUtil.getLong(journalArticle.getDDMStructureKey()?trim) + 1) />
47 <#assign contentTypeName = structure.getName(locale) />
48 </#if>
49
50 <#-- MANIPULAÇÃO DA URL DE ACESSO -->
51 <#if !viewUrl?contains('/search?')>
52 <#if viewUrl?contains('/w/')>
53 <#assign site_url = htmlUtil.escape(layout.getGroup().getDisplayURL(themeDisplay, !layout.isPublicLayout())) />
54 <#assign page_name = contentTypeName />
55 <#assign viewUrl = "${site_url}/${getUrl(page_name)}" />
56 <#else>
57 <#attempt>
58 <#if (LayoutLocalService.fetchLayoutByFriendlyURL(assetEntry.getGroupId(), false, "/" + viewUrl?keep_after_last("/")))??>
59 <#assign entry_layout = LayoutLocalService.fetchLayoutByFriendlyURL(assetEntry.getGroupId(), false, "/" + viewUrl?keep_after_last("/")) />
60 </#if>
61 <#if (entry_layout)??>
62 <#assign page_name = entry_layout.getName(locale) />
63 </#if>
64 <#recover>
65 <#assign page_name = "" />
66 </#attempt>
67 </#if>
68 </#if>
69
70 <#-- VISUALIZAÇÃO DO ITEM DE ACORDO COM SEU TIPO DE CONTEÚDO WEB -->
71 <#if (contentTypeName == "Web Stories")>
72 <#assign imgXml = docXml.valueOf("//dynamic-element[@field-reference='StoriesCallImage']/dynamic-content[@language-id='pt_BR']") />
73 <div class="row">
74 <div class="col web-stories">
75 <a
76 class="card br-24 bg-white text-white p-2 m-lg-0"
77 href="${entry.getViewURL()?keep_before('?p_l_back_url')}"
78 data-senna-off="true"
79 >
80 <div class="card-img aspect-ratio aspect-ratio-8-to-3 br-16">
81 <img
82 class="aspect-ratio-item aspect-ratio-item-fluid h-100 w-100"
83 src="${getDownloadURL(imgXml)}?thumbnail=1"
84 alt="${assetEntry.getTitle(locale)}"
85 />
86 </div>
87
88 <div class="card-img-overlay d-flex justify-content-center align-items-center">
89 <h3 class="card-title h3 text-center">${assetEntry.getTitle(locale)}</h3>
90 </div>
91 </a>
92 </div>
93 </div>
94 <#elseif (contentTypeName == "Perguntas e Respostas Estrutura")>
95 <#assign question_number = docXml.valueOf("//dynamic-element[@field-reference='question_number']/dynamic-content[@language-id='pt_BR']") />
96 <#assign question = docXml.valueOf("//dynamic-element[@field-reference='question']/dynamic-content[@language-id='pt_BR']") />
97 <#assign answer= docXml.valueOf("//dynamic-element[@field-reference='answer']/dynamic-content[@language-id='pt_BR']") />
98 <#assign chapter = docXml.valueOf("//dynamic-element[@field-reference='chapter']/dynamic-content[@language-id='pt_BR']") />
99 <#assign year = docXml.valueOf("//dynamic-element[@field-reference='year']/dynamic-content[@language-id='pt_BR']") />
100 <#assign pagination_number = paginationNumber(question_number?number) />
101 <#assign currentPageUrl = themeDisplay.getPortalURL() + "/web" + themeDisplay.getLayout().getGroup().getFriendlyURL() + "/listagem-de-perguntas-e-respostas?delta=50&start=" + pagination_number + '#pergunta-' + question_number />
102
103 <div
104 aria-orientation="vertical"
105 class="embrapa-perguntasrespostas-collapse-panel collapse-panel panel-group panel-group-flush"
106 role="tablist"
107 >
108 <div
109 id="pergunta-${question_number}"
110 class="card bg-light br-16 p-0"
111 role="tablist"
112 itemscope
113 itemprop="mainEntity"
114 itemtype="https://schema.org/Question"
115 >
116
117 <button
118 aria-controls="collapse_${entry.getClassPK()}"
119 aria-expanded="false"
120 class="btn btn-unstyled panel-header panel-header-link collapse-icon collapse-icon-middle collapsed p-4 border-0"
121 data-target="#collapse_${entry.getClassPK()}"
122 data-toggle="collapse"
123 role="tab"
124 >
125
126 <h4
127 class="panel-title mr-5"
128 itemprop="name"
129 >
130 ${question}
131 </h4>
132
133 <span class="collapse-icon-closed mr-4">
134 <i class="las la-angle-down text-green-4"></i>
135 </span>
136 <span class="collapse-icon-open mr-4">
137 <i class="las la-angle-up text-green-4"></i>
138 </span>
139 </button>
140
141 <div
142 class="panel-collapse collapse"
143 id="collapse_${entry.getClassPK()}"
144 role="tabpanel"
145 >
146 <div class="panel-body p-3">
147 <div
148 class="answer"
149 itemscope
150 itemprop="acceptedAnswer"
151 itemtype="https://schema.org/Answer"
152 >
153 <div class="mb-2" itemprop="text">
154 ${answer}
155 </div>
156
157 <p class="chapter">
158 <span class="font-weight-bold">Capítulo:</span> ${chapter}
159 </p>
160
161 <p class="question-number">
162 <#if question_number?number < 10>
163 <span class="font-weight-bold">Número da Pergunta: </span> ${question_number}
164 <#else>
165 <span class="font-weight-bold">Número da Pergunta:</span> ${question_number}
166 </#if>
167 </p>
168
169 <p class="year">
170 <span class="font-weight-bold">Ano:</span> ${year}
171 </p>
172
173 <div class="custom-macros dropright mt-2">
174 <button class="btn btn-monospaced btn-info dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
175 <img
176 src="data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.3333 8C20.9658 8.00031 20.6023 8.0766 20.2656 8.22409C19.9289 8.37157 19.6264 8.58706 19.3769 8.85703C19.1275 9.127 18.9366 9.44562 18.8161 9.79289C18.6957 10.1402 18.6484 10.5086 18.6771 10.875L12.4271 14C11.9408 13.5712 11.315 13.3342 10.6667 13.3333C9.95942 13.3333 9.28115 13.6143 8.78105 14.1144C8.28095 14.6145 8 15.2928 8 16C8 16.7072 8.28095 17.3855 8.78105 17.8856C9.28115 18.3857 9.95942 18.6667 10.6667 18.6667C11.315 18.6658 11.9408 18.4288 12.4271 18L18.6771 21.125C18.6484 21.4914 18.6957 21.8598 18.8161 22.2071C18.9366 22.5544 19.1275 22.873 19.3769 23.143C19.6264 23.4129 19.9289 23.6284 20.2656 23.7759C20.6023 23.9234 20.9658 23.9997 21.3333 24C22.0406 24 22.7189 23.719 23.219 23.219C23.719 22.7189 24 22.0406 24 21.3333C24 20.6261 23.719 19.9478 23.219 19.4477C22.7189 18.9476 22.0406 18.6667 21.3333 18.6667C20.685 18.6675 20.0592 18.9045 19.5729 19.3333L13.3229 16.2083C13.3338 16.0697 13.3338 15.9303 13.3229 15.7917L19.5729 12.6667C20.0592 13.0955 20.685 13.3325 21.3333 13.3333C22.0406 13.3333 22.7189 13.0524 23.219 12.5523C23.719 12.0522 24 11.3739 24 10.6667C24 9.95942 23.719 9.28115 23.219 8.78105C22.7189 8.28095 22.0406 8 21.3333 8Z' fill='white'/%3E%3C/svg%3E%0A"
177 alt="Imagem Compartilhar"
178 />
179 </button>
180 <div class="dropdown-menu br-8 p-0">
181 <div class="card m-0 p-0 bg-fundo-tc border-0">
182 <div class="card-header py-2 px-3 bg-overlay-25">
183 <p class="texto-branco m-0">Compartilhar: </p>
184 </div>
185
186 <div class="card-body d-flex px-3 py-2">
187 <a class="btn btn-monospaced btn-share-whatsapp mr-2" href="https://wa.me/?text=*${question}*%0a${answer}%0a*Capítulo:*%20${chapter}%0a*Número da Pergunta:*%20${question_number}%0a*Ano:*%20${year}%0aVeja%20mais%20em:%20${currentPageUrl?url('ISO-8859-1')}" target="_blank">
188 <i class="lab la-whatsapp"></i>
189 </a>
190 </a>
191 <button class="btn btn-monospaced btn-share" type="button" onclick="copyViewUrl${entry.getClassPK()}()">
192 <i class="las la-link"></i>
193 </button>
194 </div>
195 </div>
196 </div>
197 </div>
198 </div>
199 </div>
200 </div>
201 </div>
202 <script>
203 function copyViewUrl${entry.getClassPK()}() {
204 var url = "${currentPageUrl}";
205 navigator.clipboard.writeText(url)
206 alert("Url copiada com sucesso");
207 }
208 </script>
209 <#elseif (journalArticle.getDDMStructureKey() == "BASIC-WEB-CONTENT")>
210 <div class="card br-22">
211 <h4 class="mb-2 pb-1">${assetEntry.getTitle(locale)}</h4>
212 <@liferay_journal["journal-article"]
213 articleId=journalArticle.getArticleId()
214 ddmTemplateKey=journalArticle.getDDMTemplateKey()
215 groupId=assetEntry.getGroupId()
216 />
217 </div>
218 <#else>
219 <@liferay_journal["journal-article"]
220 articleId=journalArticle.getArticleId()
221 ddmTemplateKey=journalArticle.getDDMTemplateKey()
222 groupId=assetEntry.getGroupId()
223 />
224 </#if>
225
226 <#-- METADADOS DE TIPO DE CONTEÚDO E ONDE É ENCONTRADO -->
227 <#if contentTypeName == "Cartão">
228 <div class="d-lg-flex mt-2">
229 <#if page_name?has_content>
230 <p class="m-0 mr-3">Encontrado na página: <a href="${viewUrl}"><b>${page_name}</b></a></p>
231 <p class="pipe m-0 mr-3" >|</p>
232 <#if locale == "pt_BR">
233 <#attempt>
234 <#assign publishDate = entry.getPublishedDateString()?datetime(inputDateFormat)>
235 <#recover>
236 </#attempt>
237 <#elseif locale == "en_US">
238 <#attempt>
239 <#assign publishDate = entry.getPublishedDateString()?datetime("MMM d, yyyy HH:mm a")>
240 <#recover>
241 </#attempt>
242 </#if>
243 <#if (publishDate)??>
244 <p class="m-0">Publicado: <b class="publish-date-formated">${publishDate?string(outputDateFormat)}</b></p>
245 </#if>
246 </#if>
247 <@getEditIcon />
248 </div>
249 <#else>
250 <div class="d-lg-flex mt-2">
251 <#if page_name?has_content>
252 <p class="m-0">Encontrado na página: <a href="${viewUrl}"><b>${page_name}</b></a></p>
253 </#if>
254 <@getEditIcon />
255 </div>
256 </#if>
257 <#else>
258 <a
259 class="btn btn-white justify-content-start p-3"
260 href="${entry.getAssetRendererURLDownload()?has_content?then(entry.getAssetRendererURLDownload(), entry.getViewURL())}"
261 target="_blank"
262 >
263 ${assetEntry.getTitle(locale)}
264 <i class="las la-external-link-alt ml-auto"></i>
265 </a>
266 </#if>
267 </li>
268 </#list>
269 </ul>
270</#if>
271
272<script>
273 $(document).ready(function(){
274 $(".portlet-boundary[id*='FacetPortlet']").each(function(){
275 if(!$(this).find("select").length){
276 $(this).parents(".form-group-item").hide();
277 }
278 });
279 });
280 Liferay.on("allPortletsReady", function(){
281let divs = document.querySelectorAll('div.custom-macros');
282
283divs.forEach((div) => {
284 if (div.classList.contains('dropright')) {
285 div.classList.remove('dropright');
286 div.classList.add('dropleft');
287 }
288});
289 });
290
291</script>
292<#-- FUNCAO: Transforma String em URL -->
293<#function getUrl url>
294 <#return url?lower_case?replace(' ', '-')?replace('á', 'a')?replace('ç', 'c')?replace('ú', 'u')?replace('é', 'e')?replace('í', 'i') />
295</#function>
296
297<#-- FUNCÃO: URL DE DOWNLOAD DO DOCUMENTO -->
298<#function getDownloadURL xmlValue>
299 <#if xmlValue?has_content>
300 <#local JSONFactoryUtil = staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"] />
301 <#local assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
302 <#local DLFileEntryModel = "com.liferay.document.library.kernel.model.DLFileEntry" />
303 <#local imgJson = JSONFactoryUtil.createJSONObject(xmlValue) />
304 <#local assetEntry = assetEntryLocalService.getEntry(DLFileEntryModel, getterUtil.getLong(imgJson.fileEntryId)) />
305 <#local assetRenderer = assetEntry.assetRenderer />
306 <#return assetRenderer.getURLDownload(themeDisplay) />
307 <#else>
308 <#return "" />
309 </#if>
310</#function>
311
312<#-- MACRO: BOTÃO PARA EDITAR O CONTEÚDO -->
313<#macro getEditIcon>
314 <#if assetRenderer.hasEditPermission(themeDisplay.getPermissionChecker())>
315 <#assign editPortletURL = assetRenderer.getURLEdit(renderRequest, renderResponse, windowStateFactory.getWindowState("NORMAL"), themeDisplay.getURLCurrent())!"" />
316
317 <#if validator.isNotNull(editPortletURL)>
318 <a
319 class="btn btn-link btn-edit ml-auto"
320 href="${editPortletURL.toString()}"
321 target="_blank"
322 data-senna-off="true"
323 >
324 <b>Editar</b>
325 </a>
326 </#if>
327 </#if>
328</#macro>
329
330<#function paginationNumber question_number>
331 <#return (question_number / 50)?ceiling>
332</#function>
Você não tem os papéis necessários para acessar este portlet.
Você não tem os papéis necessários para acessar este portlet.