Online la newsletter Gol numero 17 - ANPAL
Agenzia Nazionale per le Politiche Attive del Lavoro new
Asset Publisher
Java method "com.liferay.portal.kernel.util.DateUtil_IW.parseDate(String, String, Locale)" threw an exception when invoked on com.liferay.portal.kernel.util.DateUtil_IW object "com.liferay.portal.kernel.util.DateUtil_IW@475a161b"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign dateNewsObj = dateUtil.parseD... [in template "20099#20135#629661" at line 23, column 25] ----
1<#include "${templatesPath}/611477" />
2<#assign jsonFactoryServiceUtil = serviceLocator.findService("com.liferay.portal.kernel.json.JSONFactoryUtil") />
3<#assign journalArticleList=[]>
4<#if entries?has_content>
5 <#list entries as curEntry>
6 <#assign renderer = curEntry.getAssetRenderer() >
7 <#assign journalArticle = renderer.getArticle() >
8 <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) >
9 <#assign rootElement = document.document.getRootElement() >
10 <#assign jsonObjectArticle=jsonFactoryServiceUtil.createJSONObject()>
11
12 <#assign xPathSelectorTitoloNews = saxReaderUtil.createXPath("dynamic-element[@name='titolo_news']") >
13 <#if xPathSelectorTitoloNews.selectSingleNode(rootElement)?has_content>
14 <#assign titolo_news = xPathSelectorTitoloNews.selectSingleNode(rootElement).getStringValue() >
15 <#assign jsonObjectArticle= jsonObjectArticle.put("titoloNews",titolo_news)>
16 <#else>
17 <#assign jsonObjectArticle= jsonObjectArticle.put("titoloNews","")>
18 </#if>
19
20 <#assign xPathSelectorData= saxReaderUtil.createXPath("dynamic-element[@name='data_news']") >
21 <#if xPathSelectorData.selectSingleNode(rootElement)?has_content>
22 <#assign data_news = xPathSelectorData.selectSingleNode(rootElement).getStringValue() >
23 <#assign dateNewsObj = dateUtil.parseDate("yyyy-MM-dd", data_news?trim, locale)>
24 <#assign jsonObjectArticle= jsonObjectArticle.put("dateNewsObj",dateNewsObj)>
25 </#if>
26
27 <#assign xPathSelectorCorpo= saxReaderUtil.createXPath("dynamic-element[@name='corpo']") >
28 <#if xPathSelectorCorpo.selectSingleNode(rootElement)?has_content>
29 <#assign corpo = xPathSelectorCorpo.selectSingleNode(rootElement).getStringValue() >
30 <#assign jsonObjectArticle= jsonObjectArticle.put("corpo",corpo)>
31 </#if>
32
33 <#assign categories=curEntry.getCategories()/>
34 <#if categories?? && categories?has_content>
35 <#assign categorieEntry=categories[0] />
36 <#assign jsonObjectArticle=jsonObjectArticle.put("categorieTitle",categorieEntry.getTitle(locale))>
37 <#else>
38 <#assign jsonObjectArticle=jsonObjectArticle.put("categorieTitle","")>
39 </#if>
40 <#if categorieEntry?? && categorieEntry?has_content>
41 <#assign imgDefault=categorieEntry.getName()?replace(" ","-")?lower_case/>
42 <#assign imgDefault=imgDefault+".JPG"/>
43 <#else>
44 <#assign imgDefault="default.JPG"/>
45
46 </#if>
47 <#assign xPathSelectorImmagine = saxReaderUtil.createXPath("dynamic-element[@name='img_news']") >
48 <#assign imgUrl="">
49
50 <#if xPathSelectorImmagine.selectSingleNode(rootElement)?has_content>
51 <#assign img_news = xPathSelectorImmagine.selectSingleNode(rootElement).getStringValue()?trim />
52 <#if img_news !="" && validator.isContent(img_news)>
53 <#assign jsonImmagine=jsonFactoryUtil.createJSONObject(img_news)>
54 <#assign groupId=jsonImmagine.getLong("groupId")>
55 <#assign uuId=jsonImmagine.getString("uuid")>
56 <#assign imgName=jsonImmagine.getString("title")>
57 <#assign imgUrl = "/documents/"+groupId+"/"+0+"/"+imgName+"/"+uuId />
58 <#assign jsonObjectArticle= jsonObjectArticle.put("imgUrl",imgUrl)>
59 <#else>
60 <#assign imgUrl = "/documents/"+themeDisplay.getLayout().getGroupId()+"/"+586348+"/"+imgDefault />
61 <#assign jsonObjectArticle= jsonObjectArticle.put("imgUrl",imgUrl)>
62 </#if>
63 </#if>
64 <#if curEntry.getSummaryCurrentValue()?? && curEntry.getSummaryCurrentValue()!="">
65 <#assign jsonObjectArticle= jsonObjectArticle.put("summaryCurrentValue",curEntry.getSummaryCurrentValue())>
66 <#else>
67 <#assign jsonObjectArticle= jsonObjectArticle.put("summaryCurrentValue","")>
68 </#if>
69
70 <#if journalArticle.getUrlTitle()?? && journalArticle.getUrlTitle()!="">
71 <#assign jsonObjectArticle= jsonObjectArticle.put("urlDisplayPage",journalArticle.getUrlTitle())>
72 <#else>
73 <#assign jsonObjectArticle= jsonObjectArticle.put("urlDisplayPage","")>
74 </#if>
75
76 <#assign viewURL = renderer.getURLViewInContext(renderRequest, renderResponse, "") !"" />
77 <#assign jsonObjectArticle= jsonObjectArticle.put("viewURL",viewURL)>
78
79 <#attempt>
80 <#if viewURL?index_of("/", 1) < 1>
81 <#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, entry, !stringUtil.equals(assetLinkBehavior, "showFullContent"))>
82 <#assign jsonObjectArticle= jsonObjectArticle.put("viewURL",viewURL)>
83 </#if>
84 <#recover>
85 </#attempt>
86
87 <#assign journalArticleList=journalArticleList+[jsonObjectArticle]>
88 </#list>
89</#if>
90<#if journalArticleList?has_content>
91 <div class="container">
92 <div class="px-4 px-sm-0">
93 <h3 class="text-28p" "${translate(locale, 'Notizie in primo piano')}">${translate(locale, "Notizie in primo piano")}</h3>
94 <div class="row">
95
96 <#list (journalArticleList?sort_by("dateNewsObj"))?reverse as journalArticle>
97 <#assign dateRelatedArticle= dateUtil.getDate(journalArticle.get("dateNewsObj"), "dd.MM.yy", locale) />
98
99 <#if (journalArticle?index)==0>
100
101 <div class="col-12 col-md-4 my-4 b-line">
102 <div class="card card-news h-100">
103 <div class="card-body pl-1 pr-2 py-0 flex flex-column">
104 <div class="img200h mb-2"><img src="${journalArticle.get('imgUrl')}" alt=""> </div>
105
106 <#if journalArticle.get("categorieTitle")!="">
107
108 <p class="text-primary text-14p text-spacing font-weight-bold mb-2"><span class="category uppercase"> ${journalArticle.get("categorieTitle")}</span> — ${dateRelatedArticle}</p>
109 <#else>
110 <p class="text-primary text-14p text-spacing font-weight-bold mb-2">${dateRelatedArticle}</p>
111 </#if>
112 <p class="text-28p line-h40p font-weight-600 mb-2">${journalArticle.get("titoloNews")}</p>
113 <p class="text-chambray font-lora mb-4">${journalArticle.get("summaryCurrentValue")}</p>
114
115 </div>
116 <div class="mt-auto pl-1 pl-sm-2 pb-4">
117 <a href="${journalArticle.get('viewURL')}" class="text-14p font-weight-bold" "${translate(locale, 'Leggi di più')}">${translate(locale, "Leggi di più")}
118 <span aria-hidden="true">→</span>
119 <span class="sr-only">
120 Riguardo ${journalArticle.get("titoloNews")}
121 </span>
122 </a>
123 </div>
124 </div>
125 </div>
126 <#elseif (journalArticle?index)==1>
127 <div class="col-12 col-md-4 col-lg-5 my-4 b-left b-line">
128 <div class="card card-news">
129 <div class="card-body px-2 py-0 flex flex-column">
130 <div class="float-left mr-3 mb-2"><img class="wSecondHome" src="${journalArticle.get('imgUrl')}" alt=""></div>
131 <#if journalArticle.get("categorieTitle")!="">
132 <p class="text-primary text-14p text-spacing font-weight-bold mb-2"><span class="category uppercase"> ${journalArticle.get("categorieTitle")}</span> — ${dateRelatedArticle}</p>
133 <#else>
134 <p class="text-primary text-14p text-spacing font-weight-bold mb-2">${dateRelatedArticle}</p>
135 </#if>
136 <p class="text-28p line-h40p font-weight-600 mb-2">${journalArticle.get("titoloNews")}</p>
137 <p class="text-chambray font-lora mb-4">${journalArticle.get("summaryCurrentValue")}</p>
138
139 </div>
140 <div class="mt-auto pl-1 pl-sm-2 pb-4">
141 <a href="${journalArticle.get('viewURL')}" class="text-14p font-weight-bold" "${translate(locale, 'Leggi di più')}">${translate(locale, "Leggi di più")}
142 <span aria-hidden="true">→</span>
143 <span class="sr-only">
144 Riguardo ${journalArticle.get("titoloNews")}
145 </span>
146 </a>
147 </div>
148 <#elseif (journalArticle?index)==2>
149 <div class="card-body px-2 py-0 flex flex-column">
150 <div class="float-left mr-3 mb-2"><img class="wSecondHome" src="${journalArticle.get('imgUrl')}" alt=""></div>
151 <#if journalArticle.get("categorieTitle")!="">
152 <p class="text-primary text-14p text-spacing font-weight-bold mb-2"><span class="category uppercase"> ${journalArticle.get("categorieTitle")}</span> — ${dateRelatedArticle}</p>
153 <#else>
154 <p class="text-primary text-14p text-spacing font-weight-bold mb-2">${dateRelatedArticle}</p>
155 </#if>
156 <p class="text-28p line-h40p font-weight-600 mb-2">${journalArticle.get("titoloNews")}</p>
157 <p class="text-chambray font-lora line-h24p mb-4">${journalArticle.get("summaryCurrentValue")} </p>
158 </div>
159 <div class="pl-1 pl-sm-2 pb-4">
160 <a href="${journalArticle.get('viewURL')}" class="text-14p font-weight-bold" "${translate(locale, 'Leggi di più')}">${translate(locale, "Leggi di più")}
161 <span aria-hidden="true">→</span>
162 <span class="sr-only">
163 Riguardo ${journalArticle.get("titoloNews")}
164 </span>
165 </a>
166 </div>
167 </div>
168 </div>
169 <#elseif ((journalArticle?index)==3)>
170 <div class="col-12 col-md-4 col-lg-3 my-4 b-left b-line">
171 <div class="card card-news h-100">
172 <div class="card-body pl-1 pt-0 pb-0">
173 <div class="mb-3">
174 <#if journalArticle.get("categorieTitle")!="">
175 <p class="text-primary text-14p text-spacing font-weight-bold mb-2"><span class="category uppercase"> ${journalArticle.get("categorieTitle")}</span> — ${dateRelatedArticle}</p>
176 <#else>
177 <p class="text-primary text-14p text-spacing font-weight-bold mb-2">${dateRelatedArticle}</p>
178 </#if>
179 <p class="text-24p mb-3">${journalArticle.get("titoloNews")}</p>
180 <a href="${journalArticle.get('viewURL')}" class="text-14p font-weight-bold" "${translate(locale, 'Leggi di più')}">${translate(locale, "Leggi di più")}
181 <span aria-hidden="true">→</span>
182 <span class="sr-only">
183 Riguardo ${journalArticle.get("titoloNews")}
184 </span>
185 </a>
186 </div>
187 <#elseif ((journalArticle?index)>3) &&((journalArticle?index)<=6)>
188 <div class="mb-3">
189 <#if journalArticle.get("categorieTitle")!="">
190 <p class="text-primary text-14p text-spacing font-weight-bold mb-2"><span class="category uppercase">${journalArticle.get("categorieTitle")}</span> — ${dateRelatedArticle}</p>
191 <#else>
192 <p class="text-primary text-14p text-spacing font-weight-bold mb-2">${dateRelatedArticle}</p>
193 </#if>
194 <p class="text-24p mb-3">${journalArticle.get("titoloNews")}</p>
195 <a href="${journalArticle.get('viewURL')}" class="text-14p font-weight-bold" "${translate(locale, 'Leggi di più')}">${translate(locale, "Leggi di più")}
196 <span aria-hidden="true">→</span>
197 <span class="sr-only">
198 Riguardo ${journalArticle.get("titoloNews")}
199 </span>
200 </a>
201 </div>
202
203 <#if journalArticle?is_last || ((journalArticle?index)==6)>
204 </div>
205 <div class="mt-auto pb-4">
206 <a href="${themeDisplay.getPathFriendlyURLPublic()}${themeDisplay.getSiteGroup().getFriendlyURL()}/tutte-le-news" class="btn btn-primary text-14p font-weight-bold w-100 mx-2" "${translate(locale, 'Leggi di più')}">
207 <span aria-hidden="true">→</span>
208 <span class="sr-only">
209 Riguardo ${journalArticle.get("titoloNews")}
210 </span>
211 </a>
212 </div>
213 </div>
214 </div>
215 </#if>
216 </#if>
217 </#list>
218 </div>
219 </div>
220 </div>
221</#if>
222
223
224<style>
225.wSecondHome{
226 width:200px;
227}
228@media (max-width: 576px){
229 .wSecondHome {
230 width: 140px!important;
231 margin-bottom:0px!important;
232 }
233}
234
235</style>
Asset Publisher
The following has evaluated to null or missing: ==> dateArticleCurrent [in template "20099#20135#21363" at line 37, column 242] ---- 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: ${dateArticleCurrent} [in template "20099#20135#21363" at line 37, column 240] ----
1<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
2<#assign journalArticleId = .vars['reserved-article-id'].data/>
3<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(groupId), journalArticleId)>
4<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
5<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey) >
6<#assign categoriesArticleCurrent=asset.getCategories() />
7<#assign categoryIdsArticleCurrent=asset.getCategoryIds()/>
8
9<#assign urlCurrent = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() />
10<#function getUrlSocial themeDisplay socialType>
11 <#assign url = "#" />
12 <#if socialType == "facebook">
13 <#assign url = "https://www.facebook.com/sharer/sharer.php?u=${urlCurrent}" />
14 <#elseif socialType == "twitter">
15 <#assign url = "https://twitter.com/intent/tweet?text=${urlCurrent}" />
16 </#if>
17 <#return url>
18</#function>
19
20<#assign data_news_Data = getterUtil.getString(data_news.getData())>
21 <#if validator.isNotNull(data_news_Data)>
22 <#assign data_news_DateObj = dateUtil.parseDate("yyyy-MM-dd", data_news_Data, locale) />
23 <#assign dateArticleCurrent= dateUtil.getDate(data_news_DateObj, "dd.MM.yy", locale) />
24 </#if>
25
26<#if categoriesArticleCurrent?? && categoriesArticleCurrent?has_content>
27 <#assign categorieEntryCurrent=categoriesArticleCurrent[0] />
28</#if>
29
30<div class="container">
31 <div class="px-4 px-sm-0">
32 <div class="row">
33 <div class="col-12 col-md-6 mb-4 mb-sm-0">
34 <div class="card card-news">
35 <div class="card-body pl-1 pr-2 py-0">
36 <#if categorieEntryCurrent?? && categorieEntryCurrent?has_content>
37 <p class="text-primary text-14p text-spacing font-weight-bold mb-2"><span class="category uppercase"> ${categorieEntryCurrent.getTitle(locale)}</span> — ${dateArticleCurrent}</p>
38 <#else>
39 <p class="text-primary text-14p text-spacing font-weight-bold mb-2">${dateArticleCurrent}</p>
40 </#if>
41
42
43 <h2 class="p-0 text-40p line-h48p">${titolo_news.getData()}</h2>
44
45 <p class="text-28p line-h40p font-weight-600 mb-2">${asset.getSummaryCurrentValue()}</p>
46
47 <#if img_news.getData()!="">
48 <div class="img100x mb-2"><img src="${img_news.getData()}" alt="${img_descr.getData()}"/></div>
49 <#else>
50 <#if categorieEntryCurrent?? && categorieEntryCurrent?has_content>
51 <#assign imgDefault=categorieEntryCurrent.getName()?replace(" ","-")?lower_case/>
52 <#assign imgDefault=imgDefault+".JPG"/>
53 <#else>
54 <#assign imgDefault="default.JPG"/>
55 </#if>
56 <#assign imgUrl = "/documents/"+themeDisplay.getLayout().getGroupId()+"/"+586348+"/"+imgDefault />
57
58 <div class="img100x mb-2"><img src="${imgUrl}" alt="imagine ${titolo_news.getData()}"/></div>
59 </#if>
60
61 <p class="text-chambray font-lora mb-4">${corpo.getData()} </p>
62 </div>
63 </div>
64
65 <div class="pl-1 pl-sm-2">
66 <p class="text-24p text-primary"><strong>Condividi</strong>
67 <#assign socialUrl = getUrlSocial(themeDisplay,'facebook') />
68 <a href="${socialUrl}" aria-label="Condividi su Facebook" target="_blank" onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=400,width=600');return false;" title="Facebook - Sito esterno" class="d-inline-block ml-3 mr-2"><span class="fab fa-facebook-square text-22p"></span></a>
69
70 <#assign socialUrl = getUrlSocial(themeDisplay,'twitter') />
71 <a href="${socialUrl}" aria-label="Condividi su Twitter" target="_blank" onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=400,width=600');return false;"title="Twitter - Sito esterno" class="d-inline-block mx-2"><span class="fab fa-twitter text-20p"></span></a>
72 </p>
73 </div>
74
75 </div>
76
77
78 <#assign journalAssetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService") />
79 <#assign journalArticleRelatedEntry = journalAssetLinkLocalService.getDirectLinks(asset.getEntryId()) />
80
81 <#if journalArticleRelatedEntry?has_content>
82 <div class="col-12 col-md-6 b-left">
83 <h3 class="pt-0 text-24p ml-2 mb-2">Notizie Correlate</h3>
84
85 <#list journalArticleRelatedEntry as relatedEntry>
86 <#assign relatedAssetEntryId = relatedEntry.getEntryId2() />
87 <#assign relatedAssetEntry = assetEntryLocalService.getEntry(relatedAssetEntryId ) />
88 <#assign relatedJournalArticle = journalArticleLocalService.getLatestArticle( relatedAssetEntry.getClassPK() ) />
89 <#assign renderer = relatedAssetEntry.getAssetRenderer() >
90 <#assign journalArticle = renderer.getArticle() >
91 <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(themeDisplayLocale)) >
92 <#assign rootElement = document.document.getRootElement() >
93
94
95 <#assign xPathSelectorTitoloNews = saxReaderUtil.createXPath("dynamic-element[@name='titolo_news']") >
96 <#if xPathSelectorTitoloNews.selectSingleNode(rootElement)?has_content>
97 <#assign titolo_news = xPathSelectorTitoloNews.selectSingleNode(rootElement).getStringValue() >
98 </#if>
99 <#assign xPathSelectorData= saxReaderUtil.createXPath("dynamic-element[@name='data_news']") >
100 <#if xPathSelectorData.selectSingleNode(rootElement)?has_content>
101 <#assign data_news = xPathSelectorData.selectSingleNode(rootElement).getStringValue() >
102 <#assign dateNewsObj = dateUtil.parseDate("yyyy-MM-dd", data_news?trim, locale)>
103 <#assign dateRelatedArticle= dateUtil.getDate(dateNewsObj, "dd.MM.yy", locale) />
104 </#if>
105 <#assign categories=relatedAssetEntry.getCategories()/>
106 <#if categories?? && categories?has_content>
107 <#assign categorieEntry=categories[0] />
108 </#if>
109
110 <#if categorieEntry?? && categorieEntry?has_content>
111 <#assign imgDefault=categorieEntry.getName()?replace(" ","-")?lower_case/>
112 <#assign imgDefault=imgDefault+".JPG"/>
113 <#else>
114 <#assign imgDefault="default.JPG"/>
115 </#if>
116 <#assign xPathSelectorImmagine = saxReaderUtil.createXPath("dynamic-element[@name='img_news']") >
117 <#assign imgUrl="">
118
119 <#if xPathSelectorImmagine.selectSingleNode(rootElement)?has_content>
120 <#assign img_news = xPathSelectorImmagine.selectSingleNode(rootElement).getStringValue() >
121 <#if img_news !="" && validator.isContent(img_news)>
122 <#assign jsonImmagine=jsonFactoryUtil.createJSONObject(img_news)>
123 <#assign groupId=jsonImmagine.getLong("groupId")>
124 <#assign uuId=jsonImmagine.getString("uuid")>
125 <#assign imgName=jsonImmagine.getString("title")>
126
127 <#assign imgUrl = "/documents/"+groupId+"/"+0+"/"+imgName+"/"+uuId />
128 <#else>
129 <#assign imgUrl = "/documents/"+themeDisplay.getLayout().getGroupId()+"/"+586348+"/"+imgDefault />
130 </#if>
131 </#if>
132
133
134 <div class="row card-news mb-4">
135 <div class="col-12 col-sm-4">
136 <div><img alt="${titolo_news}" src="${imgUrl}" class=" w-100 ml-sm-2 mb-2"></div>
137 </div>
138 <div class="col-12 col-sm-8">
139 <#if categories?? && categories?has_content>
140 <#assign categorieEntry=categories[0] />
141 <p class="text-primary text-14p text-spacing font-weight-bold mb-2"><span class="category uppercase"> ${categorieEntry.getTitle(locale)}</span> — ${dateRelatedArticle}</p>
142 <#else>
143 <p class="text-primary text-14p text-spacing font-weight-bold mb-2">${dateRelatedArticle}</p>
144 </#if>
145 <p class="text-28p line-h40p font-weight-600 mb-2">${titolo_news}</p>
146 <p class="text-chambray font-lora line-h24p mb-4">${relatedAssetEntry.getSummaryCurrentValue()}</p>
147 <a href="${relatedJournalArticle.getUrlTitle()}" class="text-14p font-weight-bold">
148 Leggi di più
149 <span aria-hidden="true">→</span>
150 <span class="sr-only">
151 Riguardo ${titolo_news}
152 </span>
153 </a>
154 </div>
155 </div>
156 </#list>
157 </div>
158 <#elseif (categoryIdsArticleCurrent??) && (categoryIdsArticleCurrent?has_content)>
159 <#assign assetEntryQuery = objectUtil('com.liferay.asset.kernel.service.persistence.AssetEntryQuery')>
160
161 <#assign search = assetEntryQuery.setClassName("com.liferay.journal.model.JournalArticle")>
162
163 <#assign search = assetEntryQuery.setAllCategoryIds(categoryIdsArticleCurrent)>
164
165 <#assign search = assetEntryQuery.setOrderByCol1("publishDate")>
166
167 <#assign entries = assetEntryLocalService.getEntries(assetEntryQuery)>
168
169 <div class="col-12 col-md-6 b-left">
170 <h3 class="pt-0 text-24p ml-2 mb-2">Notizie correlate per categoria</h3>
171 <#list entries as relatedEntry>
172 <#assign relatedJournalArticle = journalArticleLocalService.getLatestArticle( relatedEntry.getClassPK() ) />
173 <#assign renderer = relatedEntry.getAssetRenderer() >
174 <#assign journalArticle = renderer.getArticle() >
175
176 <#if (relatedEntry.getEntryId()!=asset.getEntryId()) && (article.getDDMStructureKey()==journalArticle.getDDMStructureKey())>
177 <#if ((relatedEntry?index)<6)>
178 <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(themeDisplayLocale)) >
179 <#assign rootElement = document.document.getRootElement() >
180 <#assign createDate = dateUtil.getDate(journalArticle.createDate, "dd/MM/yyyy", locale) >
181
182 <#assign xPathSelectorTitoloNews = saxReaderUtil.createXPath("dynamic-element[@name='titolo_news']") >
183 <#if xPathSelectorTitoloNews.selectSingleNode(rootElement)?has_content>
184 <#assign titolo_news = xPathSelectorTitoloNews.selectSingleNode(rootElement).getStringValue() >
185 </#if>
186 <#assign xPathSelectorData= saxReaderUtil.createXPath("dynamic-element[@name='data_news']") >
187 <#if xPathSelectorData.selectSingleNode(rootElement)?has_content>
188 <#assign data_news = xPathSelectorData.selectSingleNode(rootElement).getStringValue() >
189 <#assign dateNewsObj = dateUtil.parseDate("yyyy-MM-dd", data_news?trim, locale)>
190 <#assign dateRelatedArticle= dateUtil.getDate(dateNewsObj, "dd.MM.yy", locale) />
191 </#if>
192 <#assign categories=relatedEntry.getCategories()/>
193
194 <#if categories?? && categories?has_content>
195 <#assign categorieEntry=categories[0] />
196 </#if>
197
198 <#if categorieEntry?? && categorieEntry?has_content>
199 <#assign imgDefault=categorieEntry.getName()?replace(" ","-")?lower_case/>
200 <#assign imgDefault=imgDefault+".JPG"/>
201 <#else>
202 <#assign imgDefault="default.JPG"/>
203 </#if>
204 <#assign xPathSelectorImmagine = saxReaderUtil.createXPath("dynamic-element[@name='img_news']") >
205 <#assign imgUrl="">
206
207 <#if xPathSelectorImmagine.selectSingleNode(rootElement)?has_content>
208 <#assign img_news = xPathSelectorImmagine.selectSingleNode(rootElement).getStringValue() >
209 <#if img_news !="" && validator.isContent(img_news)>
210 <#assign jsonImmagine=jsonFactoryUtil.createJSONObject(img_news)>
211 <#assign groupId=jsonImmagine.getLong("groupId")>
212 <#assign uuId=jsonImmagine.getString("uuid")>
213 <#assign imgName=jsonImmagine.getString("title")>
214
215 <#assign imgUrl = "/documents/"+groupId+"/"+0+"/"+imgName+"/"+uuId />
216 <#else>
217 <#assign imgUrl = "/documents/"+themeDisplay.getLayout().getGroupId()+"/"+586348+"/"+imgDefault />
218 </#if>
219 </#if>
220
221 <#assign categories=relatedEntry.getCategories() />
222
223 <div class="row card-news mb-4">
224 <div class="col-12 col-sm-4">
225 <div ><img alt="${titolo_news}" src="${imgUrl}" class=" w-100 ml-sm-2 mb-2"></div>
226 </div>
227 <div class="col-12 col-sm-8">
228 <#if categories?? && categories?has_content>
229 <#assign categorieEntry=categories[0] />
230 <p class="text-primary text-14p text-spacing font-weight-bold mb-2"><span class="category uppercase"> ${categorieEntry.getTitle(locale)}</span> — ${dateRelatedArticle}</p>
231 <#else>
232 <p class="text-primary text-14p text-spacing font-weight-bold mb-2">${dateRelatedArticle}</p>
233 </#if>
234 <p class="text-28p line-h40p font-weight-600 mb-2">${titolo_news}</p>
235 <p class="text-chambray font-lora line-h24p mb-4">${relatedEntry.getSummaryCurrentValue()}</p>
236 <a href="${relatedJournalArticle.getUrlTitle()}" class="text-14p font-weight-bold">
237 Leggi di più
238 <span aria-hidden="true">→</span>
239 <span class="sr-only">
240 Riguardo ${titolo_news}
241 </span>
242 </a>
243 </div>
244 </div>
245 </#if>
246 </#if>
247
248 </#list>
249 </div>
250 </#if>
251 </div>
252 </div>
253</div>
Eventi HomePage
Eventi
Contenuto l'Agenzia ha il compito di supportare i cittadini, le aziende e gli enti NEW
L'Agenzia ha il compito di supportare i cittadini, le aziende e gli enti per:
Lavorare
Le attività e i progetti dedicati a chi cerca lavoro e percorsi formativi
Vai alla pagina dedicataAssumere
I servizi dedicati ad aziende e privati che offrono lavoro e cercano personale
Vai alla pagina dedicataConnettere
Le informazioni utili agli operatori che offrono servizi e misure di politiche attive del lavoro
Vai alla pagina dedicataTesto introduttivo Le politiche attive HP
Le politiche attive del lavoro

Iniziative che aiutano a trovare un’occupazione e che comprendono: orientamento di base e specialistico, percorsi di formazione, supporto nella ricerca del lavoro, tutoraggio per l’avvio di impresa, incentivi all’occupazione.

Iniziative, misure e programmi volti a favorire l’inserimento o il reinserimento nel mercato del lavoro e che richiedono la disponibilità della persona a partecipare attivamente alle misure di politica attiva del lavoro.

Il servizio rivolto alle aziende in cerca di personale, che possono inserire le opportunità di lavoro, alle persone in cerca di lavoro, che possono inserire il proprio curriculum vitae, e a operatori e operatrici che forniscono supporto a entrambi.

I programmi formativi destinati alle persone occupate e disoccupate, promossi, coordinati e vigilati da Anpal, nel rispetto delle competenze di regioni e province autonome.
Contenuto facciamo rete
Facciamo rete
Coordiniamo la rete dei servizi per il lavoro
Gestiamo attività e programmi europei per la formazione e l'occupazione
Gestiamo l'albo nazionale dei soggetti autorizzati e accreditati alle politiche attive
Vigiliamo sui fondi paritetici interprofessionali per la formazione continua