COMUNICAZIONE
Dicono di noi
Si è verificato un errore nell'elaborarazione del modello.
Java method "jdk.proxy3.$Proxy124.getFileEntryByUuidAndGroupId(String, long)" threw an exception when invoked on jdk.proxy3.$Proxy124 object "com.liferay.document.library.internal.service.FriendlyURLDLFileEntryLocalServiceWrapper@45687db5"; see cause exception in the Java stack trace.
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign fileEntry = fileEntryService... [in template "20115#20151#118853" at line 133, column 1]
----
1<#-- =================== INIZIO PARTE NEWS LOOP =================== -->
2
3<!-- Comunicati Stampa -->
4
5
6<!-- DIV PER IL BANNER ALTO COMMENTATO
7<div class="mainHeader headerNews">
8<div class="container">
9<div class="mainHeader-inner">
10<h3>News & Media</h3>
11
12<h1>Rassegna Stampa</h1>
13</div>
14</div>
15</div>
16 FINE DIV PER BANNER -->
17
18
19<main class="cng">
20<section class="section">
21
22<div class="container">
23
24 <div class="" id="newsContainer">
25
26
27<div class="row">
28
29
30 <div class="col-lg-12 col-12">
31 <!-- *** TABELLA *** -->
32 <div >
33
34
35 <table id="rassegna-table" class="table dataTable no-footer font-size-14" style="width: 100%;">
36 <thead>
37 <tr role="row">
38 <th class="sorting_desc" rowspan="1" colspan="1">Data</th>
39 <th class="sorting" rowspan="1" colspan="1">Titolo</th>
40 <th class="sorting" rowspan="1" colspan="1"> </th>
41 <th class="sorting" rowspan="1" colspan="1"></th>
42
43 </tr>
44 </thead>
45 <tbody>
46
47<#assign img_folder = themeDisplay.getPathThemeImages() + "/../img" />
48
49<#if entries?has_content>
50
51 <#assign idxLoop = 0 />
52
53 <#list entries as curEntry> <#-- INIZIO LOOP (indici 0-based)-->
54
55
56<#assign idxLoop = curEntry?index />
57
58<#assign newsTitle = curEntry.getTitle(locale) />
59<#assign newsSummary = curEntry.getSummary(locale) />
60<#assign dataPub = curEntry.getModifiedDate() /> <!-- getPublishDate -->
61
62
63
64<#assign renderer = curEntry.getAssetRenderer() />
65<#assign Article = renderer.getArticle() />
66
67
68<#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, curEntry) />
69<#assign viewURLAsset = renderer.getURLViewInContext(renderRequest, renderResponse, viewURL) />
70
71<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
72<#assign DDMStructureLocalService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMStructureLocalService") >
73<#assign dlAppLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService")>
74<#assign fileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") />
75<#assign article = journalArticleLocalService.getLatestArticle(Article.resourcePrimKey) />
76<#assign docTotale = article.getContentByLocale(localeUtil.toLanguageId(localeUtil.getDefault())) />
77<#assign doc = saxReaderUtil.read(article.getContentByLocale(localeUtil.toLanguageId(localeUtil.getDefault()))) />
78
79<#-- INIZIO LETTURA CAMPI -->
80<#assign rootElement = doc.getRootElement() />
81<#assign news = rootElement.selectNodes("/Ttiolo") />
82
83<#--
84<#assign titoloNodePath = saxReaderUtil.createXPath("dynamic-element[@name='Ttiolo']") />
85<#assign titoloNode = titoloNodePath.selectSingleNode(rootElement) />
86
87<#assign xPathSelector = saxReaderUtil.createXPath("dynamic-content") />
88<#assign titoloVal = xPathSelector.selectSingleNode(titoloNode).getStringValue() />
89
90
91<#assign xPathData = saxReaderUtil.createXPath("dynamic-element[@name='DataNotizia']/dynamic-content") />
92<#assign dataNotizia = xPathData.selectSingleNode(titoloNode).getStringValue() />
93
94<#assign xPathAbstract = saxReaderUtil.createXPath("dynamic-element[@name='Abstract']/dynamic-content") />
95<#assign abstract = xPathAbstract.selectSingleNode(titoloNode).getStringValue() />
96
97<#assign xPathFoto = saxReaderUtil.createXPath("dynamic-element[@name='Foto']/dynamic-content") />
98<#assign fotoLink = xPathFoto.selectSingleNode(titoloNode).getStringValue() />
99
100
101<#assign xPathFile = saxReaderUtil.createXPath("dynamic-element[@name='FileMedia']") />
102
103<#assign fileLink = "" />
104<#if xPathFile?? >
105<#assign xPathFile = saxReaderUtil.createXPath("dynamic-element[@name='FileMedia']/dynamic-content") />
106<#assign fileLink = xPathFile.selectSingleNode(titoloNode).getStringValue() />
107<#else>
108
109<#assign fileLink = "" />
110</#if>
111-->
112
113<#assign titoloVal = rootElement.selectSingleNode("//dynamic-element[@name='Ttiolo']/dynamic-content").getText() />
114<#assign dataNotizia = rootElement.selectSingleNode("//dynamic-element[@name='DataNotizia']/dynamic-content").getText() />
115<#assign abstract = rootElement.selectSingleNode("//dynamic-element[@name='Abstract']/dynamic-content").getText() />
116
117<#assign imgNode = rootElement.selectSingleNode("//dynamic-element[@name='Foto']/dynamic-content")>
118<#assign imgJson = jsonFactoryUtil.createJSONObject(imgNode.getText())>
119<#assign imgEntryId = imgJson.getLong("fileEntryId")>
120<#if imgEntryId?? && imgEntryId != 0>
121<#assign imgEntry = dlAppLocalService.getFileEntry(imgEntryId)>
122<#assign fotoLink = themeDisplay.getPortalURL() + themeDisplay.getPathContext() + "/documents/" + imgEntry.getGroupId() + "/" + imgEntry.getFolderId() + "/" + imgEntry.getFileName() + "/" + imgEntry.getUuid()>
123<#else>
124<#assign fotoLink = "">
125</#if>
126
127
128<#assign fileNode = rootElement.selectSingleNode("//dynamic-element[@name='FileMedia']/dynamic-content")>
129<#assign fileJson = jsonFactoryUtil.createJSONObject(fileNode.getText())>
130<#assign fileGroupId = fileJson.getLong("groupId")>
131<#assign fileUuid = fileJson.getString("uuid")>
132<#assign fileTitle = fileJson.getString("title")>
133<#assign fileEntry = fileEntryService.getFileEntryByUuidAndGroupId(fileUuid, fileGroupId) />
134<#if fileEntry?has_content>
135<#assign fileLink = themeDisplay.getPortalURL() + themeDisplay.getPathContext() + "/documents/" + fileEntry.getGroupId() + "/" + fileEntry.getFolderId() + "/" + fileEntry.getFileName() + "/" + fileEntry.getUuid()>
136<#else>
137<#assign fileLink = "">
138</#if>
139
140<#-- ========== COSTRUZIONE HTML SINGOLO VIDEO ==================== -->
141
142<#assign formattedDate = "" />
143 <#if dataNotizia?? && dataNotizia?has_content>
144 <#assign someDate = dataNotizia?date.xs>
145 <#assign formattedDate = someDate?string["dd/MM/yyyy"] />
146</#if>
147
148
149
150
151 <tr role="row" >
152
153 <td><h6>${formattedDate}</h6></td>
154
155 <td>
156
157
158 <a style="text-decoration: none;" target="_blank" href="${fileLink}" class="titolinews mt-4" > <h6 class="font-weight-400">${titoloVal}</h6> </a>
159 </td>
160 <td></td>
161 <td>
162 <#if fileLink?? && fileLink != "">
163
164
165 <a title="Scarica il comunicato stampa" target="_blank" href="${fileLink}">
166 <!-- i class="fas fa-file-download" style="color:var(--orange);height: 25px; width:25px" -->
167 <@clay["icon"] symbol="download" style="color:var(--orange);" />
168 </a>
169 </td>
170 </#if>
171 </tr>
172
173
174
175
176
177
178
179<#-- =================== FINE COSTRUZIONE SINGOLA News ======================= -->
180
181
182<#-- FINE -->
183
184
185
186
187
188
189
190 </#list> <#-- FINE LOOP -->
191
192
193
194
195
196 </tbody>
197
198 </table>
199
200 </div>
201
202 <!-- *** FINE TABELLA *** -->
203
204 </div>
205
206
207 </div> <!-- chiusura row mb-5-->
208
209
210
211
212
213
214
215</#if>
216<#-- FINE NEWS LOOP -->
217
218 </div> <#-- chiusura div.container -->
219
220</div>
221</section>
222</main>
223
224
225 <!-- SCRIPTS -->
226
227 <!-- datatables -->
228 <script type="text/javascript" src="https://cdn.datatables.net/1.10.21/js/jquery.dataTables.min.js"></script>
229 <script type="text/javascript" src="https://cdn.datatables.net/1.10.21/js/dataTables.bootstrap4.min.js"></script>
230
231 <script type="text/javascript">
232
233 $(document).ready(function () {
234
235jQuery.extend( jQuery.fn.dataTableExt.oSort, {
236"date-uk-pre": function ( a ) {
237 var ukDatea = a.split('/');
238 return (ukDatea[2] + ukDatea[1] + ukDatea[0]) ;
239},
240
241"date-uk-asc": function ( a, b ) {
242 return ((a < b) ? -1 : ((a > b) ? 1 : 0));
243},
244
245"date-uk-desc": function ( a, b ) {
246 return ((a < b) ? 1 : ((a > b) ? -1 : 0));
247}
248} );
249
250
251$('#rassegna-table').DataTable({
252 "infoCallback": function(settings, start, end, max, total, pre) {
253 /*console.log("DataTable::settings", settings); */
254
255 if (total < max) {
256 // Se c'è un filtro attivo
257 return "Mostrati <span>"+end+"</span> di <span>"+total+"</span> risultati (filtrati da " + max + " totali)";
258 } else {
259 return "Mostrati <span>"+end+"</span> di <span>"+total+"</span> risultati";
260 }
261 },
262 "aoColumns": [
263 { "sType": "date-uk" },
264 null,
265 null,
266 null
267 ],
268
269 "aaSorting": [ [0,'desc'] ],
270 "language": {
271 "sEmptyTable": "Nessun dato presente nella tabella",
272 "sInfo": "",
273 "sInfoEmpty": "",
274 "sInfoFiltered": "(filtrati da _MAX_ elementi totali)",
275 "sInfoPostFix": "",
276 "sInfoThousands": ".",
277 "sLengthMenu": "Visualizza _MENU_",
278 "sLoadingRecords": "Caricamento...",
279 "sProcessing": "Elaborazione...",
280 "sSearch": "Cerca:",
281 "sZeroRecords": "La ricerca non ha portato alcun risultato.",
282 "oPaginate": {
283 "sFirst": "Inizio",
284 "sPrevious": "<",
285 "sNext": ">",
286 "sLast": "Fine"
287 },
288 "oAria": {
289 "sSortAscending": ": attiva per ordinare la colonna in ordine crescente",
290 "sSortDescending": ": attiva per ordinare la colonna in ordine decrescente"
291 }
292}
293
294
295});
296
297$('.dataTables_length').addClass('text-red');
298
299
300});
301
302
303
304</script>
305
306<style>
307
308.cng .dataTables_paginate{
309text-align: right;
310}
311
312.cng #rassegna-table_info.dataTables_info {
313 padding: 1.0rem;
314}
315.cng #rassegna-table_info.dataTables_info span {
316 font-weight: 600;
317 padding: 0 0 0 3px;
318}
319
320.cng a.titolinews{
321color: var(--black);
322}
323
324
325.cng label { /** Clay override */
326 font-size: inherit;
327}
328.cng .custom-select-sm { /** Clay override */
329 font-size: auto;
330 background-color: #fff;
331}
332
333.cng .form-control {
334 font-size: auto;
335 background-color: #fff;
336}
337
338.cng table{
339border-collapse: collapse;
340border: none;
341}
342
343.cng h6, .h6{
344font-size: 1rem;
345}
346
347
348
349/* per nascondere pulsante di ritorno all'elenco delle news/video */
350.cng .h2{
351display: none;
352}
353
354
355.cng #comunicati-table_paginate{
356 font-size: 14px;
357}
358
359.cng .pagination {
360 margin: 20px;
361 font-size: inherit;
362}
363
364.cng .pagination .paginate_button {
365 width: 30px;
366 height: 35px;
367 background-color: #fff;
368 border: 1px solid #EEF4FF;
369 align-content: space-evenly;
370 margin: 0px;
371}
372
373.cng .page-item, .cng .page-link { /** Clay override */
374 border-radius: 0px;
375}
376
377.cng .page-item.active .page-link { /** Clay override */
378 z-index: 3;
379 color: #fff;
380 background-color: var(--orange);
381 border-color: var(--black);
382 width: inherit;
383 height: inherit;
384}
385.cng .page-item .page-link::before { /** Clay override */
386 background-color: transparent !important;
387 height: 0.25rem;
388}
389.cng .page-item.active .page-link::before { /** Clay override */
390 background-color: transparent !important;
391 height: 0.25rem;
392}
393.cng .pagination > li > a, .pagination > li > span {
394 color: var(--black);
395}
396.cng .pagination > li:focus{
397 background-color: var(--orange);
398
399}
400.cng .pagination > li > a:focus,
401.cng .pagination > li > a:hover { /** Clay override */
402 background-color: var(--orange);
403 border-color: var(--black);
404 color: #fff;
405 width: inherit;
406 height: inherit;
407}
408
409.cng .pagination > li.active{
410 background-color: var(--orange);
411 color: #fff;
412}
413
414.cng .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus, .pagination > .active > span, .pagination > .active > span:hover, .pagination > .active > span:focus {
415 background-color: var(--orange);
416 width: inherit;
417 height: inherit;
418}
419
420
421/* float-right del cerca */
422.cng .dataTables_filter{
423 float: right !important;
424}
425
426@media screen and (max-width: 768px){
427.cng table {
428 display: block;
429 overflow-x: auto;
430 width: 100%;
431 text-align: center;
432}
433
434}
435.cng thead {
436 background-color: #007BA5 !important;
437 color: #fff !important;
438 border-color: #dee2e6 !important;
439}
440.cng th {
441 font-size: 14px !important;
442}
443.cng tbody {
444 background-color: white; !important
445}
446
447.clearfix.lfr-pagination {
448 display: none;
449}
450
451</style>