World Wetlands Day Messages and Statements

Se ha producido un error al procesar la plantilla.
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

Convocatoria de ideas de proyectos en Humedales

Enviaz solicitudes del 2 de febrero al 2 de marzo de 2023 para tener la opportunidad de recebir 10'000 euros proporcionados por Danone.

 
 

Más información

¿Qué puedes hacer?

Recursos de comunicación

Disponible en diferentes idiomas y formatos

Descargar

Humedales

Zona de la superficie terrestre que está temporal o permanentemente inundada.

Humedales continentales:

Marismas, lagos, ríos, llanuras de inundación, tuberas y pantanos  

Humedales costeros:

Marismas de agua salada, estuarios, manglares, lagunas y arrecifes de coral

Humedales artificiales:

Estanques piscícolas, arrozales y salinas
 

Se ha producido un error al procesar la plantilla.
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> 

Los socios