La AECID, a través de la OCHA, refuerza su respuesta ante la crisis humanitaria en Haití con una nueva contribución de 900.000 euros.
Ver más
Fortaleciendo la educación técnica y profesional en Haití
Ver másEl Programa de Transición Ecológica (PROTEC), impulsa la protección del medio ambiente en Haití
Ver más
Temporada ciclónica 2026: AECID contribuye a la preparación y respuesta ante desastres climáticos.
Ver más
AECID y la FICR unen sus fuerzas para una respuesta humanitaria ante el desplazamiento forzado.
Ver más
Las actividades generadoras de ingresos: un recurso para alcanzar la autonomía económica de las mujeres y el desarrollo.
Ver más
La Oficina de la Cooperación Española de la Embajada de España en Haití, funcionalmente dependiente de la Agencia Española de Cooperación Internacional para el Desarrollo (AECID), fue abierta en la ciudad de Puerto Príncipe en 1989 y desde entonces ha mantenido un profundo compromiso con la mejora de las capacidades de desarrollo del país sirviendo como punto de referencia para la articulación de las actuaciones españolas en materia de cooperación para el desarrollo sostenible, la acción humanitaria y la educación para el desarrollo sostenible y la ciudadanía global.
Contratación de un proveedor de servicios para la realización de la auditoría externa de un proyecto en Marigot y Cayes Jacmel - Asociación Nacional Tèt kole Ti Peyizan.
Java method "jdk.proxy162.$Proxy992.getArticle(long, String)" threw an exception when invoked on jdk.proxy162.$Proxy992 object "com.liferay.journal.service.impl.JournalArticleLocalServiceImpl@4846485d"; see cause exception in the Java stack trace.
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign journalArticle = JournalArtic... [in template "20096#20122#89870" at line 88, column 1]
----
1<style>
2 .aecid-anuncio a {
3 color: var(--brand-color-1);
4 }
5.aecid-anuncio a:hover, .aecid-anuncio .share-option:hover {
6 opacity: .5;
7 }
8 .aecid-anuncio h2 {
9 font-weight: bold;
10 margin-bottom: 20px;
11 font-size: 24px;
12 }
13 .aecid-anuncio h3 {
14 font-weight: bold;
15 margin-bottom: 20px;
16 font-size: 20px;
17 }
18
19 .fecha{
20 color: #6f6f6f;
21 font-size: 0.85em;
22 }
23 .organo{
24 text-transform: uppercase;
25 color: #6f6f6f;
26 font-size: 0.85em;
27 }
28 .categoria{
29 color: #6f6f6f;
30 font-size: 0.85em;
31 text-transform: uppercase;
32 }
33 .cuerpo{
34 color: #6f6f6f;
35 font-size: 0.9em;
36 }
37.botonRRSS {
38 display: inline-block;
39 color: #fff;
40 vertical-align: middle;
41 cursor: pointer;
42 -webkit-user-select: none;
43 -moz-user-select: none;
44 user-select: none;
45 background-color: transparent;
46 border: 1px solid transparent;
47 padding: 0.375rem 0.75rem;
48 border-radius: 0.25rem;
49 transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
50}
51
52.share-option {
53 background-color: transparent;
54 border: none;
55 padding: 0;
56}
57
58.facebook {
59 background-color: #3B5998;
60}
61
62.fb-xfbml-parse-ignore {
63 background-color: transparent;
64 border: none;
65 }
66
67 .fb-xfbml-parse-ignore:hover {
68 opacity: .5;
69 }
70
71 .twitter {
72 background-color: #1D9BF0;
73 }
74 @media screen and (max-width: 576px) {
75 .aecid-anuncio{
76 padding-left: 10px;
77 }
78 }
79
80</style>
81
82<div id="fb-root"></div>
83<script async defer crossorigin="anonymous" src="https://connect.facebook.net/es_ES/sdk.js#xfbml=1&version=v14.0" nonce="r45a3F5a"></script>
84
85<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
86<#assign AssetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") />
87<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
88<#assign journalArticle = JournalArticleLocalService.getArticle(getterUtil.getLong(groupId),.vars['reserved-article-id'].data) />
89<#assign categories = AssetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", journalArticle.getResourcePrimKey()) />
90<#assign currentURL = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() />
91<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
92<#assign assetEntry = AssetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", journalArticle.getResourcePrimKey())/>
93
94<#if (serviceLocator.findService("es.aecid.shorturl.service.AecidShortUrlService"))??>
95 <#assign shortUrlService=serviceLocator.findService("es.aecid.shorturl.service.AecidShortUrlService") />
96 <#assign currentShortURL=themeDisplay.getPortalURL() + '/' + shortUrlService.getShortUrl(currentURL, companyId, groupId,
97 themeDisplay.getUserId()) />
98<#else>
99 <#assign currentShortURL=currentURL />
100</#if>
101
102<#assign siteGroupId = themeDisplay.getSiteGroupId()>
103<div id="aecid-detalle-anuncio" class="container p-0 mt-2 mb-5">
104 <div class="row aecid-anuncio">
105 <#if siteGroupId == 20120> <!-- AECID PRINCIPAL -->
106 <div class="col-12 p-0">
107 <h2 tabindex="0"><span class="sr-only">${languageUtil.get(locale, "apartado.del.anuncio")}: </span>
108 <#if categories?has_content>
109 <#list categories as category>
110 ${category.getName()}${category?has_next?then(', ', '')}
111 </#list>
112 </#if>
113 </h2>
114 <hr>
115 </div>
116
117 <div class="col-12 p-0">
118 <p class="fecha" tabindex="0"><span class="sr-only">${languageUtil.get(locale, "fecha.de.publicacion.de.la.noticia")}</span>
119 <#if journalArticle?has_content>
120 <#assign fechaPubli = assetEntry.getPublishDate()?datetime?string["dd/MM/yyyy"] >
121 ${fechaPubli}
122 </#if>
123 </p>
124 </div>
125
126 <div class="col-12 p-0"><h3 tabindex="0"><span class="sr-only">${languageUtil.get(locale, "titulo.del.anuncio")}: </span>${titulo.getData()}</h3></div>
127
128 <div class="col-12 p-0">
129 <#if (announcing.getData())??>
130 <p class="organo" tabindex="0">${languageUtil.get(locale, "organo.convocante.o.anunciante")} - ${announcing.getData()} </p>
131 </#if>
132 </div>
133
134 <div class="col-12 p-0">
135 <#assign fechaPublicacion_Data = getterUtil.getString(fechaPublicacion.getData())>
136
137 <#if validator.isNotNull(fechaPublicacion_Data)>
138 <p class="fecha" tabindex="0">${languageUtil.get(locale, "fecha.limite.presentacion")} -
139 <#assign fechaPublicacion_DateObj = dateUtil.parseDate("yyyy-MM-dd", fechaPublicacion_Data, locale)>
140 ${dateUtil.getDate(fechaPublicacion_DateObj, "dd/MM/yyyy", locale)}
141 </p>
142 </#if>
143 </div>
144
145 <div class="col-12 p-0">
146 <#if (body.getData())??>
147 <p class="cuerpo" tabindex="0">${body.getData()} </p>
148 </#if>
149 </div>
150
151 <div class="col-12 p-0">
152 <#if (contactData.getData())??>
153 <p class="fecha" tabindex="0">${languageUtil.get(locale, "contacto")}</p>
154 <p>${contactData.getData()}</p>
155 </#if>
156 </div>
157
158
159 <div class="col-flex">
160 <#if (linkOutside.getData())?? && linkOutside.getData() != "">
161 <a class="mr-3" href="${linkOutside.getData()}">
162 <img alt="${languageUtil.get(locale, 'ir.al.enlace')}" src="${themeDisplay.getPathThemeImages()}/icons/svg/icon_link_1.svg"/>
163 ${linkText.getData()}
164 </a>
165 </#if>
166 </div>
167
168 <#if attachedGroup?has_content>
169 <div class="col-flex">
170 <#list attachedGroup.getSiblings() as item>
171 <#if (item.document.getData())?? && item.document.getData() != "">
172 <a class="mr-3" href="${item.document.getData()}" target="_blank">
173 <img alt="${languageUtil.get(locale, 'ir.al.enlace')}" src="${themeDisplay.getPathThemeImages()}/icons/svg/icon_link_1.svg"/>
174 ${item.attached.getData()}
175 </a>
176 </#if>
177
178 <#if (item.externalDocument.getData())?? && item.externalDocument.getData() != "">
179 <a class="mr-3" href="${item.externalDocument.getData()}" target="_blank">
180 <img alt="${languageUtil.get(locale, 'ir.al.enlace')}" src="${themeDisplay.getPathThemeImages()}/icons/svg/icon_link_1.svg"/>
181 ${item.attached.getData()}
182 </a>
183 </#if>
184 </#list>
185 </div>
186 </#if>
187 <#else> <!-- EL RESTO DE LOS SITE DE LAS OCES -->
188 <div class="col-12 p-0">
189 <h2 tabindex="0"><span class="sr-only">${languageUtil.get(locale, "apartado.del.anuncio")}: </span>
190 <#if categories?has_content>
191 <#list categories as category>
192 ${category.getName()}${category?has_next?then(', ', '')}
193 </#list>
194 </#if>
195 </h2>
196 <hr>
197 </div>
198
199 <div class="col-12 p-0">
200 <p class="fecha" tabindex="0"><span class="sr-only">${languageUtil.get(locale, "fecha.de.publicacion.de.la.noticia")}</span>
201 <#if journalArticle?has_content>
202 <#assign fechaPubli = assetEntry.getPublishDate()?datetime?string["dd/MM/yyyy"] >
203 ${fechaPubli}
204 </#if>
205 </p>
206 </div>
207
208 <div class="col-12 p-0"><h3 tabindex="0"><span class="sr-only">${languageUtil.get(locale, "titulo.del.anuncio")}: </span>${titulo.getData()}</h3></div>
209
210 <div class="col-12 p-0">
211 <#if (announcing.getData())?? && announcing.getData() != "">
212 <p class="organo" tabindex="0">${languageUtil.get(locale, "organo.convocante.o.anunciante")} - ${announcing.getData()} </p>
213 </#if>
214 </div>
215
216 <div class="col-12 p-0">
217 <#assign fechaPublicacion_Data = getterUtil.getString(fechaPublicacion.getData())>
218
219 <#if validator.isNotNull(fechaPublicacion_Data)>
220 <p class="fecha" tabindex="0">${languageUtil.get(locale, "fecha.limite.presentacion")} -
221 <#assign fechaPublicacion_DateObj = dateUtil.parseDate("yyyy-MM-dd", fechaPublicacion_Data, locale)>
222 ${dateUtil.getDate(fechaPublicacion_DateObj, "dd/MM/yyyy", locale)}
223 </p>
224 </#if>
225 </div>
226
227 <div class="col-12 p-0">
228 <#if (body.getData())??>
229 <p class="cuerpo" tabindex="0">${body.getData()} </p>
230 </#if>
231 </div>
232
233 <div class="col-12 p-0">
234 <#if (contactData.getData())?? && contactData.getData() != "">
235 <p class="fecha" tabindex="0">${languageUtil.get(locale, "contacto")}</p>
236 <p>${contactData.getData()}</p>
237 </#if>
238 </div>
239
240
241 <div class="col-flex">
242 <#if (linkOutside.getData())?? && linkOutside.getData() != "">
243 <a class="mr-3" href="${linkOutside.getData()}">
244 <img alt="${languageUtil.get(locale, 'ir.al.enlace')}" src="/documents/d/global/icon_link_1"/>
245 ${linkText.getData()}
246 </a>
247 </#if>
248 </div>
249
250 <#if attachedGroup?has_content>
251 <div class="col-flex">
252 <ul class="list-unstyled">
253 <#list attachedGroup.getSiblings() as item>
254 <#if (item.document.getData())?? && item.document.getData() != "">
255 <li><a class="mr-3" href="${item.document.getData()}" target="_blank">
256 <img alt="${languageUtil.get(locale, 'ir.al.enlace')}" src="/documents/d/global/icon_link_1"/>
257 ${item.attached.getData()}
258 </a></li>
259 </#if>
260
261 <#if (item.externalDocument.getData())?? && item.externalDocument.getData() != "">
262 <li><a class="mr-3" href="${item.externalDocument.getData()}" target="_blank">
263 <img alt="${languageUtil.get(locale, 'ir.al.enlace')}" src="/documents/d/global/icon_link_1"/>
264 ${item.attached.getData()}
265 </a></li>
266 </#if>
267 </#list>
268 </ul>
269 </div>
270 </#if>
271 </#if>
272
273 <@liferay_util["html-top"] outputKey="htmltop">
274
275 <!-- METAS RRSS -->
276 <meta property="og:url" content="${currentURL}" />
277 <meta property="og:site_name" content="SiteName" />
278
279 <meta property="og:type" content="website" />
280 <meta property="og:locale" content="gl_ES" />
281 <meta property="og:locale:alternate" content="gl_ES" />
282
283 <meta name="twitter:card" content="summary_large_image" />
284 <meta property="og:title" content="Titulo" />
285 <meta name="twitter:title" content="Titulo" />
286
287 <meta property="og:description" content="Desc1" />
288 <meta name="twitter:description" content="Desc2" />
289
290 <meta property="fb:app_id" content="???">
291 <meta property="fb:admins" content="https://www.facebook.com/Aecid.es">
292 <meta name="twitter:domain" content="${currentURL}" />
293
294 <meta name="twitter:site" content="@AECID_es" />
295 </@>
296 <div class="col-12 p-0 mt-2"><hr></div>
297
298 <div class="row col-12 p-0">
299 <!-- button visible facebook -->
300 <div class="col-flex mr-2">
301 <button class="fb-xfbml-parse-ignore" onClick="shareFacebook();" target="_blank" class="share-option"
302 index-social-media-list="0">
303
304 <div class="botonRRSS facebook no-ico">
305 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor"
306 class="bi bi-facebook" viewBox="0 0 16 16">
307 <path
308 d="M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951z" />
309 </svg>
310 </div>
311 </button>
312 </div>
313
314 <!-- button visible twitter -->
315 <div class="col-flex mr-2">
316 <a href="https://twitter.com/intent/tweet?text=Mira esta noticia: ${titulo.getData()} ${currentShortURL}"
317 class="twitter-share share-option no-ico" target="_blank" index-social-media-list="1">
318 <div class="botonRRSS twitter">
319 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor"
320 class="bi bi-twitter" viewBox="0 0 16 16">
321 <path
322 d="M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15z" />
323 </svg>
324 </div>
325 </a>
326 </div>
327 </div>
328</div>
329
330<script>
331 function shareFacebook() {
332 let urlShare = 'http://www.facebook.com/sharer.php?s=100&p[title]=' + encodeURI('${titulo.getData()}') +
333 '&p[summary]=Resumen&p[url]=${currentShortURL}';
334 let a= document.createElement('a');
335 a.target= '_blank';
336 a.href= urlShare;
337 a.click();
338 }
339</script>
Últimas noticias
La AECID, a través de la OCHA, refuerza su respuesta ante la crisis humanitaria en Haití con una nueva contribución de 900.000 euros.: La AECID, a través de la OCHA, refuerza su respuesta ante la crisis humanitaria en Haití con una nueva contribución de 900.000 euros.
Fecha de la noticia:: 22/06/2026
Fortaleciendo la educación técnica y profesional en Haití: Fortaleciendo la educación técnica y profesional en Haití
Fecha de la noticia:: 16/06/2026
El Programa de Transición Ecológica (PROTEC), impulsa la protección del medio ambiente en Haití.: El Programa de Transición Ecológica (PROTEC), impulsa la protección del medio ambiente en Haití.
Fecha de la noticia:: 05/06/2026