

I nostri servizi
An error occurred while processing the template.
The following has evaluated to null or missing: ==> blank [in template "114284#114319#565248" at line 121, column 68] ---- Tip: If the failing expression is known to be 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: ${blank} [in template "114284#114319#565248" at line 121, column 66] ----
1<#assign
2 DLAppLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
3 mkspAPI = serviceLocator.findService("eu.suggesto.suggestogui.service.SuggestoGuiLocalService")
4 catsService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")
5 serverName = request.getServerName()
6 defLng = themeDisplay.getSiteDefaultLocale()
7
8 id_vocabolario_diario = 572714
9/>
10
11<style>
12 #body-content .hp_diary.white_p p {
13 color: white;
14 }
15</style>
16
17<div class="full_diary" style="background:transparent !important;">
18 <div class="hp_diary white_p pt-sm-5 pb-5">
19 <div class="text-center pb-3 pt-3">
20 <img class="icon_diary" src="${themeDisplay.getPathThemeImages()}/green-hashtag.png"/>
21 <h2 class="pt-3">il nostro diario</h2>
22 </div>
23
24 <#if entries?has_content>
25 <#list entries as entry>
26 <#assign
27 entry = entry
28 assetRenderer = entry.getAssetRenderer()
29 className = assetRenderer.getClassName()
30 entryTitle = htmlUtil.escape(assetRenderer.getTitle(themeDisplay.getLocale()))
31 />
32
33 <#if className == "com.liferay.journal.model.JournalArticle">
34 <#assign
35 journalArticle = assetRenderer.getArticle()
36 document = saxReaderUtil.read(journalArticle.getContent())
37 rootElement = document.getRootElement()
38 />
39
40
41 <#-- FORMATTAZIONE DATA ("dataContenuto" è la data finale da usare) -->
42
43 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Datacd0n']")>
44 <#if xPathSelector.selectSingleNode(rootElement)??>
45 <#assign stringData = xPathSelector.selectSingleNode(rootElement).getStringValue()?trim>
46 <#setting locale = themeDisplay.getLocale()>
47
48 <#if validator.isNotNull(stringData)>
49 <#assign dataObj = dateUtil.parseDate("yyyy-MM-dd", stringData, locale)>
50 <#assign dataContenuto = dateUtil.getDate(dataObj, "dd MMMM yyyy", locale)>
51 <#else>
52 <#assign dataContenuto = "">
53 </#if>
54 </#if>
55
56 <#assign stringSelector = "dynamic-element[@name='ImmaginePrincipale']">
57 <#assign xPathSelector = saxReaderUtil.createXPath(stringSelector)>
58 <#if xPathSelector.selectSingleNode(rootElement)??>
59 <#assign
60 immagine = xPathSelector.selectSingleNode(rootElement).getStringValue()
61 fileEntryId = assetRenderer.getClassPK()
62 />
63 <#if immagine?trim?has_content>
64 <#assign
65 jsonField = jsonFactoryUtil.createJSONObject(immagine)
66 fileEntry = DLAppLocalServiceUtil.getFileEntryByUuidAndGroupId(jsonField.uuid, groupId)
67 immagine = "/documents/" + jsonField.groupId + "/" + fileEntry.folderId + "/" + jsonField.title + "/" + jsonField.uuid
68 />
69 <#else>
70 <#assign immagine = "https://via.placeholder.com/450x300?text=Placeholder">
71 </#if>
72 </#if>
73
74 <#assign stringSelector = "dynamic-element[@name='Icona']">
75 <#assign xPathSelector = saxReaderUtil.createXPath(stringSelector)>
76 <#if xPathSelector.selectSingleNode(rootElement)??>
77 <#assign
78 icona = xPathSelector.selectSingleNode(rootElement).getStringValue()
79 fileEntryId = assetRenderer.getClassPK()
80 />
81 <#if icona?trim?has_content>
82 <#assign
83 jsonField = jsonFactoryUtil.createJSONObject(icona)
84 fileEntry = DLAppLocalServiceUtil.getFileEntryByUuidAndGroupId(jsonField.uuid, groupId)
85 icona = "/documents/" + jsonField.groupId + "/" + fileEntry.folderId + "/" + jsonField.title + "/" + jsonField.uuid
86 />
87 <#else>
88 <#assign icona = "https://via.placeholder.com/450x300?text=Placeholder">
89 </#if>
90 </#if>
91
92 <#assign stringSelector = "dynamic-element[@name='DescrizioneBreve']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']">
93 <#assign xPathSelector = saxReaderUtil.createXPath(stringSelector)>
94 <#if xPathSelector.selectSingleNode(rootElement)??>
95 <#assign testo = xPathSelector.selectSingleNode(rootElement).getStringValue()>
96 </#if>
97
98 <#assign stringSelector = "dynamic-element[@name='ext_link']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']">
99 <#assign xPathSelector = saxReaderUtil.createXPath(stringSelector)>
100 <#if xPathSelector.selectSingleNode(rootElement)??>
101 <#assign viewUrl = xPathSelector.selectSingleNode(rootElement).getStringValue()>
102 <#assign blank = "target='_blank'">
103 <#if viewUrl?trim == ''>
104 <#assign blank = "">
105 <#assign viewUrl = mkspAPI.getArticleUrl(groupId, serverName, journalArticle.articleId, localeUtil.fromLanguageId(themeDisplay.getLocale()), defLng, "/articoli-diario")>
106 </#if>
107 <#else>
108 <#assign viewUrl = mkspAPI.getArticleUrl(groupId, serverName, journalArticle.articleId, localeUtil.fromLanguageId(themeDisplay.getLocale()), defLng, "/articoli-diario")>
109 </#if>
110
111 <div class="diary_row align-items-center pt-md-0 pt-sm-5">
112
113 <#if entry?index == 0>
114 <#--<div class="header_diary">
115 <img src="${themeDisplay.getPathThemeImages()}/Personaggi_baloon-12.png"/>
116 </div>-->
117 </#if>
118
119 <div class="block_diary" style="background:#8cb219 !important;">
120 <div class="container py-4">
121 <a href="${viewUrl}" class="row" ${blank}>
122 <div class="col-md-5">
123 <div class="block_img">
124 <img src="${immagine}" class="img-fluid">
125 <div class="icon_over_img">
126 <#assign
127 list_categories = entry.getCategories()
128 />
129
130 <#list list_categories as single_cat>
131 <#assign full_obj = jsonFactoryUtil.looseSerialize(single_cat) >
132 <#-- ${full_obj} -->
133
134 ${jsonFactoryUtil.createJSONObject(full_obj).getString("descriptionCurrentValue")}
135
136 </#list>
137 </div>
138 </div>
139 </div>
140
141 <div class="text_content pl-md-5 pt-md-0 pb-md-0 pt-4 pb-5 col-xl-4 col-lg-6 col-md-7 text-md-left text-center">
142 <span style="color:#fff !important;">${dataContenuto}</span>
143
144 <h2 class="pt-2">
145 ${entryTitle}
146 </h2>
147
148 <p class="pb-4" style="color:#fff !important;">
149 ${testo}
150 </p>
151
152 <span class="read_more" style="color:#fff !important;">leggi tutto</span>
153 </div>
154 </a>
155 </div>
156 </div>
157 </div>
158
159 </#if>
160 </#list>
161 </#if>
162 </div>
163
164 <div class="row_di_cosa_parliamo container pt-sm-5 pb-5" style="display:none !important;">
165
166 <div class="text-center pb-sm-5 pb-3">
167 <#-- <img src="${themeDisplay.getPathThemeImages()}/di-cosa-parliamo.png"/> -->
168 <img class="icon_hash" style="max-width:70px !important;" src="${themeDisplay.getPathThemeImages()}/hashtag.png"/>
169 <h2 class="pt-3 row_title_white">di cosa parliamo</h2>
170 </div>
171
172 <div class="row justify-content-center">
173
174 <#list catsService.getVocabularyCategories(id_vocabolario_diario, -1, -1, null) as cat>
175 <#assign
176 catUrl = renderResponse.createRenderURL()
177 />
178
179 ${catUrl.setParameter("categoryId", cat.categoryId?string)}
180
181 <#assign
182 catUrl = catUrl?replace('home', 'diario')
183 />
184
185 <a href="${catUrl}" class="col-lg-4 col-md-6 my-md-4 my-2">
186 <div class=" d-flex align-items-center p-2 single_argomento">
187 <#assign full_obj = jsonFactoryUtil.looseSerialize(cat) >
188 ${jsonFactoryUtil.createJSONObject(full_obj).getString("descriptionCurrentValue")}
189 <p class="pl-3">${cat.getName()}</p>
190 </div>
191 </a>
192 </#list>
193
194 </div>
195 </div>
196</div>
An error occurred while processing the template.
The following has evaluated to null or missing: ==> testo [in template "114284#114319#573435" at line 126, column 59] ---- Tip: If the failing expression is known to be 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: ${testo} [in template "114284#114319#573435" at line 126, column 57] ----
1<#assign
2 DLAppLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
3 mkspAPI = serviceLocator.findService("eu.suggesto.suggestogui.service.SuggestoGuiLocalService")
4 catsService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")
5 serverName = request.getServerName()
6 defLng = themeDisplay.getSiteDefaultLocale()
7
8 id_vocabolario_appuntamenti = 572715
9/>
10
11<div class="row_appuntamenti container pt-5 pb-5">
12 <div class="text-center">
13 <#-- <img class="icon_hash" src="${themeDisplay.getPathThemeImages()}/green-hashtag.png"/> -->
14 <img style="max-width:200px;" src="${themeDisplay.getPathThemeImages()}/appuntamenti.png"/>
15 <h2 class="pt-3 row_title">appuntamenti</h2>
16 </div>
17
18 <div class="row_bottoni pt-sm-5 pt-3">
19 <div class="row">
20 <#list catsService.getVocabularyCategories(id_vocabolario_appuntamenti, -1, -1, null) as cat>
21 <#assign catUrl = renderResponse.createRenderURL()>
22
23 ${catUrl.setParameter("categoryId", cat.categoryId?string)}
24
25 <#assign
26 catUrl = catUrl?replace('home', 'appuntamenti')
27 />
28
29 <div class="col-xl-3 col-lg-6 my-2">
30 <a href="${catUrl}" class="btn">
31 ${cat.getName()}
32 </a>
33 </div>
34 </#list>
35 </div>
36 </div>
37
38 <div class="date_content">
39 <#if entries?has_content>
40 <#list entries?reverse as entry>
41 <#assign
42 entry = entry
43 assetRenderer = entry.getAssetRenderer()
44 className = assetRenderer.getClassName()
45 entryTitle = htmlUtil.escape(assetRenderer.getTitle(themeDisplay.getLocale()))
46 />
47
48 <#if className == "com.liferay.journal.model.JournalArticle">
49 <#assign
50 journalArticle = assetRenderer.getArticle()
51 document = saxReaderUtil.read(journalArticle.getContent())
52 rootElement = document.getRootElement()
53 />
54
55
56 <#-- FORMATTAZIONE DATA ("dataContenuto" è la data finale da usare) -->
57
58 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Datadlnx']")>
59 <#if xPathSelector.selectSingleNode(rootElement)??>
60 <#assign stringData = xPathSelector.selectSingleNode(rootElement).getStringValue()?trim>
61 <#setting locale = themeDisplay.getLocale()>
62
63 <#if validator.isNotNull(stringData)>
64 <#assign dataObj = dateUtil.parseDate("yyyy-MM-dd", stringData, locale)>
65 <#assign dataContenuto = dateUtil.getDate(dataObj, "dd MMMM yyyy", locale)>
66 <#assign giorno = dateUtil.getDate(dataObj, "dd", locale)>
67 <#assign mese = dateUtil.getDate(dataObj, "MMMM", locale)>
68 <#assign anno = dateUtil.getDate(dataObj, "yyyy", locale)>
69 <#else>
70 <#assign dataContenuto = "">
71 </#if>
72 </#if>
73
74 <#assign stringSelector = "dynamic-element[@name='ImmagineAbstract']">
75 <#assign xPathSelector = saxReaderUtil.createXPath(stringSelector)>
76 <#if xPathSelector.selectSingleNode(rootElement)??>
77 <#assign
78 immagine = xPathSelector.selectSingleNode(rootElement).getStringValue()
79 fileEntryId = assetRenderer.getClassPK()
80 />
81 <#if immagine?trim?has_content>
82 <#assign
83 jsonField = jsonFactoryUtil.createJSONObject(immagine)
84 fileEntry = DLAppLocalServiceUtil.getFileEntryByUuidAndGroupId(jsonField.uuid, groupId)
85 immagine = "/documents/" + jsonField.groupId + "/" + fileEntry.folderId + "/" + jsonField.title + "/" + jsonField.uuid
86 />
87 <#else>
88 <#assign immagine = "https://via.placeholder.com/450x300?text=Placeholder">
89 </#if>
90 </#if>
91
92 <#assign stringSelector = "dynamic-element[@name='DescrizioneBreve']/dynamic-content[@language-id = '" + themeDisplay.getLocale() + "']">
93 <#assign xPathSelector = saxReaderUtil.createXPath(stringSelector)>
94 <#if xPathSelector.selectSingleNode(rootElement)??>
95 <#assign testo = xPathSelector.selectSingleNode(rootElement).getStringValue()>
96 </#if>
97
98 <#assign viewUrl = mkspAPI.getArticleUrl(groupId, serverName, journalArticle.articleId, localeUtil.fromLanguageId(themeDisplay.getLocale()), defLng, "/dettaglio-appuntamenti")>
99
100
101 <div class="row">
102 <div class="data col-md-2 text-center">
103
104 <#assign
105 list_categories = entry.getCategories()
106 />
107
108 <#list list_categories as single_cat>
109
110 <#assign full_obj = jsonFactoryUtil.looseSerialize(single_cat) >
111 <#-- ${full_obj} -->
112
113 <#assign
114 catColor = jsonFactoryUtil.createJSONObject(full_obj).getString("descriptionCurrentValue")
115 />
116 </#list>
117
118 <h2 class="mb-0" style="color:${catColor}">${giorno}</h2>
119 <h3>${mese}</h3>
120 <span>${anno}</span>
121 </div>
122
123 <div class="text_content col-md-10 text-md-left text-center pt-md-0 pt-4">
124 <h2><a href="${viewUrl}">${entryTitle}</a></h2>
125
126 <p class="pb-2">${testo}</p>
127
128 <p>trovi questo appuntamento in:
129
130 <#list list_categories as single_cat>
131 <#assign
132 catUrl = renderResponse.createRenderURL()
133 />
134
135 ${catUrl.setParameter("categoryId", single_cat.categoryId?string)}
136
137 <#assign
138 catUrl = catUrl?replace('home', 'appuntamenti')
139 />
140
141
142 <a href="${catUrl}"><strong class="pl-1" style="color:${catColor}">${single_cat.getName()}</strong></a>
143 </#list>
144
145 </p>
146 </div>
147 </div>
148
149 </#if>
150 </#list>
151 </#if>
152 </div>
153</div>