Si è verificato un errore nell'elaborarazione del modello.
Java method "com.sun.proxy.$Proxy82.getEntry(String, long)" threw an exception when invoked on com.sun.proxy.$Proxy82 object "com.liferay.asset.internal.service.AssetEntryAssetCategoryRelAssetEntryLocalServiceWrapper@1c2d9f77"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: currentArticleAssetEntry = AELS.getEn...  [in template "114284#114319#1231320" in function "getRelatedArticles" at line 917, column 9]
	- Reached through: #assign-container  [in template "114284#114319#1231320" in function "getRelatedArticles" at line 912, column 5]
	- Reached through: #assign singleEntry = getRelatedArtic...  [in template "114284#114319#1231320" at line 663, column 49]
----
1<#assign 
2    DLAppLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"] 
3    d40Service = serviceLocator.findService("eu.suggesto.d40.builder.d40.service.TourismItemLocalService") 
4    DLFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") 
5    mkspAPI = serviceLocator.findService("eu.suggesto.suggestogui.service.SuggestoGuiLocalService") 
6    catsService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 
7    serverName = request.getServerName() 
8    defLng = themeDisplay.getSiteDefaultLocale() 
9     
10    preferences = freeMarkerPortletPreferences.getPreferences("portletSetupPortletDecoratorId", "barebone") 
11/> 
12 
13 
14<div> 
15     
16    <#if entries?has_content> 
17        <#list entries as curEntry> 
18            <#assign renderer = curEntry.getAssetRenderer() > 
19            <#assign className = renderer.getClassName() > 
20            <#if className == "com.liferay.journal.model.JournalArticle" > 
21                <#assign journalArticle = renderer.getArticle() > 
22                <#assign document = saxReaderUtil.read(journalArticle.getContent()) > 
23                <#assign rootElement = document.getRootElement() > 
24                 
25<#------------- GET ALL FIELDS  
26                <#-- GET Title --> 
27                <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Title']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
28                <#assign MainTitle = xPathSelector.selectSingleNode(rootElement).getStringValue() > 
29                 
30                 
31                <#-- GET MainContent (MainImage, TxtBtn, ExtLink, RelatedPage) --> 
32                <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='MainContent']") > 
33                <#assign MainContent = xPathSelector.selectNodes(rootElement) > 
34                 
35                 
36                <#-- GET RedationalBlocks (1st_content, 1st_Gallery, 1st_Video) --> 
37                <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='1st_RedationalBlocks']") > 
38                <#assign FirstRedationalBlocks = xPathSelector.selectNodes(rootElement) > 
39                 
40                 
41                <#-- GET EvidenceBlocks (EvImage, EvContent, EvExtLink, EvRelatedPage) --> 
42                <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='EvidenceBlocks']") > 
43                <#assign EvidenceBlocks = xPathSelector.selectNodes(rootElement) > 
44                 
45                 
46                <#-- GET RedationalBlocks (2nd_content, 2nd_Gallery, 2nd_Video) --> 
47                <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='2nd_RedationalBlocks']") > 
48                <#assign SecondRedationalBlocks = xPathSelector.selectNodes(rootElement) > 
49                 
50                <#-- GET Relations (TxtRel, ViewType, RelatedContents) --> 
51                <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Relations']") > 
52                <#assign Relations = xPathSelector.selectNodes(rootElement) > 
53                 
54                 
55                <#-- GET CustomBlocks (CustomBoxs, CustomLinkPage, CustomBlockImg, CustomBlockTitle, CustomBlockDesc) --> 
56                <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='CustomBoxs']") > 
57                <#assign CustomBlocks = xPathSelector.selectNodes(rootElement) > 
58                 
59                <#-- GET Files --> 
60                <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Files']") > 
61                <#assign Documenti = xPathSelector.selectNodes(rootElement) > 
62                 
63                 
64                <#-- GET ShowExhibitions --> 
65                <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='ShowExhibitions']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
66                <#assign ShowExhibitions = xPathSelector.selectSingleNode(rootElement).getStringValue() > 
67                 
68                 
69<#------------- END GET ALL FIELDS  --> 
70 
71 
72<#------------- BREADCRUMB --> 
73<#if themeDisplay.getLayout().getAncestors()?has_content> 
74    <section id="breadcrumb" class="tw:font-heading tw:text-base tw:mt-4 <lg:tw:hidden"> 
75        <div class="container"> 
76            <ol class="breadcrumb tw-space-x-2"> 
77                <li class="breadcrumb-item"> 
78                    <a href="/" class="breadcrumb-link" title="Home"> 
79                        <span class="breadcrumb-text-truncate tw:text-dark tw:uppercase">Home</span> 
80                    </a> 
81                </li> 
82                 
83                <#list themeDisplay.getLayout().getAncestors()?reverse as ancestor> 
84                    <li class="breadcrumb-item"> 
85                        <a href="${ancestor.getFriendlyURL()}" class="breadcrumb-link" title="${ancestor.getHTMLTitle(themeDisplay.getLocale())}"> 
86                            <span class="breadcrumb-text-truncate tw:text-dark tw:uppercase">${ancestor.getHTMLTitle(themeDisplay.getLocale())}</span> 
87                        </a> 
88                    </li> 
89                </#list> 
90                 
91                <li class="breadcrumb-item active"> 
92                    <span class="tw:text-green tw:uppercase" title=""> 
93                        ${htmlUtil.replaceNewLine(MainTitle)} 
94                    </span> 
95                </li> 
96            </ol> 
97        </div> 
98    </section> 
99</#if> 
100<#------------- END BREADCRUMB --> 
101 
102 
103<#------------- PRE MAIN (title) --> 
104                <div class="row row_pre_main pb-5"> 
105                    <div class="container"> 
106                        <h1>${htmlUtil.replaceNewLine(MainTitle)}</h1> 
107                    </div> 
108                </div> 
109<#------------- END PRE MAIN --> 
110 
111 
112                 
113<#------------- INIZIO CONTENUTO PRINCIPALE --> 
114                <#if MainContent?has_content>  
115                    <#-- GET dynamic-content (contenuto) --> 
116                    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
117                    <#assign Content = xPathSelector.selectSingleNode(MainContent).getStringValue() > 
118                     
119                     
120                    <#-- GET MainImage --> 
121                    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='MainImage']") > 
122                    <#assign MainImage = xPathSelector.selectSingleNode(MainContent) > 
123                     
124                     
125                    <#-- GET TxtBtn --> 
126                    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='TxtBtn']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
127                    <#assign TxtBtn = xPathSelector.selectSingleNode(MainContent).getStringValue() > 
128                     
129                    <#-- GET ExtLink --> 
130                    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='ExtLink']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
131                    <#assign ExtLink = xPathSelector.selectSingleNode(MainContent).getStringValue() > 
132                     
133                    <#-- GET RelatedPage --> 
134                    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='RelatedPage']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
135                    <#assign RelatedPageStr = xPathSelector.selectSingleNode(MainContent).getStringValue() > 
136                     
137                    <#if RelatedPageStr?trim?has_content> 
138                        <#assign linkGroupId    = RelatedPageStr?keep_after("public@")?trim?number > 
139                        <#assign linkPageId     = RelatedPageStr?keep_before("@public")?trim?number> 
140                        <#assign linkPrivate    = false> 
141                         
142                        <#-- get layout --> 
143                        <#assign layoutLocalService = staticUtil["com.liferay.portal.kernel.service.LayoutLocalServiceUtil"]> 
144                        <#assign pageLayout = layoutLocalService.getLayout(linkGroupId, linkPrivate, linkPageId)> 
145                 
146                        <#-- get Friendly URL --> 
147                        <#assign portalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"]> 
148                        <#assign friendly_page_link = portalUtil.getLayoutFriendlyURL(pageLayout, themeDisplay)> 
149                     
150                    </#if> 
151                     
152                    <#if (Content?trim?has_content) || (MainImage?trim?has_content)>  
153                        <div class="row row_main_content pb-5" data-aos="fade-up"> 
154                            <div class="container"> 
155     
156                                <#if MainImage?trim?has_content> 
157                                    <#if MainImage.getStringValue()?trim?has_content> 
158                                        <div class="main_image pb-4"> 
159                                            <#assign immagine = MainImage.getStringValue()> 
160                                            <#assign 
161                                                jsonField = jsonFactoryUtil.createJSONObject(immagine) 
162                                                fileEntryId = jsonField.classPK?number 
163                                                fileEntry = DLAppLocalServiceUtil.getFileEntryByUuidAndGroupId(jsonField.uuid, groupId) 
164                                                Image = "/documents/" + jsonField.groupId + "/" + fileEntry.folderId + "/" + jsonField.title + "/" + jsonField.uuid 
165                                            /> 
166                                             
167                                            <link rel="preload" as="image" href="${getPrefix(Image, 1280, 550)}" /> 
168                                            <img class="lazy-load" datasrc="${getPrefix(Image, 1280, 550)}" src="" alt="${jsonField.alt}"> 
169                                             
170                                            <#if TxtBtn?? && TxtBtn?trim?has_content>  
171                                                <div class="btn_over_img"> 
172                                                    <#if ExtLink?? && ExtLink?has_content> 
173                                                        <a href="${ExtLink}" target="_blank">${TxtBtn}</a> 
174                                                    <#elseif friendly_page_link?? && friendly_page_link?has_content> 
175                                                        <a href="${friendly_page_link}" target="_blank">${TxtBtn}</a> 
176                                                    </#if> 
177                                                </div> 
178                                            </#if> 
179                                        </div> 
180                                    </#if> 
181                                </#if> 
182                                 
183                                <#if (Content?trim?has_content)> 
184                                    <div class="main_content pb-4">${Content}</div> 
185                                </#if> 
186                                 
187                            </div> 
188                        </div> 
189                    </#if> 
190                </#if> 
191<#------------- FINE CONTENUTO PRINCIPALE --> 
192                 
193                 
194                 
195<#------------- INIZIO PRIMO BLOCCO REDAZIONALE --> 
196                <#if FirstRedationalBlocks?? && FirstRedationalBlocks?has_content>                                    <#assign  
197                        TestArray = FirstRedationalBlocks[0] 
198                        xPathSelector = saxReaderUtil.createXPath("dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") 
199                        Check = xPathSelector.selectSingleNode(TestArray).getStringValue()  
200                    /> 
201                    <#if Check?? && Check?has_content> 
202                        <div class="row row_redational pb-5" data-aos="fade-left"> 
203                            <div class="main_cage"> 
204                                 
205                                <#list FirstRedationalBlocks as SingleBlock> 
206                                     
207                                 
208                                    <#-- GET dynamic-content (titolo) --> 
209                                    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
210                                    <#assign Title = xPathSelector.selectSingleNode(SingleBlock).getStringValue() > 
211                                    <#if Title?? && Title?has_content>  
212                                        <h2 class="section_title"><span>${htmlUtil.replaceNewLine(Title)}</span></h2> 
213                                    </#if> 
214                                     
215                                     
216     
217                                    <#-- GET 1st_Content --> 
218                                    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='1st_Content']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
219                                    <#assign Content = xPathSelector.selectSingleNode(SingleBlock).getStringValue() > 
220                                    <#if Content?? && Content?has_content>  
221                                        <div class="redational_content pb-5">${Content}</div> 
222                                    </#if> 
223                                     
224                                    <#-- GET 1st_Gallery --> 
225                                    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='1st_Gallery']") > 
226                                    <#assign Gallery = xPathSelector.selectNodes(SingleBlock) > 
227                                     
228                                    <#if Gallery?has_content>  
229                                        <#if Gallery[0].getStringValue()?trim?has_content> 
230                                            <div class="row gallery pb-5"> 
231                                                <#list Gallery as SingleImage> 
232                                                    <#if SingleImage?trim?has_content> 
233                                                        <#if SingleImage.getStringValue()?trim?has_content> 
234                                                            <#assign immagine = SingleImage.getStringValue()> 
235                                                            <#assign 
236                                                                jsonField = jsonFactoryUtil.createJSONObject(immagine) 
237                                                                fileEntryId = jsonField.classPK?number 
238                                                                fileEntry = DLAppLocalServiceUtil.getFileEntryByUuidAndGroupId(jsonField.uuid, groupId) 
239                                                                Image = "/documents/" + jsonField.groupId + "/" + fileEntry.folderId + "/" + jsonField.title + "/" + jsonField.uuid 
240                                                            /> 
241                                                             
242                                                            <div class="col-sm-6 col-md-4"> 
243                                                                <a class="magnific" href="${Image}"> 
244                                                                    <img class="lazy-load" datasrc="${getPrefix(Image, 720, 480)}" src="" alt="${jsonField.alt}"> 
245                                                                </a> 
246                                                            </div> 
247                                                             
248                                                        </#if> 
249                                                    </#if> 
250                                                </#list> 
251                                            </div> 
252                                        </#if> 
253                                    </#if> 
254                                     
255                                    <#-- GET 1st_Video --> 
256                                    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='1st_Video']") > 
257                                    <#assign Videos = xPathSelector.selectNodes(SingleBlock) > 
258                                     
259                                    <#if Videos?has_content>  
260                                        <#if Videos[0].getStringValue()?trim?has_content> 
261                                            <div class="row row_video pb-5"> 
262                                                <#list Videos as SingleVideo> 
263                                                    <#assign VideoStr   = SingleVideo.getStringValue() > 
264                                                    <#assign YTUrl      = VideoStr?keep_before("watch?v=")?trim > 
265                                                    <#assign VideoId    = VideoStr?keep_after("watch?v=")?trim> 
266                                                    <#assign UrlVideo   = VideoStr?replace("watch?v=", "embed/")?trim > 
267                                                 
268                                                    <#if VideoId?? && VideoId?has_content>  
269                                                        <div class="col-sm-6"> 
270                                                            <div class="single_video"> 
271                                                                <div class="video-container"> 
272                                                                    <iframe src="${UrlVideo}?showinfo=1&rel=0&autoplay=0" frameborder="0" allowfullscreen></iframe> 
273                                                                </div> 
274                                                            </div> 
275                                                        </div> 
276                                                    </#if> 
277                                                </#list> 
278                                            </div> 
279                                        </#if> 
280                                    </#if> 
281                                    <#-- GET DocumentiEvFirst --> 
282                                    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Files_ev_first']") > 
283                                    <#assign DocumentiEvFirst = xPathSelector.selectNodes(SingleBlock) > 
284                                 
285                                    <#if DocumentiEvFirst?has_content>  
286                                         
287                                        <#if DocumentiEvFirst[0].getStringValue()?trim?has_content> 
288                                            <div class="row area_download" data-aos="fade-in"> 
289                                                <div class="main_cage"> 
290                                                     
291                                                    <#list DocumentiEvFirst as cur_Documenti_ev_first>  
292                             
293                                                        <#if cur_Documenti_ev_first.getData()?? && cur_Documenti_ev_first.getData() != ""> 
294                                                        <div class="contain_row_file"> 
295                                                         
296                                                            <#-- GET dynamic-content (FILE) --> 
297                                                            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
298                                                            <#assign SingleFile = xPathSelector.selectSingleNode(cur_Documenti_ev_first).getStringValue() > 
299                                                             
300                                                            <#-- GET TITLE --> 
301                                                            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Doc_title_ev_first']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
302                                                            <#assign DocTitle = xPathSelector.selectSingleNode(cur_Documenti_ev_first).getStringValue() > 
303                                                             
304                                                            <#-- GET TEXT --> 
305                                                            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Doc_text_first']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
306                                                            <#assign DocText = xPathSelector.selectSingleNode(cur_Documenti_ev_first).getStringValue() > 
307                                                         
308                                                            <#if SingleFile?trim?has_content> 
309                                                                <#assign JSONObj  = jsonFactoryUtil.createJSONObject(SingleFile)  > 
310                                     
311                                                                <#assign classPK = JSONObj.classPK?number > 
312                                                                 
313                                                                <#assign FileEntry = DLFileEntryLocalService.getDLFileEntry(classPK)> 
314                                                			     
315                                                			    <#assign FolderId = FileEntry.getFolderId()> 
316                                                			    <#assign FileName = FileEntry.title> 
317                                                                <#assign FileNameUrl = FileName> 
318                                                                <#assign Url = themeDisplay.getPortalURL() + themeDisplay.getPathContext() + "/documents/" + themeDisplay.getScopeGroupId() + "/" + FolderId + "/" + FileNameUrl> 
319                                                                 
320                                                                <#if DocTitle?trim?has_content> 
321                                                                    <#assign DocName = DocTitle> 
322                                                                <#else> 
323                                                                    <#assign DocName = FileName> 
324                                                                </#if> 
325                                                    			 
326                                                    			<#if DocText?trim?has_content> 
327                                                    			    <div class="pre_file_dl">${DocText}</div> 
328                                                    			</#if> 
329                                                    			<div class="single_dl_file d-flex align-items-center mb-4 mt-3 pb-4"> 
330                                                    				<i class="fas fa-file-download"></i> 
331                                                    				<a href="${Url}" target="_blank" class="pl-4">${DocName} (${getDocumentSize(FileEntry.size)})</a> 
332                                                    			</div>  
333                     
334                                                			</#if> 
335                                                			</div> 
336                                                        </#if> 
337                                        			 </#list> 
338                                    			 </div> 
339                                            </div> 
340                                        </#if> 
341                                    </#if> 
342                                </#list> 
343                            </div> 
344                        </div> 
345                    </#if> 
346                </#if> 
347<#------------- FINE PRIMO BLOCCO REDAZIONALE --> 
348                 
349 
350                 
351<#------------- INIZIO BLOCCO IN EVIDENZA --> 
352                <#if EvidenceBlocks?has_content>  
353                    <#assign  
354                        TestArray = EvidenceBlocks[0] 
355                        xPathSelector = saxReaderUtil.createXPath("dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") 
356                        Check = xPathSelector.selectSingleNode(TestArray).getStringValue()  
357                    /> 
358                    <#if Check?? && Check?has_content> 
359                        <div class="row row_evidence pb-5"> 
360                            <div class="main_cage"> 
361                                <#list EvidenceBlocks as SingleEv> 
362                                    <#-- GET dynamic-content (titolo) --> 
363                                    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
364                                    <#assign Title = xPathSelector.selectSingleNode(SingleEv).getStringValue() > 
365     
366                                    <#-- GET EvImage --> 
367                                    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='EvImage']") > 
368                                    <#assign EvImage = xPathSelector.selectSingleNode(SingleEv) > 
369     
370                                    <#-- GET EvContent --> 
371                                    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='EvContent']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
372                                    <#assign Content = xPathSelector.selectSingleNode(SingleEv).getStringValue() > 
373                                     
374                                    <#-- GET ExtLink --> 
375                                    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='EvExtLink']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
376                                    <#assign ExtLink = xPathSelector.selectSingleNode(SingleEv).getStringValue() > 
377                                     
378                                     
379                                    <#-- GET RelatedPage --> 
380                                    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='EvRelatedPage']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
381                                    <#assign RelatedPageStr = xPathSelector.selectSingleNode(SingleEv).getStringValue() > 
382                                     
383                                    <#if RelatedPageStr?trim?has_content>  
384                                        <#assign linkGroupId    = RelatedPageStr?keep_after("public@")?trim?number > 
385                                        <#assign linkPageId     = RelatedPageStr?keep_before("@public")?trim?number> 
386                                        <#assign linkPrivate    = false> 
387                                         
388                                        <#-- get layout --> 
389                                        <#assign layoutLocalService = staticUtil["com.liferay.portal.kernel.service.LayoutLocalServiceUtil"]> 
390                                        <#assign pageLayout = layoutLocalService.getLayout(linkGroupId, linkPrivate, linkPageId)> 
391                                 
392                                        <#-- get Friendly URL --> 
393                                        <#assign portalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"]> 
394                                        <#assign friendly_page_link = portalUtil.getLayoutFriendlyURL(pageLayout, themeDisplay)> 
395                                    </#if> 
396                                     
397                                    <#if SingleEv?index == 0>  
398                                        <#assign EvClass = "" > 
399                                    <#else> 
400                                        <#assign EvClass = "mt-5" > 
401                                    </#if> 
402                                     
403                                    <div class="block_evidence ${EvClass}"> 
404                                        <#if Title?? && Title?trim?has_content>  
405                                            <h2 class="section_title"><span>${htmlUtil.replaceNewLine(Title)}</span></h2> 
406                                        </#if> 
407                                         
408                                        <div class="row"> 
409                                            <#if EvImage?? && EvImage?has_content>  
410                                                <#if EvImage?trim?has_content> 
411                                                    <#if EvImage.getStringValue()?trim?has_content> 
412                                                        <#assign WithImgClass = "col-sm-7" > 
413                                                    <#else> 
414                                                        <#assign WithImgClass = "col-sm-12" > 
415                                                    </#if> 
416                                                </#if> 
417                                            </#if> 
418                                         
419                                             
420                                            <#if EvImage?? && EvImage?has_content>  
421                                                <#if EvImage?trim?has_content> 
422                                                    <#if EvImage.getStringValue()?trim?has_content> 
423                                                        <div class="col-sm-5"  data-aos="fade-right"> 
424                                                        <#assign immagine = EvImage.getStringValue()> 
425                                                        <#assign 
426                                                            jsonField = jsonFactoryUtil.createJSONObject(immagine) 
427                                                            fileEntryId = jsonField.classPK?number 
428                                                            fileEntry = DLAppLocalServiceUtil.getFileEntryByUuidAndGroupId(jsonField.uuid, groupId) 
429                                                            Image = "/documents/" + jsonField.groupId + "/" + fileEntry.folderId + "/" + jsonField.title + "/" + jsonField.uuid 
430                                                        /> 
431             
432                                                        <img class="lazy-load" datasrc="${getPrefix(Image, 720, 480)}" src="" alt="${jsonField.alt}"> 
433                                                        </div> 
434                                                    </#if> 
435                                                </#if> 
436                                            </#if> 
437                                             
438                                            <div class="${WithImgClass}"  data-aos="fade-left"> 
439                                                <#if Content?trim?has_content>  
440                                                    <div class="redational_content">${Content}</div> 
441                                                </#if> 
442                                                <#if ExtLink?trim?has_content>  
443                                                    <a href="${ExtLink}" target="_blank">${getLabel("Scopri_di_più")}</a> 
444                                                <#elseif friendly_page_link?? && friendly_page_link?trim?has_content>  
445                                                    <a href="${friendly_page_link}">${getLabel("Scopri_di_più")}</a> 
446                                                </#if> 
447                                            </div> 
448                                        </div> 
449                                    </div> 
450                                 
451                                </#list> 
452                            </div> 
453                        </div> 
454                    </#if> 
455                </#if> 
456<#------------- FINE BLOCCO IN EVIDENZA --> 
457                 
458                 
459                 
460                 
461<#------------- INIZIO SECONDO BLOCCO REDAZIONALE --> 
462                <#if SecondRedationalBlocks?has_content>  
463                    <#assign  
464                        TestArray = SecondRedationalBlocks[0] 
465                        xPathSelector = saxReaderUtil.createXPath("dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") 
466                        Check = xPathSelector.selectSingleNode(TestArray).getStringValue()  
467                    /> 
468                    <#if Check?? && Check?has_content> 
469                        <div class="row row_redational pb-5" data-aos="fade-down"> 
470                            <div class="main_cage"> 
471                                <#list SecondRedationalBlocks as SingleBlock> 
472                                    <#-- GET dynamic-content (titolo) --> 
473                                    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
474                                    <#assign Title = xPathSelector.selectSingleNode(SingleBlock).getStringValue() > 
475                                    <#if Title?trim?has_content>  
476                                        <h2 class="section_title"><span>${htmlUtil.replaceNewLine(Title)}</span></h2> 
477                                    </#if> 
478                                     
479                                    <#-- GET 2nd_Content --> 
480                                    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='2nd_Content']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
481                                    <#assign Content = xPathSelector.selectSingleNode(SingleBlock).getStringValue() > 
482                                    <#if Content?trim?has_content>  
483                                        <div class="redational_content pb-5">${Content}</div> 
484                                    </#if> 
485                                     
486                                    <#-- GET 2nd_Gallery --> 
487                                    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='2nd_Gallery']") > 
488                                    <#assign Gallery = xPathSelector.selectNodes(SingleBlock) > 
489                                     
490                                    <#if Gallery?has_content>  
491                                        <#if Gallery[0].getStringValue()?trim?has_content> 
492                                            <div class="row gallery pb-5"> 
493                                                <#list Gallery as SingleImage> 
494                                                    <#if SingleImage?? && SingleImage?trim?has_content> 
495                                                        <#if SingleImage.getStringValue()?trim?has_content> 
496                                                            <#assign immagine = SingleImage.getStringValue()> 
497                                                            <#assign 
498                                                                jsonField = jsonFactoryUtil.createJSONObject(immagine) 
499                                                                fileEntryId = jsonField.classPK?number 
500                                                                fileEntry = DLAppLocalServiceUtil.getFileEntryByUuidAndGroupId(jsonField.uuid, groupId) 
501                                                                Image = "/documents/" + jsonField.groupId + "/" + fileEntry.folderId + "/" + jsonField.title + "/" + jsonField.uuid 
502                                                            /> 
503                                                             
504                                                            <div class="col-sm-6 col-md-4"> 
505                                                                <a class="magnific" href="${Image}"> 
506                                                                    <img class="lazy-load" datasrc="${getPrefix(Image, 720, 480)}" src="" alt="${jsonField.alt}"> 
507                                                                </a> 
508                                                            </div> 
509                                                        </#if> 
510                                                    </#if> 
511                                                </#list> 
512                                            </div> 
513                                        </#if> 
514                                    </#if> 
515                                     
516                                    <#-- GET 2nd_Video --> 
517                                    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='2nd_Video']") > 
518                                    <#assign Videos = xPathSelector.selectNodes(SingleBlock) > 
519                                     
520                                    <#if Videos?? && Videos?has_content>  
521                                        <#if Videos[0].getStringValue()?trim?has_content> 
522                                            <div class="row row_video pb-5"> 
523                                                <#list Videos as SingleVideo> 
524                                                    <#assign VideoStr   = SingleVideo.getStringValue() > 
525                                                    <#assign YTUrl      = VideoStr?keep_before("watch?v=")?trim > 
526                                                    <#assign VideoId    = VideoStr?keep_after("watch?v=")?trim> 
527                                                    <#assign UrlVideo   = VideoStr?replace("watch?v=", "embed/")?trim > 
528                                                 
529                                                    <#if VideoStr?trim?has_content>  
530                                                        <div class="col-sm-6"> 
531                                                            <div class="single_video"> 
532                                                                <div class="video-container"> 
533                                                                    <iframe src="${UrlVideo}?showinfo=1&rel=0&autoplay=0" frameborder="0" allowfullscreen></iframe> 
534                                                                </div> 
535                                                            </div> 
536                                                        </div> 
537                                                    </#if> 
538                                                </#list> 
539                                            </div> 
540                                        </#if> 
541                                    </#if> 
542                                 
543                                    <#-- GET DocumentiEv --> 
544                                    <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Files_ev']") > 
545                                    <#assign DocumentiEv = xPathSelector.selectNodes(SingleBlock) > 
546                                 
547                                    <#if DocumentiEv?has_content>  
548                                         
549                                        <#if DocumentiEv[0].getStringValue()?trim?has_content> 
550                                            <div class="row area_download" data-aos="fade-in"> 
551                                                <div class="main_cage"> 
552                                                     
553                                                    <#list DocumentiEv as cur_Documenti_ev>  
554                             
555                                                        <#if cur_Documenti_ev.getData()?? && cur_Documenti_ev.getData() != ""> 
556                                                            <div class="contain_row_file"> 
557                                                         
558                                                            <#-- GET dynamic-content (FILE) --> 
559                                                            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
560                                                            <#assign SingleFile = xPathSelector.selectSingleNode(cur_Documenti_ev).getStringValue() > 
561                                                             
562                                                            <#-- GET TITLE --> 
563                                                            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Doc_title_ev']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
564                                                            <#assign DocTitle = xPathSelector.selectSingleNode(cur_Documenti_ev).getStringValue() > 
565                                                             
566                                                            <#-- GET TEXT --> 
567                                                            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Doc_text']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
568                                                            <#assign DocText = xPathSelector.selectSingleNode(cur_Documenti_ev).getStringValue() > 
569                                                         
570                                                            <#if SingleFile?trim?has_content> 
571                                                                <#assign JSONObj  = jsonFactoryUtil.createJSONObject(SingleFile)  > 
572                                     
573                                                                <#assign classPK = JSONObj.classPK?number > 
574                                                                 
575                                                                <#assign FileEntry = DLFileEntryLocalService.getDLFileEntry(classPK)> 
576                                                			     
577                                                			    <#assign FolderId = FileEntry.getFolderId()> 
578                                                			    <#assign FileName = FileEntry.title> 
579                                                                <#assign FileNameUrl = FileName> 
580                                                                <#assign Url = themeDisplay.getPortalURL() + themeDisplay.getPathContext() + "/documents/" + themeDisplay.getScopeGroupId() + "/" + FolderId + "/" + FileNameUrl> 
581                                                                 
582                                                                <#if DocTitle?trim?has_content> 
583                                                                    <#assign DocName = DocTitle> 
584                                                                <#else> 
585                                                                    <#assign DocName = FileName> 
586                                                                </#if> 
587                                                    			 
588                                                    			<#if DocText?trim?has_content> 
589                                                    			    <div class="pre_file_dl">${DocText}</div> 
590                                                    			</#if> 
591                                                    			<div class="single_dl_file d-flex align-items-center mb-4 mt-3 pb-4"> 
592                                                    				<i class="fas fa-file-download"></i> 
593                                                    				<a href="${Url}" target="_blank" class="pl-4">${DocName} (${getDocumentSize(FileEntry.size)})</a> 
594                                                    			</div>  
595                     
596                                                			</#if> 
597                                                			</div> 
598                                                        </#if> 
599                                        			 </#list> 
600                                    			 </div> 
601                                            </div> 
602                                        </#if> 
603                                    </#if> 
604                                </#list> 
605                            </div> 
606                        </div> 
607                    </#if> 
608                </#if> 
609<#------------- FINE SECONDO BLOCCO REDAZIONALE --> 
610                 
611                 
612 
613<#------------- INIZIO CONTENUTI RELAZIONATI --> 
614                <#if Relations?has_content>  
615 
616                    <#assign  
617                        TestArray = Relations[0] 
618                        xPathSelector = saxReaderUtil.createXPath("dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") 
619                        Check = xPathSelector.selectSingleNode(TestArray).getStringValue()  
620                    /> 
621                    <#if Check?? && Check?has_content>  
622 
623                 
624                        <#list Relations as Relation> 
625         
626                            <#-- GET dynamic-content (TITOLO) --> 
627                            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
628                            <#assign Title = xPathSelector.selectSingleNode(Relation).getData() > 
629         
630                            <#-- GET TEXTREL --> 
631                            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='TxtRel']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
632                            <#assign TxtRel = xPathSelector.selectSingleNode(Relation).getStringValue() > 
633         
634                            <#-- GET VIEW TYPE --> 
635                            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='ViewType']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
636                            <#assign ViewType = xPathSelector.selectSingleNode(Relation).getStringValue() > 
637         
638                            <#-- GET PAGE_RELATED --> 
639                            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='RelatedContents']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
640                            <#assign RelatedContents = xPathSelector.selectNodes(Relation) > 
641                             
642                            <div class="row row_relations pb-5"> 
643                                <div class="main_cage"> 
644                                 
645                                    <#if Title?trim?has_content> 
646                                        <h2 class="section_title"><span>${htmlUtil.replaceNewLine(Title)}</span></h2> 
647                                    </#if> 
648                                     
649                                    <#if TxtRel?trim?has_content> 
650                                        <div class="txt_rel pb-5"> 
651                                            ${TxtRel} 
652                                        </div> 
653                                    </#if> 
654                                     
655                                    <div class="${ViewType} contain_relations"> 
656                                        <#list RelatedContents as SingleContent> 
657                                            <#if SingleContent.getStringValue()?trim?has_content> 
658                                                <#assign SC2Str = SingleContent.getStringValue() > 
659                                                <#assign JSONObj  = jsonFactoryUtil.createJSONObject(SC2Str)  > 
660                     
661                                                <#assign classPK = JSONObj.classPK?number > 
662                                                 
663                                                <#assign singleEntry = getRelatedArticles(classPK) > 
664                                                 
665                                                <#assign Title       = getBaseField(singleEntry, "Title") > 
666                                                <#assign Abstract    = getBaseField(singleEntry, "Abstract") > 
667                                                <#assign immagine    = getBaseField(singleEntry, "Image") > 
668             
669                                                 
670                                                <#if immagine?trim?has_content> 
671                                                    <#assign 
672                                                        jsonField = jsonFactoryUtil.createJSONObject(immagine) 
673                                                        fileEntryId = jsonField.classPK?number 
674                                                        fileEntry = DLAppLocalServiceUtil.getFileEntryByUuidAndGroupId(jsonField.uuid, groupId) 
675                                                        Image = "/documents/" + jsonField.groupId + "/" + fileEntry.folderId + "/" + jsonField.title + "/" + jsonField.uuid 
676                                                    /> 
677                                                <#else> 
678                                                    <#assign Image = "https://via.placeholder.com/450x300?text=Placeholder"> 
679                                                </#if> 
680                                                 
681                                                 
682                                                <#assign renderer = singleEntry.getAssetRenderer() > 
683                                                <#assign className = renderer.getClassName() > 
684                                                <#if className == "com.liferay.journal.model.JournalArticle" > 
685                                                    <#assign journalArticle = renderer.getArticle() > 
686             
687                                                    <#assign  
688                                                        JCSLS = serviceLocator.findService("com.liferay.journal.service.JournalContentSearchLocalService")  
689                                                        groupId   = journalArticle.getGroupId() 
690                                                        articleId = journalArticle.getArticleId() 
691                                                        layoutIds = JCSLS.getLayoutIds(groupId, false, articleId) 
692                                                        layoutIdsCount = JCSLS.getLayoutIdsCount(articleId) 
693                                                    /> 
694                                                     
695                                                     
696                                                    <#assign 
697                                                        mkspAPI = serviceLocator.findService("eu.suggesto.suggestogui.service.SuggestoGuiLocalService") 
698                                                        serverName = request.getServerName() 
699                                                        viewUrl = mkspAPI.getArticleUrl(groupId, serverName, articleId, localeUtil.fromLanguageId(themeDisplay.getLocale()), defLng, "/placeholder") 
700                                                    /> 
701                                             
702                                                </#if> 
703                                                 
704                                                <#if Title?? && Title != "">  
705                                                    <div class="single_relation" data-aos="zoom-in"> 
706                                                        <a href="${viewUrl}"> 
707                                                            <div class="related_img"> 
708                                                                <img class="lazy-load" datasrc="${getPrefix(Image, 720, 480)}" src="" alt="${jsonField.alt}"/> 
709                                                            </div> 
710                                                            <div class="related_content"> 
711                                                                <div class="rel_title">${Title}</div> 
712                                                                <div class="rel_abstract">${Abstract}</div> 
713                                                            </div>  
714                                                        </a> 
715                                                    </div> 
716                                                </#if> 
717                                            </#if> 
718                                        </#list> 
719                                    </div> 
720                                </div> 
721                            </div> 
722                        </#list> 
723                    </#if> 
724                </#if> 
725<#------------- FINE CONTENUTI RELAZIONATI --> 
726 
727 
728 
729<#------------- INIZIO BLOCCHI PERSONALIZZATI --> 
730<#-- GET CustomBlocks (CustomBoxs, CustomLinkPage, CustomBlockImg, CustomBlockTitle, CustomBlockDesc) --> 
731    <#if CustomBlocks?has_content>  
732 
733        <#-- GET dynamic-content (TITOLO) --> 
734        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
735        <#assign Title = xPathSelector.selectSingleNode(CustomBlocks).getData() > 
736 
737        <#-- GET PAGE_RELATED --> 
738        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='CustomLinkPage']") > 
739        <#assign RelatedPages = xPathSelector.selectNodes(CustomBlocks) > 
740         
741        <div class="row row_relations pb-5"> 
742            <div class="main_cage"> 
743             
744                <#if Title?trim?has_content> 
745                    <h2 class="section_title"><span>${htmlUtil.replaceNewLine(Title)}</span></h2> 
746                </#if> 
747                 
748                <div class="box_view contain_relations"> 
749                    <#list RelatedPages as SingleContent> 
750                         
751                        <#-- GET dynamic-content (SinglePage) --> 
752                        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
753                        <#assign SinglePage = xPathSelector.selectSingleNode(SingleContent).getStringValue() > 
754                         
755                        <#if SinglePage?trim?has_content> 
756                         
757                            <#assign RelatedPageStr = SinglePage?trim > 
758                             
759                            <#if RelatedPageStr?trim?has_content>  
760                                <#assign linkGroupId    = RelatedPageStr?keep_after("public@")?trim?number > 
761                                <#assign linkPageId     = RelatedPageStr?keep_before("@public")?trim?number> 
762                                <#assign linkPrivate    = false> 
763                                 
764                                <#-- get layout --> 
765                                <#assign layoutLocalService = staticUtil["com.liferay.portal.kernel.service.LayoutLocalServiceUtil"]> 
766                                <#assign pageLayout = layoutLocalService.getLayout(linkGroupId, linkPrivate, linkPageId)> 
767                         
768                                <#-- get Friendly URL --> 
769                                <#assign portalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"]> 
770                                <#assign friendly_page_link = portalUtil.getLayoutFriendlyURL(pageLayout, themeDisplay)> 
771                            </#if> 
772                             
773                            <#-- GET CustomBlockImg --> 
774                            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='CustomBlockImg']") > 
775                            <#assign CustomBlockImg = xPathSelector.selectSingleNode(SingleContent) > 
776                             
777                            <#-- GET CustomBlockTitle --> 
778                            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='CustomBlockTitle']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
779                            <#assign CustomBlockTitle = xPathSelector.selectSingleNode(SingleContent).getStringValue() > 
780                             
781                            <#-- GET CustomBlockDesc --> 
782                            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='CustomBlockDesc']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
783                            <#assign CustomBlockDesc = xPathSelector.selectSingleNode(SingleContent).getStringValue() > 
784                             
785                            <#if CustomBlockImg?? && CustomBlockImg?has_content>  
786                                <#if CustomBlockImg?trim?has_content> 
787                                    <#if CustomBlockImg.getStringValue()?trim?has_content> 
788                                        <#assign immagine = CustomBlockImg.getStringValue()> 
789                                        <#assign 
790                                            jsonField = jsonFactoryUtil.createJSONObject(immagine) 
791                                            fileEntryId = jsonField.classPK?number 
792                                            fileEntry = DLAppLocalServiceUtil.getFileEntryByUuidAndGroupId(jsonField.uuid, groupId) 
793                                            Image = "/documents/" + jsonField.groupId + "/" + fileEntry.folderId + "/" + jsonField.title + "/" + jsonField.uuid 
794                                        /> 
795                                         
796                                        <div class="single_relation" data-aos="zoom-in"> 
797                                            <a href="${friendly_page_link}"> 
798                                                <div class="related_img"> 
799                                                    <img class="lazy-load" datasrc="${getPrefix(Image, 720, 480)}" src="" alt="${jsonField.alt}"> 
800                                                </div> 
801                                                <div class="related_content"> 
802                                                    <#if CustomBlockTitle?? && CustomBlockTitle != "">  
803                                                        <div class="rel_title">${CustomBlockTitle}</div> 
804                                                    </#if> 
805                                                    <#if CustomBlockDesc?? && CustomBlockDesc != "">  
806                                                        <div class="rel_abstract"><p>${CustomBlockDesc}</p></div> 
807                                                    </#if> 
808                                                </div>  
809                                            </a> 
810                                        </div> 
811                                    </#if> 
812                                </#if> 
813                            </#if> 
814                        </#if> 
815                    </#list> 
816                </div> 
817            </div> 
818        </div> 
819    </#if> 
820<#------------- FINE BLOCCHI PERSONALIZZATI --> 
821                 
822                 
823<#------------- INIZIO DOWNLOAD --> 
824                <#if Documenti?has_content>  
825                     
826                    <#if Documenti[0].getStringValue()?trim?has_content> 
827                        <div class="row area_download  pb-5" data-aos="fade-in"> 
828                            <div class="main_cage"> 
829                                <h2 class="section_title"><span>${getLabel("Area")}<br/> 
830                                ${getLabel("download")}:</span></h2> 
831 
832                                 
833                                <#list Documenti as cur_Documenti>  
834         
835                                    <#if cur_Documenti.getData()?? && cur_Documenti.getData() != ""> 
836                                     
837                                        <#-- GET dynamic-content (FILE) --> 
838                                        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
839                                        <#assign SingleFile = xPathSelector.selectSingleNode(cur_Documenti).getStringValue() > 
840                                         
841                                        <#-- GET TITLE --> 
842                                        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Doc_title']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']") > 
843                                        <#assign DocTitle = xPathSelector.selectSingleNode(cur_Documenti).getStringValue() > 
844                                     
845                                        <#if SingleFile?trim?has_content> 
846                                            <#assign JSONObj  = jsonFactoryUtil.createJSONObject(SingleFile)  > 
847                 
848                                            <#assign classPK = JSONObj.classPK?number > 
849                                             
850                                            <#assign FileEntry = DLFileEntryLocalService.getDLFileEntry(classPK)> 
851                            			     
852                            			    <#assign FolderId = FileEntry.getFolderId()> 
853                            			    <#assign FileName = FileEntry.title> 
854                                            <#assign FileNameUrl = FileName> 
855                                            <#assign Url = themeDisplay.getPortalURL() + themeDisplay.getPathContext() + "/documents/" + themeDisplay.getScopeGroupId() + "/" + FolderId + "/" + FileNameUrl> 
856                                             
857                                            <#if DocTitle?trim?has_content> 
858                                                <#assign DocName = DocTitle> 
859                                            <#else> 
860                                                <#assign DocName = FileName> 
861                                            </#if> 
862                                			 
863                                			<div class="single_dl_file d-flex align-items-center"> 
864                                				<i class="fas fa-file-download"></i> 
865                                				<a href="${Url}" target="_blank" class="pl-4">${DocName} (${getDocumentSize(FileEntry.size)})</a> 
866                                			</div>  
867 
868                            			</#if> 
869                                    </#if> 
870                    			 </#list> 
871                			 </div> 
872                        </div> 
873                    </#if> 
874                </#if> 
875<#------------- FINE DOWNLOAD --> 
876 
877 
878 
879<#------------- INIZIO AGGREGATORE MOSTRE --> 
880                <#if ShowExhibitions?has_content && ShowExhibitions?trim == '1'>  
881                    <@liferay_portlet["runtime"] 
882                        defaultPreferences="${preferences}" 
883                        portletProviderAction=portletProviderAction.VIEW 
884                        instanceId="get_exhibitions" 
885                        portletName="com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet" 
886                        <#-- queryString="categoryId=${areaId}" -->  
887                    /> 
888                </#if> 
889<#------------- FINE AGGREGATORE MOSTRE --> 
890 
891 
892 
893<#------------- INIZIO AGGREGATORE NEWS --> 
894                <@liferay_portlet["runtime"] 
895                    defaultPreferences="${preferences}" 
896                    portletProviderAction=portletProviderAction.VIEW 
897                    instanceId="get_news" 
898                    portletName="com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet" 
899                    <#-- queryString="categoryId=${IdCat}" --> 
900                /> 
901<#------------- FINE AGGREGATORE NEWS --> 
902 
903                 
904            </#if> 
905        </#list> 
906    </#if> 
907</div> 
908 
909 
910<#-- getArticles from classPK --> 
911<#function getRelatedArticles classPK> 
912    <#assign 
913        JALS = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
914        ALLS = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService") 
915        AELS = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
916        currentArticleResourcePrimKey = classPK 
917        currentArticleAssetEntry = AELS.getEntry("com.liferay.journal.model.JournalArticle", currentArticleResourcePrimKey) 
918        currentArticleAssetEntryId = currentArticleAssetEntry.getEntryId() 
919        currentArticleRelatedLinks = ALLS.getDirectLinks(currentArticleAssetEntryId) 
920    /> 
921         
922    <#return currentArticleAssetEntry> 
923</#function> 
924 
925 
926<#-- getBaseField Value from entry --> 
927<#function getBaseField singleEntry fieldName> 
928    <#assign renderer = singleEntry.getAssetRenderer() > 
929    <#assign className = renderer.getClassName() > 
930    <#assign field = "" > 
931    <#if className == "com.liferay.journal.model.JournalArticle" > 
932        <#assign journalArticle = renderer.getArticle() > 
933        <#assign document = saxReaderUtil.read(journalArticle.getContent()) > 
934        <#assign rootElement = document.getRootElement() > 
935        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='" + fieldName + "']") > 
936         
937        <#if xPathSelector.selectSingleNode(rootElement)??> 
938            <#assign field = xPathSelector.selectSingleNode(rootElement).getStringValue() > 
939        </#if> 
940 
941    </#if> 
942         
943    <#return field> 
944</#function> 
945 
946<#function getDocumentSize bytes> 
947    <#if (bytes < 1024)> 
948        <#assign result = bytes + "b"> 
949    <#elseif (bytes < 1048576)> 
950        <#assign result = (bytes/1024)?round + "kb"> 
951    <#elseif (bytes < 1073741824)> 
952        <#assign result = (bytes/1048576)?round + "mb"> 
953    <#else> 
954        <#assign result = (bytes/1073741824)?round + "gb"> 
955    </#if> 
956     
957    <#return result> 
958</#function> 
959 
960 
961<#function getPrefix img width height> 
962    <#assign 
963        baseUrl = "https://d28r45jypu6nt9.cloudfront.net/o/d40/img/" 
964        siteUrl = themeDisplay.getURLPortal()?replace("://", ".") 
965        w = width 
966        h = height 
967    /> 
968    <#if height?is_string> 
969        <#assign prefix = baseUrl + "w_" + w + "/" + siteUrl> 
970    <#else> 
971        <#assign prefix = baseUrl + "w_" + w + ",h_" + h + "/" + siteUrl> 
972    </#if> 
973     
974    <#if !img?contains("/documents/")> 
975        <#assign prefix = ""> 
976    </#if> 
977     
978    <#return prefix + img> 
979</#function> 
980 
981<#function getLabel label> 
982    <#return mkspAPI.msg(companyId, groupId, label, locale, "it", locale)> 
983</#function>