Ordinari - aggregator - Unical
Si è verificato un errore nell'elaborarazione del modello.
Failed to "?eval_json" string with this error:
---begin-message---
Empty JSON (contains no value)
Error location: At the end of text.
---end-message---
The failing expression:
==> file.data?eval_json [in template "20116#20152#87150" at line 60, column 96]
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign docDataJSON = file.data?eval_... [in template "20116#20152#87150" at line 60, column 73]
----
1<#assign dlAppService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService") />
2
3<#assign SPACE_KB = 1024 />
4<#assign SPACE_MB = SPACE_KB?int * 1024 />
5<#assign SPACE_GB = SPACE_MB?int * 1024 />
6<#assign SPACE_TB = SPACE_GB?int * 1024 />
7
8<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext() />
9<#assign themeDisplay = serviceContext.getThemeDisplay() />
10<#assign imagesContentPath= themeDisplay.getPathThemeImages() + "/contents"/>
11<#assign placeHolderImg = imagesContentPath + "/placeholder.jpg" />
12
13<#assign downloadFlag = "?download=true" />
14<#assign iconDefault = "fa-file-o" />
15<#assign iconMap = {"PDF", "fa-file-pdf-o",
16 "DOC", "fa-file-word-o",
17 "DOCX", "fa-file-word-o",
18 "PPT", "fa-file-powerpoint-o",
19 "PPTX", "fa-file-powerpoint-o",
20 "XLS", "fa-file-excel-o",
21 "XLSX", "fa-file-excel-o",
22 "MP4", "fa-file-video-o",
23 "AVI", "fa-file-video-o",
24 "MOV", "fa-file-video-o",
25 "MP3", "fa-file-audio-o",
26 "ZIP", "fa-file-archive-o",
27 "RAR", "fa-file-archive-o"}
28/>
29
30
31<div class="container">
32 <div class="row">
33
34 <div class="col-sm-8">
35 <div class="prodotto">
36 <h2 class="prodotto__title">${aggregatorTitle.data}</h2>
37 <#if paragraph.getSiblings()?has_content >
38 <#assign paragrpahs = paragraph.getSiblings() />
39 <#list paragrpahs as p>
40 <#if p.paragraphTitle.data?has_content>
41 <h3>${p.paragraphTitle.data}</h3>
42 </#if>
43 <#if p.paragraphBody.data?has_content>
44 <p>${p.paragraphBody.data}</p>
45 </#if>
46 </#list>
47 </#if>
48 </div>
49 </div>
50
51 <div class="col-sm-4">
52 <#if documentSection?? && documentSection.getSiblings()?has_content >
53 <#assign docSections = documentSection.getSiblings() />
54 <#list documentSection.getSiblings() as files>
55 <#if files?? && files.documentTitle?? && validator.isNotNull(files.documentTitle.data)>
56 <div>
57 <h3>${files.documentTitle.data}</h3>
58 <#if files.documentFile.getSiblings()?has_content>
59 <#list files.documentFile.getSiblings() as file>
60 <#assign docDataJSON = file.data?eval_json />
61 <#assign dlDocument = dlAppService.getFileEntryByUuidAndGroupId(docDataJSON.uuid,docDataJSON.groupId) />
62 <#assign dlDocumentSize = dlDocument.size?int />
63 <#assign dlDocumentURL = themeDisplay.getPortalURL() + "/documents/" + dlDocument.groupId + "/" + dlDocument.folderId + "/" + dlDocument.fileName?url('UTF-8') + "/" + dlDocument.uuid/>
64 <#assign dlDocumentTitle = dlDocument.getTitle() />
65
66 <#if dlDocumentSize lt SPACE_KB>
67 <#assign dlDocumentSize = dlDocumentSize?round?string + " Byte" />
68 <#elseif dlDocumentSize lt SPACE_MB>
69 <#assign dlDocumentSize = dlDocumentSize / SPACE_KB />
70 <#assign dlDocumentSize = dlDocumentSize?round?string + " KB" />
71 <#elseif dlDocumentSize lt SPACE_GB >
72 <#assign dlDocumentSize = dlDocumentSize / SPACE_MB />
73 <#assign dlDocumentSize = dlDocumentSize?round?string + " MB" />
74 <#elseif dlDocumentSize lt SPACE_TB>
75 <#assign dlDocumentSize = dlDocumentSize / SPACE_GB />
76 <#assign dlDocumentSize = dlDocumentSize?round?string + " GB" />
77 <#else>
78 <#assign dlDocumentSize = dlDocumentSize / SPACE_TB />
79 <#assign dlDocumentSize = dlDocumentSize?round?string + " TB" />
80 </#if>
81
82 <div class="file has-icon">
83 <#assign extension = dlDocument.extension?upper_case />
84 <#if iconMap[extension]?? && iconMap[extension]?has_content >
85 <#assign iconClass = iconMap[extension] />
86 <#else>
87 <#assign iconClass = iconDefault />
88 </#if>
89 <i class="fa ${iconClass}" aria-hidden="true"></i>
90 <div class="file__name">
91 <a href="${dlDocumentURL}${downloadFlag}" title="${dlDocumentTitle}" class="file__link">
92 ${dlDocumentTitle?keep_before_last(".")}
93 </a>
94 </div>
95 <div class="file__info">(${extension} ${dlDocumentSize})</div>
96 </div>
97 </#list>
98 </#if>
99 </div>
100 </#if>
101 </#list>
102 </#if>
103 </div>
104</div>
105
106
107
108<#if productsSection.product.getSiblings()?has_content >
109 <#assign products = productsSection.product.getSiblings() />
110 <#assign isProductsEmpty = false />
111 <#list products as product>
112 <#if product.productName.data?has_content && isProductsEmpty == false>
113 <div class="row">
114 <div class="col-sm-12">
115 <h2>I prodotti</h2>
116 </div>
117 </div>
118 <#assign isProductsEmpty = true />
119 </#if>
120 </#list>
121
122 <div class="placeholder-num-4">
123 <div class="row">
124 <#list products as product>
125 <div class="col-sm-6 col-md-3">
126 <#if product.productName.data?has_content>
127 <div class="placeholder clearfix">
128 <#if product.productImage.data?? && product.productImage.data?eval_json.url?? && product.productImage.data?eval_json.url?has_content >
129 <#assign imgSrc = product.productImage.data?eval_json.url />
130 <#if product.productImage.getAttribute("alt")?? && product.productImage.getAttribute("alt")?has_content >
131 <#assign imgAlt = product.productImage.getAttribute("alt")/>
132 <#else>
133 <#assign imgAlt = product.productName.data />
134 </#if>
135
136 <#else>
137 <#assign imgSrc = placeHolderImg />
138 <#assign imgAlt = "placeholder.jpg" />
139
140 </#if>
141 <#if product.productFile.data?? && product.productFile.data?eval_json.url?? && product.productFile.data?eval_json.url?has_content>
142 <#assign link = product.productFile.data?eval_json.url />
143 <#else>
144 <#assign link = "#" />
145 </#if>
146
147 <a href="${link}${downloadFlag}" title="${product.productName.data}" class="placeholder__link">
148 <img src="${imgSrc}" alt="${imgAlt}" class="placeholder__img" />
149 <#if product.productName.data?? && product.productName.data?has_content>
150 <span class="placeholder__title">${product.productName.data}</span>
151 </#if>
152 </a>
153 </div>
154 </#if>
155 </div>
156 <#if product?index %2 !=0>
157 <div class="clearfix visible-sm-block"></div>
158 </#if>
159 </#list>
160 </div>
161 </div>
162</#if>
163</div>