Publicaciones - Foro para la Integración Social de los Inmigrantes
Órgano de consulta, información y asesoramiento del Gobierno de España en materia de integración de las personas inmigrantes
Publicaciones
For "." left-hand operand: Expected a hash, but this has evaluated to a string (wrapper: f.t.SimpleScalar):
==> catPropValue [in template "20097#20123#DOCUMENTO_APROBADO-NIPO" at line 82, column 54]
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign color = catPropValue.getValue() [in template "20097#20123#DOCUMENTO_APROBADO-NIPO" at line 82, column 37]
----
1<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")/>
2<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
3<#assign entry = journalArticleLocalService.fetchArticle(groupId, .vars['reserved-article-id'].data) />
4<#assign articlePriority = assetEntryLocalService.getEntryPriority("com.liferay.journal.model.JournalArticle", getterUtil.getLong(entry.getResourcePrimKey())) />
5
6<div class="doc-aprobado">
7 <div class="media my-3">
8 <div class="media-body">
9 <#if biblioteca_publicacion_fichero_principal.biblioteca_publicacion_fichero_principal_fichero.getData()?has_content || biblioteca_publicacion_titulo.getData()?has_content>
10 <a href="${biblioteca_publicacion_fichero_principal.biblioteca_publicacion_fichero_principal_fichero.getData()}"
11 target="_blank">
12 <h2 class="h3">${biblioteca_publicacion_titulo.getData()}</h2>
13 </a>
14 </#if>
15 <#if biblioteca_publicacion_portada.getData()?has_content>
16 <div class="imagen-documento">
17 <img alt="${biblioteca_publicacion_portada.getAttribute("alt")}"
18 data-fileentryid="${biblioteca_publicacion_portada.getAttribute("fileEntryId")}"
19 src="${biblioteca_publicacion_portada.getData()}" class="mr-4"/>
20 </div>
21 <#else>
22 <div class="imagen-documento">
23 <img alt="<@liferay.language key="foro.alt.resultado"/>"
24 src="/documents/1652165/1651241/document-309065_960_720.png/a86f37c8-b3f4-b75d-53c2-51a9d73eb37e?t=1663254524921"
25 class="mr-4"/>
26 </div>
27 </#if>
28 <#if biblioteca_publicacion_sinopsis.getData()?has_content>
29 <div class="mt-3">
30 ${biblioteca_publicacion_sinopsis.getData()}
31 </div>
32 </#if>
33
34 <#assign catLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")/>
35 <#assign article = journalArticleLocalService.fetchArticle(groupId, .vars['reserved-article-id'].data) />
36 <#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") />
37 <#assign globalGroup = groupLocalService.getCompanyGroup(company.getCompanyId()) />
38 <#assign globalGroupId = globalGroup.getGroupId() />
39 <#assign allCategories = catLocalService.getCategories("com.liferay.journal.model.JournalArticle", getterUtil.getLong(article.getResourcePrimKey()) ) />
40 <#assign articleCategories = allCategories?filter(cat -> cat.getGroupId() == globalGroupId) />
41
42 <#if (articleCategories?size gt 0) || (articlePriority gt 0)>
43 <#assign catPropLocalService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
44 <#assign categoriasExcluidas = ["Anual", "Biblioteca"] />
45
46 <div class="mt-3 doc-categories">
47 <#if (articlePriority gt 0)>
48 <i class="bi bi-bookmark-star"></i>
49 </#if>
50
51 <#if (articleCategories?size gt 0)>
52 <#assign html = "" />
53 <#assign primero = 0 />
54 <#assign ultimo = 0 />
55
56 <#list articleCategories as curCat>
57 <#if categoriasExcluidas?seq_contains(curCat.getName())>
58 <#continue>
59 </#if>
60
61 <#assign color = "" />
62
63 <#if curCat.name?matches("^[0-9]+$")>
64 <#assign indice = curCat.name?number />
65 <#if primero == 0>
66 <#assign primero = indice />
67 <#elseif primero gt indice>
68 <#assign ultimo = primero />
69 <#assign primero = indice />
70 <#elseif primero lt indice>
71 <#if ultimo lt indice>
72 <#assign ultimo = indice />
73 </#if>
74 </#if>
75 <#else>
76 <#if html != curCat.name>
77 <#assign html = curCat.name />
78 </#if>
79
80 <#assign catPropValue = catPropLocalService.fetchCategoryProperty(curCat.getCategoryId(), "Color")!"" />
81 <#if catPropValue??>
82 <#assign color = catPropValue.getValue() />
83 </#if>
84
85 <span class="select-${color}" title="${html}">${html}</span>
86 <style>
87 .select-${color} {
88 border: 1px solid transparent;
89 padding: 0.25rem 0.5rem;
90 font-size: 0.775rem;
91 line-height: 1.5;
92 border-radius: 0.2rem;
93 color: #ffffff;
94 background-color: #${color};
95 display: inline-block;
96 font-weight: 400;
97 text-align: center;
98 vertical-align: middle;
99 }
100 </style>
101 </#if>
102 </#list>
103 <#if ultimo != 0>
104 <span class="anio" title="${primero} - ${ultimo}">${primero} - ${ultimo}</span>
105 <#else>
106 <span class="anio" title="${primero}">${primero}</span>
107 </#if>
108 </#if>
109 </div>
110 </#if>
111 </div>
112 </div>
113</div>
Memoria Anual del Foro para la Integración Social de los Inmigrantes 2025

La Memoria Anual es un documento de trabajo que cumple principalmente una función comunicativa y otra recopilatoria. Por un lado, permite informar a las personas y entidades relacionadas con el Foro para la Integración Social de los Inmigrantes (FISI), así como a la ciudadanía, sobre las actividades realizadas, sus objetivos y resultados durante un período determinado. Además, facilita la comparación con otros organismos similares y favorecen la coordinación de futuras actuaciones. Por otro lado, recopila de forma detallada el trabajo desarrollado por comisiones, grupos de trabajo y representantes, ofreciendo una visión global de la actividad y los resultados obtenidos por el FISI en el período analizado.
Fostering sustainable labour market integration of third-country: skills matching policies and instruments
This study uses data from the Organisation for Economic Co-operation and Development (OECD) to provide an overview of skills mismatch across selected OECD and EMN Member Countries. Skills mismatch refers to the gap between the skills and qualifications individuals possess and those required in the jobs they hold.
Declaración del Foro para la Integración Social de los Inmigrantes (FISI) sobre el Día Mundial contra la Trata de Personas
Declaración del 30 de julio de 2026.