World Wetlands Day Messages and Statements

Une erreur s'est produite lors du traitement du modèle.
The following has evaluated to null or missing:
==> renderer.getDisplayDate  [in template "10157#10197#1137899" at line 47, 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#1137899" at line 47, 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	            <#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	            </#if> 
29			     
30	             <#-- Text --> 
31	    	    <#assign Text = "" /> 
32	            <#assign xPathSelectorItem = saxReaderUtil.createXPath("dynamic-element[@name='Description']") > 
33	            <#if xPathSelectorItem.selectSingleNode(rootElement)?? > 
34	                <#assign ItemNode = xPathSelectorItem.selectSingleNode(rootElement).selectSingleNode("dynamic-content") > 
35	                <#assign Text = ItemNode.getStringValue() > 
36	            </#if> 
37	             
38	            <#-- Image --> 
39	    	    <#assign Image = "" /> 
40	            <#assign xPathSelectorItem = saxReaderUtil.createXPath("dynamic-element[@name='Image']") > 
41	            <#if xPathSelectorItem.selectSingleNode(rootElement)?? > 
42	                <#assign ItemNode = xPathSelectorItem.selectSingleNode(rootElement).selectSingleNode("dynamic-content") > 
43	                <#assign Image = ItemNode.getStringValue() > 
44	            </#if> 
45	             
46	            <#-- Date --> 
47                <#assign Date = renderer.getDisplayDate() /> 
48	            <#assign xPathSelectorItem = saxReaderUtil.createXPath("dynamic-element[@name='Date']") > 
49	            <#if xPathSelectorItem.selectSingleNode(rootElement)?? > 
50	                <#assign ItemNode = xPathSelectorItem.selectSingleNode(rootElement).selectSingleNode("dynamic-content") > 
51	                <#assign Date = ItemNode.getStringValue() /> 
52	                <#assign Date = dateUtil.parseDate("yyyy-MM-dd", Date, locale) /> 
53	            </#if> 
54	             
55	            <#-- View URL --> 
56		        <#assign viewURL= "${themeDisplay.getScopeGroup().getDisplayURL(themeDisplay)}/story/-/detail/${journalArticle.getUrlTitle()}?redirect=${themeDisplay.getURLCurrent()}"/> 
57	            <#if cpt != 0 && cpt % 3 == 0> 
58	            	</div> 
59	            	<div class="row"> 
60	            </#if> 
61	            			 
62				<div class="col-md-4"> 
63					<div class="block-white"> 
64						<div class="story-list-block"> 
65							<#if Image!="" > 
66								<figure> 
67									<a href="${viewURL}" class="img"> 
68		                				<img class="story-list-img" src="${Image}" alt="Image" role="presentation" /> 
69		                				<span>${languageUtil.get(locale, "story-list.more")}</span> 
70		                			</a> 
71		                		</figure> 
72			                </#if> 
73			                <div class="story-list-content"> 
74								<h4 class="story-list-title"><a href="${viewURL}">${StoryTitle}</a></h4> 
75								<div class="story-list-date"><a href="${viewURL}">${Date?datetime}</a></div> 
76								<div class="story-list-description"> 
77									<a href="${viewURL}"> 
78										${stringUtil.shorten(Text,150)} 
79										 
80										<p><strong>${languageUtil.get(locale, "story-list.more")}</strong></p> 
81									</a> 
82								</div> 
83							</div> 
84						</div> 
85					</div> 
86				</div> 
87				<#assign cpt = cpt+1 /> 
88	        </#if> 
89		</#list> 
90	</div>		 
91</#if> 

"Pitch for the Grant" 2023

Appel aux idées de projets pour les zone humides

Déposez votre candidature du 2 février au 2 mars 2023 pour tenter votre chance de recevoir un financement de EUR 10'000 de la part de Danone.

 
 

En savoir plus

Ce que vous pouvez faire?

Ressources de communication

Disponible dans différentes langues et formats.

Télécharger

Zones humides

Surface émergée saturée d’eau ou inondée, soit en permanence, soit selon les saisons.

Zones humides continentales:

Marais, lacs, cours d’eau, plaines d’inondation, toubières et marécages  

Zones humides côtières:

Marais salés, estuaires, mangroves, et lagunes et récifs coralliens

Zones humides artificielles:

Etangs de pisciculture, rizières et marais salants
 

Une erreur s'est produite lors du traitement du modèle.
Java method "jdk.proxy3.$Proxy149.getFolder(long, long, String)" threw an exception when invoked on jdk.proxy3.$Proxy149 object "com.liferay.portlet.documentlibrary.service.impl.DLFolderLocalServiceImpl@6955bf53"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign folderId = dLFolderLocalServi...  [in template "10157#10197#1137782" at line 6, column 1]
----
1<#assign groupLocalServiceUtil = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")> 
2<#assign dLFolderLocalServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFolderLocalService")> 
3<#assign dLFileEntryLocalServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")> 
4 
5<#assign groupId = themeDisplay.getScopeGroup().getGroupId() /> 
6<#assign folderId = dLFolderLocalServiceUtil.getFolder(groupId, 0, FolderName.getData()).getFolderId() /> 
7<#assign files = dLFileEntryLocalServiceUtil.getFileEntries(groupId, folderId) /> 
8 
9<#assign size = files?size /> 
10 
11<script> 
12	var images=[]; 
13	<#assign imageAdd= "/o/wwday-theme/images/add.png" /> 
14	<#assign cpt = 0 /> 
15	<#list files as fileEntry > 
16		images[${cpt}]="/documents/${groupId}/${folderId}/${fileEntry.getTitle()}/${fileEntry.getUuid()}"; 
17		<#assign cpt=cpt+1 /> 
18	</#list> 
19</script> 
20 
21 
22<div class="HomeGetInvolved imageTable"> 
23	<h1 style="font-weight:700">${TableTitle.getData()}</h1> 
24 
25	<table style="width:100%" border="0"> 
26		<tr> 
27			<td colspan="2" rowspan="2" style="width:33.3333%;background-image:url('${getRandomURL(files, 0.12)}')" id="img-1" >&nbsp;</td> 
28			<td style="width:16.6666%;background-image:url('${getRandomURL(files, 0.93)}')" id="img-2" >&nbsp;</td> 
29			<td style="width:16.6666%;background-image:url('${getRandomURL(files, 0.45)}')" id="img-3">&nbsp;</td> 
30			<td style="width:16.6666%;background-image:url('${getRandomURL(files, 0.67)}')" id="img-4">&nbsp;</td> 
31			<td style="width:16.6666%;background-image:url('${getRandomURL(files, 0.31)}')" id="img-5">&nbsp;</td> 
32		</tr> 
33		<tr> 
34			<td style="width:16.6666%;background-image:url('${imageAdd}')"><a href="${themeDisplay.getScopeGroup().getDisplayURL(themeDisplay)+AddPhotoURL.getData()}"><img src="${imageAdd}" ></a></td> 
35			<td colspan="2" rowspan="2" style="width:33.3333%;background-image:url('${getRandomURL(files, 0.24)}')" id="img-6">&nbsp;</td> 
36			<td style="width:16.6666%;background-image:url('${getRandomURL(files, 0.53)}')" id="img-7">&nbsp;</td> 
37		</tr> 
38		<tr> 
39			<td style="width:16.6666%;background-image:url('${getRandomURL(files, 0.39)}')" id="img-8">&nbsp;</td> 
40			<td style="width:16.6666%;background-image:url('${getRandomURL(files, 0.83)}')" id="img-9">&nbsp;</td> 
41			<td style="width:16.6666%;background-image:url('${getRandomURL(files, 0.11)}')" id="img-10">&nbsp;</td> 
42			<td style="width:16.6666%;background-image:url('${getRandomURL(files, 0.49)}')" id="img-11">&nbsp;</td> 
43		</tr> 
44	</table> 
45 
46	<br><a href="${LinkURL.getData()}" class="btn btn-default">${LinkTitle.getData()}</a>  
47</div> 
48 
49 
50<script> 
51	function changeAllImages(){ 
52		for( var i=1; i<12; i++){ 
53			var index = (i % ${size}); 
54			$("#img-"+i).css("background-image","url('"+images[index]+"')"); 
55			$("#img-"+i).css("height",$("#img-"+i).width()+'px'); 
56
57
58	 
59	function changeImage(){ 
60		var i = Math.floor((Math.random() * 11) + 1); 
61		var index = Math.floor((Math.random() * ${size}) + 1); 
62		$("#img-"+i).fadeOut(500, function() { 
63			$("#img-"+i).css("background-image","url('"+images[index]+"')"); 
64		}).fadeIn(400); 
65
66	changeAllImages(); 
67	setInterval(changeImage, 4000); 
68</script> 
69<style> 
70	.imageTable img{ 
71		width: 100%; 
72		 
73
74	.imageTable td{ 
75		background-repeat:no-repeat; 
76		background-size:cover; 
77		padding: 2px; 
78		background-position:center; 
79		border: solid 2px #ffffff; 
80
81</style> 
82 
83 
84 
85 
86 
87 
88 
89<#function getRandomURL files rnd> 
90	<#assign nb = rand(1, files?size-1, rnd)>	 	 
91	<#assign cpt= 0> 
92	<#list files as fileEntry > 
93		<#if cpt == nb > 
94	 		<#return "/documents/"+groupId+"/"+folderId+"/"+fileEntry.getTitle()+"/"+fileEntry.getUuid() /> 
95	 	</#if> 
96	 	<#assign cpt = cpt +1 /> 
97	</#list> 
98	<#return "" /> 
99</#function> 
100 
101<#function rand min max rnd> 
102	 
103	<#local now = .now?long?c /> 
104	<#local randomNum = rnd + 
105		("0." + now?substring(now?length-1) + now?substring(now?length-2))?number /> 
106  	<#if (randomNum > 1)> 
107		<#assign _rand = randomNum % 1 /> 
108  	<#else> 
109		<#assign _rand = randomNum /> 
110  </#if> 
111  <#return (min + ((max - min) * _rand))?round /> 
112</#function> 

Les partenaires