Official website of World Wetlands Day by Ramsar - 2 February
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