Conventions (Italian language only)

Assofond organizes every two years the Italian Foundry Convention, which is splitted into an economic-political session, dedicated to the discussion between the associated entrepreneurs on the scenarios and trends of the sector, and a technical session, dedicated to professional updating for foundry technicians, with speeches by university professors and researchers, scholars, suppliers and experts in the industry.
 

Back 34° Congresso di fonderia | sessioni tecniche

An error occurred while processing the template.
The following has evaluated to null or missing:
==> fileEntryURLParts[3]  [in template "20115#20151#40871" at line 102, column 54]

----
Tip: It's the final [] step that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign fileEntryUuid = fileEntryURLP...  [in template "20115#20151#40871" at line 102, column 29]
----
1<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
2<#assign dlAppLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService")> 
3<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")> 
4 
5<#assign themeDisplay = serviceContext.getThemeDisplay() /> 
6<#assign currentUrl = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() /> 
7 
8<#assign DataEvento_Data = getterUtil.getString(DataEvento.getData())> 
9<#assign DataFineEvento_Data = getterUtil.getString(DataFineEvento.getData())> 
10 
11<#if Immagine_social?? && Immagine_social.getData() !=''> 
12    <#assign imgSocial = themeDisplay.getPortalURL() + Immagine_social.getData() /> 
13    <#if imgSocial?contains("/image/journal/article")?string == 'true'> 
14        <@liferay_util["html-top"]> 
15            <meta property="og:image" content="${imgSocial?replace('@','')?replace('cdn_hostroot_path','')}"> 
16            <meta name="twitter:image" content="${imgSocial?replace('@','')?replace('cdn_hostroot_path','')}"> 
17        </@> 
18    <#else> 
19        <#assign last = imgSocial?replace('@','')?replace('cdn_hostroot_path','')?last_index_of('/')> 
20        <@liferay_util["html-top"]> 
21            <meta property="og:image" content="${imgSocial?replace('@','')?replace('cdn_hostroot_path','')?substring(0, last)}"> 
22            <meta name="twitter:image" content="${imgSocial?replace('@','')?replace('cdn_hostroot_path','')?substring(0, last)}"> 
23        </@> 
24    </#if> 
25<#else> 
26    <#assign imagesPath = getterUtil.getString(themeDisplay.getPathThemeImages()) /> 
27    <@liferay_util["html-top"]> 
28        <meta property="og:image" content="${imagesPath}/immagine_social.png"> 
29        <meta name="twitter:image" content="${imagesPath}/immagine_social.png"> 
30    </@> 
31</#if> 
32 
33<article class="news event"> 
34    <div class="h2"> 
35        <span class="header-back-to"> 
36            <a onClick="window.history.go(-1)" style="text-decoration:none"> 
37                <svg aria-hidden="true" class="lexicon-icon lexicon-icon-angle-left"> 
38                    <use xlink:href="${themeDisplay.getPathThemeImages()}/lexicon/icons.svg#angle-left"></use> 
39                </svg> 
40            </a> 
41        </span> 
42        <span class="header-title"> 
43            <#if Titolo.getData() !=''> 
44                ${Titolo.getData()} 
45            <#else> 
46                ${.vars['reserved-article-title'].data} 
47            </#if> 
48        </span> 
49    </div> 
50    <date> 
51        <i class="far fa-calendar-check"></i> 
52        <#if validator.isNotNull(DataEvento_Data)> 
53            <#assign start = dateUtil.parseDate("yyyy-MM-dd", DataEvento_Data, locale) /> 
54            <#assign startDay = start?string("dd") /> 
55            <#assign startMonth = start?string("MM") /> 
56            <#assign startYear = start?string("YYYY") /> 
57            <#assign end = dateUtil.parseDate("yyyy-MM-dd", DataFineEvento_Data, locale) /> 
58            <#assign endDay = end?string("dd") /> 
59            <#assign endMonth = end?string("MM") /> 
60            <#assign endYear = end?string("YYYY") /> 
61        </#if> 
62        <#if startDay != endDay || startMonth != endMonth || startYear != endYear> 
63            ${startDay}.${startMonth}.${startYear} - ${endDay}.${endMonth}.${endYear} 
64        <#else> 
65            ${startDay}.${startMonth}.${startYear} 
66        </#if> 
67        <#if OraEvento.getData() !=''> 
68            <br><i class="far fa-clock"></i> 
69            ${OraEvento.getData()} 
70        </#if> 
71    </date> 
72    ${Testo.getData()} 
73    <#if Immagine.getData() !=''> 
74        <div class="owl-carousel owl-theme" id="owl-carousel-news"> 
75            <#list Immagine.getSiblings() as cur_Immagine> 
76                <#if cur_Immagine.getData()?? && cur_Immagine.getData() != ""> 
77                    <img data-fileentryid="${cur_Immagine.getAttribute("fileEntryId")}" alt="${cur_Immagine.getAttribute("alt")}" src="${cur_Immagine.getData()}" /> 
78                </#if> 
79            </#list> 
80        </div> 
81    </#if> 
82 
83    <#assign hasRaccoltaFileText = RaccoltaFile.getData() !='' /> 
84    <#assign hasRaccoltaFileDownload = RaccoltaFile.Download?? && RaccoltaFile.Download.getData() !='' /> 
85    <#assign hasRaccoltaFileUrl = RaccoltaFile.Url?? && RaccoltaFile.Url.getData() !='' /> 
86 
87    <div id="myToggler"> 
88 
89        <#if hasRaccoltaFileText && (hasRaccoltaFileDownload || hasRaccoltaFileUrl)> 
90            <#list RaccoltaFile.getSiblings() as node> 
91                <div class="header toggler-header-collapsed"> 
92                    ${node.getData()} 
93                </div> 
94                <div class="content toggler-content-collapsed"> 
95                    <#if hasRaccoltaFileDownload > 
96                        <ul style="list-style:none;padding:0"> 
97                        <#list RaccoltaFile.Download.getSiblings() as sub> 
98 
99                            <#assign fileEntryURL = sub.getData() /> 
100                            <#assign fileEntryURLParts = fileEntryURL?keep_before("?")?keep_after("/documents/")?split("/")/> 
101                            <#assign fileEntryGroupId = getterUtil.getLong(fileEntryURLParts[0]) /> 
102                            <#assign fileEntryUuid = fileEntryURLParts[3] /> 
103                            <#assign fileEntry = dlAppLocalService.getFileEntryByUuidAndGroupId(fileEntryUuid, fileEntryGroupId) /> 
104                            <#assign fileEntryAssetEntry = assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry", 
105                                fileEntry.getFileEntryId()) /> 
106                            <#assign fileEntryAssetRenderer = fileEntryAssetEntry.getAssetRenderer() /> 
107 
108                            <#if fileEntryAssetRenderer.hasViewPermission(themeDisplay.getPermissionChecker())> 
109                                <li><a href="${sub.getData()}" target="_blank" style="text-decoration:none"> 
110                                    <i class="fas fa-download"></i> 
111                                    <#if sub.LabelBottone.getData() !=''> 
112                                        ${sub.LabelBottone.getData()} 
113                                    <#else> 
114                                        <@liferay.language key="download" /> 
115                                    </#if> 
116                                </a></li> 
117                            <#else> 
118														   <li > 
119															   <i class="fas fa-download"> 
120                                   <#if sub.LabelBottone.getData() !=''> 
121                                        ${sub.LabelBottone.getData()} 
122																   </#if> 
123																 </i> 
124															</li> 
125                            </#if> 
126                        </#list> 
127                        </ul> 
128                    </#if> 
129                    <#if hasRaccoltaFileUrl> 
130                        <ul style="list-style:none;padding:0"> 
131                        <#list RaccoltaFile.Url.getSiblings() as sub> 
132                            <li><a href="http://${sub.getData()}" target="_blank" style="text-decoration:none"> 
133                                <i class="fas fa-link"></i> 
134                                <#if sub.LabelBottoneUrl.getData() !=''> 
135                                    ${sub.LabelBottoneUrl.getData()} 
136                                <#else> 
137                                    <@liferay.language key="URL" /> 
138                                </#if> 
139                            </a></li> 
140                        </#list> 
141                        </ul> 
142                    </#if> 
143                </div> 
144            </#list> 
145        </#if> 
146    </div> 
147    <#if !hasRaccoltaFileText && (hasRaccoltaFileDownload || hasRaccoltaFileUrl)> 
148        <#if hasRaccoltaFileDownload> 
149            <#list RaccoltaFile.Download.getSiblings() as sub> 
150                <#assign fileEntryURL = sub.getData() /> 
151                <#assign fileEntryURLParts = fileEntryURL?keep_before("?")?keep_after("/documents/")?split("/")/> 
152                <#assign fileEntryGroupId = getterUtil.getLong(fileEntryURLParts[0]) /> 
153                <#assign fileEntryUuid = fileEntryURLParts[3] /> 
154                <#assign fileEntry = dlAppLocalService.getFileEntryByUuidAndGroupId(fileEntryUuid, fileEntryGroupId) /> 
155                <#assign fileEntryAssetEntry = assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry", 
156                    fileEntry.getFileEntryId()) /> 
157                <#assign fileEntryAssetRenderer = fileEntryAssetEntry.getAssetRenderer() /> 
158                <div> 
159                    <#if fileEntryAssetRenderer.hasViewPermission(themeDisplay.getPermissionChecker())> 
160                        <a href="${sub.getData()}" target="_blank" class="btn btn-secondary"> 
161                            <i class="fas fa-download"></i> 
162                            <#if sub.LabelBottone.getData() !=''> 
163                                ${sub.LabelBottone.getData()} 
164                            <#else> 
165                                <@liferay.language key="download" /> 
166                            </#if> 
167                        </a> 
168                    <#else> 
169                        <li class="btn btn-secondary fas fa-download disabled"> 
170                          <#if sub.LabelBottone.getData() !=''> 
171                             ${sub.LabelBottone.getData()} 
172													</#if> 
173												</li> 
174                    </#if> 
175                </div> 
176            </#list> 
177        </#if> 
178        <#if hasRaccoltaFileUrl> 
179            <#list RaccoltaFile.Url.getSiblings() as sub> 
180                <div> 
181                    <a href="http://${sub.getData()}" target="_blank" class="btn btn-secondary"> 
182                        <i class="fas fa-link"></i> 
183                        <#if sub.LabelBottoneUrl.getData() !=''> 
184                            ${sub.LabelBottoneUrl.getData()} 
185                        <#else> 
186                            <@liferay.language key="URL" /> 
187                        </#if> 
188                    </a> 
189                </div> 
190            </#list> 
191        </#if> 
192    </#if> 
193 
194    <#if CampagnaEvento?? && CampagnaEvento.getData() !=''> 
195        <@liferay_portlet["runtime"] 
196        queryString="campaignId=${CampagnaEvento.getData()}" 
197        portletName="com_noovle_assofond_notifications_web_portlet_SubscriptionEventPortlet" /> 
198    </#if> 
199 
200    <div class="social"> 
201        <#assign twitterDataTitle = ""/> 
202        <#assign twitterDataDescription = ""/> 
203        <#if .vars['reserved-article-title'].data?has_content> 
204              <#assign twitterDataTitle = .vars['reserved-article-title'].data /> 
205        </#if> 
206        <#if .vars['reserved-article-description'].data?has_content && .vars['reserved-article-description'].data != ""> 
207              <#assign twitterDataDescription = .vars['reserved-article-description'].data /> 
208        </#if> 
209        <#assign twitterDataText = twitterDataTitle + " - " + twitterDataDescription/> 
210        <span> 
211            <#if themeDisplay.getLanguageId() == "it_IT"> 
212                Condividi su 
213            <#else> 
214                Share on 
215            </#if> 
216        </span> 
217        <a href="https://twitter.com/share" class="twitter-share-button" data-text="${htmlUtil.stripHtml(twitterDataText)}">Tweet</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> 
218          
219        <script src="//platform.linkedin.com/in.js" type="text/javascript"> lang: it_IT</script> 
220            <script type="IN/Share" data-url="${currentUrl}"></script> 
221    </div> 
222</article>     
223<script> 
224    $(document).ready(function() { 
225        var owl = $('#owl-carousel-news'); 
226        owl.owlCarousel({ 
227            loop:true, 
228            autoplay:false, 
229            autoplayTimeout:2000, 
230            nav:true, 
231            navText: [ 
232                "<a target='0' aria-hidden='true' aria-label='Vai alla slide precedente'><span class='fas fa-chevron-left'></span></a>", 
233                "<a target='0' aria-hidden='true' aria-label='Vai alla slide successiva'><span class='fas fa-chevron-right'></span></a>" 
234            ], 
235            dots:true, 
236            items:1 
237        }); 
238    }) 
239</script> 
240<script> 
241    AUI().use( 
242      'aui-toggler', 
243      function(A) { 
244        new A.TogglerDelegate( 
245
246            animated: true, 
247            closeAllOnExpand: true, 
248            container: '#myToggler', 
249            content: '.content', 
250            expanded: false, 
251            header: '.header', 
252            transition: { 
253              duration: 0.2, 
254              easing: 'cubic-bezier(0, 0.1, 0, 1)' 
255
256
257        ); 
258
259    ); 
260</script>