PSR FOR ME

An error occurred while processing the template.
The following has evaluated to null or missing:
==> sottomisura  [in template "33101#33137#262705" at line 73, column 123]

----
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: ${sottomisura}  [in template "33101#33137#262705" at line 73, column 121]
----
1<#assign imagesPath = themeDisplay.getPathThemeImages() /> 
2 
3<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")> 
4 
5<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
6<#assign vocabularyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")> 
7<#assign categoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
8 
9<div class="container px-4 modello-3"> 
10	<div class="row"> 
11		<div class="col"> 
12			<h2 class="adt-title pt-1">${themeDisplay.getPortletDisplay().getTitle()}</h2> 
13		</div> 
14	</div> 
15	<#if entries?has_content> 
16		<#list entries as entry> 
17			<div class="row pb-3"> 
18				<#assign 
19					entry = entry 
20					assetRenderer = entry.getAssetRenderer() 
21					entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale)) 
22					viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, entry, !stringUtil.equals(assetLinkBehavior, "showFullContent")) 
23					journalArticle = assetRenderer.getAssetObject() 
24
25				<div class="col-4"> 
26					<div class="immagine"> 
27						<#if assetRenderer.getThumbnailPath(renderRequest)??> 
28							<a href="${viewURL}"> 
29								<div title="${entryTitle}" class="img" style="background: url('${assetRenderer.getThumbnailPath(renderRequest)}') 50%/cover no-repeat;"></div> 
30							</a> 
31						</#if> 
32					</div> 
33				</div> 
34				<div class="col-8 d-flex flex-column justify-content-around justify-content-md-center"> 
35					<#attempt> 
36						<#assign article = journalArticleLocalService.getLatestArticle(entry.getClassPK())> 
37						<#assign expandoValueData = article.getExpandoBridge().getAttribute("icona-multimedia")?first> 
38					<#recover> 
39						<#assign expandoValueData = "Nessuna" > 
40					</#attempt> 
41 
42<#assign categories = categoryService.getCategories("com.liferay.journal.model.JournalArticle", journalArticle.getResourcePrimKey()) > 
43 
44<#list categories as category> 
45	<#if category.name?contains("Sottomisura")> 
46		<#assign sottomisura = category.name?keep_after("Sottomisura")> 
47	</#if> 
48</#list> 
49					<#if expandoValueData != "Nessuna"> 
50						<#assign categories = entry.getCategories()> 
51						<#if categories?has_content> 
52							<div class="row d-none d-md-block metadata"> 
53								<div class="col-md-12 mb-3"> 
54									<div class="row"> 
55										<div class="col-md-1"> 
56											<img alt="${expandoValueData}" src="${imagesPath}/categorie/${expandoValueData?lower_case}.svg" /> 
57										</div> 
58										<div class="col-md-auto d-flex align-items-end"> 
59											<span class="categoria">${categories?last.name}</span> 
60										</div> 
61									</div> 
62								</div> 
63							</div> 
64						</#if> 
65					</#if> 
66						<div class="row titolo"> 
67							<div class="col"> 
68								<h3><a href="${viewURL}">${entryTitle}</a></h3> 
69							</div> 
70						</div> 
71						<div class="row summary"> 
72							<div class="col"> 
73								<span><@liferay.language key="psr.sottomisura.title" /> ${sottomisura}</span> 
74							</div> 
75						</div> 
76						<div class="row continua-a-leggere"> 
77							<div class="col"> 
78								<a class="read-more" href="${viewURL}"> 
79									<@liferay.language key="psr.keep-reading" /> 
80									<span class="hide-accessible"><@liferay.language key="about" />${entryTitle}</span> 
81								</a> 
82							</div> 
83						</div> 
84					 
85 
86					<!--<div class="row abstract"> 
87						<div class="col mb-1"> 
88							<span>${entry.getPublishDate()?string["dd/MM/yyyy"]}</span> 
89						</div> 
90						<div class="row titolo"> 
91							<div class="col"> 
92								<h3><a href="${viewURL}">${entryTitle}</a></h3> 
93							</div> 
94						</div> 
95					</div> 
96					<#assign summary = htmlUtil.escape(assetRenderer.getSummary(renderRequest, renderResponse))> 
97					<div class="row d-none d-md-block "> 
98						<div class="col mb-1"> 
99							<span>${htmlUtil.unescape(stringUtil.shorten(summary, 120))}</span> 
100						</div> 
101					</div> --> 
102					 
103				</div> 
104			</div> 
105			<#assign articleId = journalArticle.getArticleId() /> 
106			<#assign languageId = localeUtil.toLanguageId(locale) /> 
107			<#assign articleDisplay = journalArticleLocalService.getArticleDisplay(groupId, articleId?string, "normal", languageId?string,  themeDisplay) /> 
108		</#list> 
109	<#else> 
110		<#assign adtTitle = themeDisplay.getPortletDisplay().getTitle() /> 
111		<#if adtTitle == "Bandi chiusi" || adtTitle == "Bandi aperti" > 
112			<div class="alert alert-info" role="alert"> 
113				<@liferay.language key="psr.no-results-calls" /> 
114			</div> 
115		<#elseif adtTitle == "Notizie del bando" > 
116			<div class="alert alert-info" role="alert"> 
117				<@liferay.language key="psr.no-results-news" /> 
118			</div> 
119		<#else> 
120			<div class="alert alert-info" role="alert"> 
121				<@liferay.language key="psr.no-results" /> 
122			</div> 
123		</#if> 
124	</#if> 
125</div> 
< 1 2 3 4 5 ...303 >