An error occurred while processing the template.
The following has evaluated to null or missing:
==> renderer.getDisplayDate  [in template "10157#10197#1608045" at line 81, column 38]

----
Tip: It's the step after the last dot 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 Date = renderer.getDisplayDate()  [in template "10157#10197#1608045" at line 81, column 22]
----
1<#-- ADT - Home Story List --> 
2<#if entries?has_content> 
3	<#setting locale = locale.toString() /> 
4    <#setting datetime_format = "dd MMMM yyyy" /> 
5    <#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
6    <#assign themeDisplay = serviceContext.getThemeDisplay() /> 
7    <#assign showFullContent = assetLinkBehavior != "showFullContent" /> 
8    <#assign cpt=0 /> 
9    <div class="row"> 
10	    <#list entries as curEntry> 
11		 
12			<#assign renderer = curEntry.getAssetRenderer() /> 
13		    <#assign className = renderer.getClassName() /> 
14		    <#assign userName = stringUtil.split(renderer.getUserName(), ' ') /> 
15		     
16		    <#if renderer.getArticle()?? && className == "com.liferay.journal.model.JournalArticle" > 
17		        <#assign journalArticle = renderer.getArticle() /> 
18		         
19	            <#assign document = saxReaderUtil.read(journalArticle.getContent()) /> 
20	            <#assign rootElement = document.getRootElement() /> 
21			    <#assign resourcePrimKey = journalArticle.getResourcePrimKey()/> 
22			    <#-- StoryTitle --> 
23	    	    <#assign StoryTitle = "" /> 
24	            <#assign xPathSelectorItem = saxReaderUtil.createXPath("dynamic-element[@name='StoryTitle']") > 
25	            <#if xPathSelectorItem.selectSingleNode(rootElement)?? > 
26	                <#assign ItemNode = xPathSelectorItem.selectSingleNode(rootElement).selectSingleNode("dynamic-content") > 
27	                <#assign StoryTitle = ItemNode.getStringValue() > 
28	                 
29	                 
30	             <#assign ItemNodes = xPathSelectorItem.selectSingleNode(rootElement).selectNodes("dynamic-content") >        <#list ItemNodes as dynamicContentNode> 
31                   <!--dynamicContentNode: ${dynamicContentNode} --> 
32                   <#assign languageId = dynamicContentNode.attribute("language-id").getValue()?string> 
33                   <!--languageId: ${languageId} Locale ${locale}--> 
34                   <!--texte: ${dynamicContentNode.getStringValue()?trim} --> 
35                   <#if languageId == locale> 
36                      <#assign StoryTitle = dynamicContentNode.getStringValue()?trim> 
37                       
38                      <#break> <!-- Arrêter la boucle si trouvé --> 
39                     </#if> 
40                     </#list> 
41	            </#if> 
42			     
43	             <#-- Text --> 
44	    	    <#assign Text = "" /> 
45	            <#assign xPathSelectorItem = saxReaderUtil.createXPath("dynamic-element[@name='Description']") > 
46	            <#if xPathSelectorItem.selectSingleNode(rootElement)?? > 
47	                <#assign ItemNode = xPathSelectorItem.selectSingleNode(rootElement).selectSingleNode("dynamic-content") > 
48	                <#assign Text = ItemNode.getStringValue() > 
49	                 
50	                <#assign ItemNodes = xPathSelectorItem.selectSingleNode(rootElement).selectNodes("dynamic-content") >        <#list ItemNodes as dynamicContentNode> 
51                   <!--dynamicContentNode: ${dynamicContentNode} --> 
52                   <#assign languageId = dynamicContentNode.attribute("language-id").getValue()?string> 
53                   <!--languageId: ${languageId} Locale ${locale}--> 
54                   <!--texte: ${dynamicContentNode.getStringValue()?trim} --> 
55                   <#if languageId == locale> 
56                      <#assign Text = dynamicContentNode.getStringValue()?trim> 
57                       
58                      <#break> <!-- Arrêter la boucle si trouvé --> 
59                     </#if> 
60                     </#list> 
61	                 
62	                 
63	             
64	                 
65	                 
66	                 
67	                 
68	                 
69	                 
70	            </#if> 
71	             
72	            <#-- Image --> 
73	    	    <#assign Image = "" /> 
74	            <#assign xPathSelectorItem = saxReaderUtil.createXPath("dynamic-element[@name='Image']") > 
75	            <#if xPathSelectorItem.selectSingleNode(rootElement)?? > 
76	                <#assign ItemNode = xPathSelectorItem.selectSingleNode(rootElement).selectSingleNode("dynamic-content") > 
77	                <#assign Image = ItemNode.getStringValue() > 
78	            </#if> 
79	             
80	            <#-- Date --> 
81	             <#assign Date = renderer.getDisplayDate() /> 
82	            <#assign xPathSelectorItem = saxReaderUtil.createXPath("dynamic-element[@name='Date']") > 
83	            <#if xPathSelectorItem.selectSingleNode(rootElement)?? > 
84	                <#assign ItemNode = xPathSelectorItem.selectSingleNode(rootElement).selectSingleNode("dynamic-content") > 
85	                <#assign Date = ItemNode.getStringValue() /> 
86	                <#assign Date = dateUtil.parseDate("yyyy-MM-dd", Date, locale) /> 
87	            </#if> 
88	             
89	            <#-- View URL --> 
90		        <#assign viewURL= "${themeDisplay.getScopeGroup().getDisplayURL(themeDisplay)}/story/-/detail/${journalArticle.getUrlTitle()}?redirect=${themeDisplay.getURLCurrent()}"/> 
91	            <#if cpt != 0 && cpt % 3 == 0> 
92	            	</div> 
93	            	<div class="row"> 
94	            </#if> 
95	            			 
96				<div class="col-md-4"> 
97					<div class="story-list-block"> 
98						<#if Image!="" > 
99							<figure> 
100								<a href="${viewURL}" class="img"> 
101	                				<img class="story-list-img" src="${Image}" alt="Image" role="presentation" /> 
102	                				<span>${languageUtil.get(locale, "story-list.more")}</span> 
103	                			</a> 
104	                		</figure> 
105		                </#if> 
106		                <div class="story-list-content"> 
107							<h4 class="story-list-title"><a href="${viewURL}">${StoryTitle}</a></h4> 
108							<div class="story-list-date"><a href="${viewURL}">${Date?datetime}</a></div> 
109							<div class="story-list-description"> 
110								<a href="${viewURL}"> 
111									${stringUtil.shorten(Text,150)} 
112									<p><strong>${languageUtil.get(locale, "story-list.more")}</strong></p> 
113								</a> 
114							</div> 
115						</div>					 
116						 
117					</div> 
118				</div> 
119				<#assign cpt = cpt+1 /> 
120	        </#if> 
121		</#list> 
122	</div>		 
123</#if> 
An error occurred while processing the template.
The following has evaluated to null or missing:
==> renderer.getDisplayDate  [in template "10157#10197#1608085" at line 84, column 33]

----
Tip: It's the step after the last dot 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 Date = renderer.getDisplayDate()  [in template "10157#10197#1608085" at line 84, column 17]
----
1<#-- ADT - Story List --> 
2<#if entries?has_content> 
3	<#setting locale = locale.toString() /> 
4    <#setting datetime_format = "dd MMMM yyyy" /> 
5    <#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
6    <#assign themeDisplay = serviceContext.getThemeDisplay() /> 
7    <#assign showFullContent = assetLinkBehavior != "showFullContent" /> 
8    <#assign cpt=0 /> 
9    <div class="row"> 
10	    <#list entries as curEntry> 
11		 
12			<#assign renderer = curEntry.getAssetRenderer() /> 
13		    <#assign className = renderer.getClassName() /> 
14		    <#assign userName = stringUtil.split(renderer.getUserName(), ' ') /> 
15		     
16		    <#if renderer.getArticle()?? && className == "com.liferay.journal.model.JournalArticle" > 
17		        <#assign journalArticle = renderer.getArticle() /> 
18		         
19	            <#assign document = saxReaderUtil.read(journalArticle.getContent()) /> 
20	            
21	            <#assign rootElement = document.getRootElement() /> 
22	             
23			    <#assign resourcePrimKey = journalArticle.getResourcePrimKey()/> 
24			    <#-- StoryTitle --> 
25	    	    <#assign StoryTitle = "" /> 
26	            <#assign xPathSelectorItem = saxReaderUtil.createXPath("dynamic-element[@name='StoryTitle']") > 
27	            <#if xPathSelectorItem.selectSingleNode(rootElement)?? > 
28	             <#assign ItemNode = xPathSelectorItem.selectSingleNode(rootElement).selectSingleNode("dynamic-content") > 
29	              <#assign StoryTitle = ItemNode.getStringValue() > 
30	             <#assign ItemNodes = xPathSelectorItem.selectSingleNode(rootElement).selectNodes("dynamic-content") > <#list ItemNodes as dynamicContentNode> 
31                   <!--dynamicContentNode: ${dynamicContentNode} --> 
32                   <#assign languageId = dynamicContentNode.attribute("language-id").getValue()?string> 
33                   <!--languageId: ${languageId} Locale ${locale}--> 
34                   <!--texte: ${dynamicContentNode.getStringValue()?trim} --> 
35                   <#if languageId == locale> 
36                      <#assign StoryTitle = dynamicContentNode.getStringValue()?trim> 
37                       
38                      <#break> <!-- Arrêter la boucle si trouvé --> 
39                     </#if> 
40                     </#list> 
41	              
42	              
43	                 
44	                
45                  
46	           
47	            </#if> 
48			     
49	             <#-- Text --> 
50	    	    <#assign Text = "" /> 
51	            <#assign xPathSelectorItem = saxReaderUtil.createXPath("dynamic-element[@name='Description']") > 
52	            <#if xPathSelectorItem.selectSingleNode(rootElement)?? > 
53	                <#assign ItemNode = xPathSelectorItem.selectSingleNode(rootElement).selectSingleNode("dynamic-content") > 
54	                <#assign Text = ItemNode.getStringValue() > 
55	                 
56	                 
57	                <#assign ItemNodes = xPathSelectorItem.selectSingleNode(rootElement).selectNodes("dynamic-content") > <#list ItemNodes as dynamicContentNode> 
58                   <!--dynamicContentNode: ${dynamicContentNode} --> 
59                   <#assign languageId = dynamicContentNode.attribute("language-id").getValue()?string> 
60                   <!--languageId: ${languageId} Locale ${locale}--> 
61                   <!--texte: ${dynamicContentNode.getStringValue()?trim} --> 
62                   <#if languageId == locale> 
63                      <#assign Text = dynamicContentNode.getStringValue()?trim> 
64                       
65                      <#break> <!-- Arrêter la boucle si trouvé --> 
66                     </#if> 
67                     </#list> 
68	              
69	                 
70	                 
71	                 
72	                 
73	            </#if> 
74	             
75	            <#-- Image --> 
76	    	    <#assign Image = "" /> 
77	            <#assign xPathSelectorItem = saxReaderUtil.createXPath("dynamic-element[@name='Image']") > 
78	            <#if xPathSelectorItem.selectSingleNode(rootElement)?? > 
79	                <#assign ItemNode = xPathSelectorItem.selectSingleNode(rootElement).selectSingleNode("dynamic-content") > 
80	                <#assign Image = ItemNode.getStringValue() > 
81	            </#if> 
82	             
83	            <#-- Date --> 
84                <#assign Date = renderer.getDisplayDate() /> 
85	            <#assign xPathSelectorItem = saxReaderUtil.createXPath("dynamic-element[@name='Date']") > 
86	            <#if xPathSelectorItem.selectSingleNode(rootElement)?? > 
87	                <#assign ItemNode = xPathSelectorItem.selectSingleNode(rootElement).selectSingleNode("dynamic-content") > 
88	                <#assign Date = ItemNode.getStringValue() /> 
89	                <#assign Date = dateUtil.parseDate("yyyy-MM-dd", Date, locale) /> 
90	            </#if> 
91	             
92	            <#-- View URL --> 
93		        <#assign viewURL= "${themeDisplay.getScopeGroup().getDisplayURL(themeDisplay)}/story/-/detail/${journalArticle.getUrlTitle()}?redirect=${themeDisplay.getURLCurrent()}"/> 
94	            <#if cpt != 0 && cpt % 3 == 0> 
95	            	</div> 
96	            	<div class="row"> 
97	            </#if> 
98	            			 
99				<div class="col-md-4"> 
100					<div class="block-white"> 
101						<div class="story-list-block"> 
102							<#if Image!="" > 
103								<figure> 
104									<a href="${viewURL}" class="img"> 
105		                				<img class="story-list-img" src="${Image}" alt="Image" role="presentation" /> 
106		                				<span>${languageUtil.get(locale, "story-list.more")}</span> 
107		                			</a> 
108		                		</figure> 
109			                </#if> 
110			                <div class="story-list-content"> 
111								<h4 class="story-list-title"><a href="${viewURL}">${languageUtil.get(locale, StoryTitle)}</a></h4> 
112								<div class="story-list-date"><a href="${viewURL}">${Date?datetime}</a></div> 
113								<div class="story-list-description"> 
114									<a href="${viewURL}"> 
115										${stringUtil.shorten(Text,150)} 
116										 
117										<p><strong>${languageUtil.get(locale, "story-list.more")}</strong></p> 
118									</a> 
119								</div> 
120							</div> 
121						</div> 
122					</div> 
123				</div> 
124				<#assign cpt = cpt+1 /> 
125	        </#if> 
126		</#list> 
127	</div>		 
128</#if> 
Vipan Kumar
India
I commit to preserving and caring for wetlands,acknowledging their importance in supporting life,maintaining water quality and balancing the climate for better future. I pledge to be a guardian of our planet's precious wetlands.
Jithin Anto A
India
WETLAND MITRA Wetland Mitra We have volunteered as Wetland Mitras to keep our wetlands healthy. We recognize that wetlands play a vital role in social, economic and environmental well being. We understand that the degradation of wetlands by encro
Jithin Anto A
India
WETLAND MITRA Wetland Mitra We have volunteered as Wetland Mitras to keep our wetlands healthy. We recognize that wetlands play a vital role in social, economic and environmental well being. We understand that the degradation of wetlands by encro
Yogesh M
India
I commit to preserving and caring for wetlands, acknowledging their importance in supporting life, maintaining water quality, and balancing the climate for a better future