Asset Publisher

null Excelsior: oltre 400mila assunzioni a febbraio. Incremento del 5,7% in un anno
An error occurred while processing the template.
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> &mdash; ${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> &mdash; ${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">&rarr;</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> &mdash; ${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">&rarr;</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>