INSURED

Programa INSURED

El video se encuentra disponible sólo en inglés.

El Programa de Seguros para el Fomento de la Resiliencia y el Desarrollo Económico de las Zonas Rurales del FIDA (INSURED) busca fomentar la resiliencia al clima de los hogares pobres del medio rural, aumentar su capacidad para gestionar los riesgos relacionados con el clima y fortalecer sus medios de vida.

INSURED presta apoyo a los Gobiernos y los asociados para establecer mecanismos de seguros contra riesgos agrarios y climáticos principalmente en nueve países: Camboya, Indonesia, Filipinas, Viet Nam, Kenya, República Unida de Tanzanía, Uganda, Zambia y Guatemala. También contribuye a la creación de capacidad y presta asistencia técnica en otros países, así como apoyo para poner en marcha planes de seguros relacionados con actividades de desarrollo agrícola e inclusión financiera.

Las enseñanzas extraídas y la orientación práctica dirigidas a los encargados del diseño y la ejecución de los proyectos se difunden a través de la Colección de materiales en el ámbito de los seguros.

INSURED es un programa con una dotación de 6 millones de dólares de los Estados Unidos, financiado por la Agencia Sueca de Cooperación Internacional para el Desarrollo y ejecutado por la Plataforma para la Gestión de Riesgos Agrícolas (PARM), integrada por múltiples donantes.

INSURED contacts

Expertos

Publicador de contenidos

C. Tara James

Climate Risk and Agricultural Insurance Specialist

[email protected]

Imaine Abada

Portfolio and Programme Analyst

[email protected]

Publicaciones Relacionadas

Publicaciones Relacionadas

Inclusión de las cuestiones de género en los seguros contra los riesgos agrícolas y climáticos: cómo mejorar el acceso de las mujeres rurales a los seguros

octubre 2021

El programa de asistencia técnica del FIDA INSURED (Seguro para la resiliencia rural y el desarrollo económico) ha estado acumulando conocimientos sobre la forma de fortalecer el acceso de las mujeres productoras a los seguros contra el riesgo climático.

INSURED - Seguros para el Fomento de la Resiliencia y el Desarrollo Económico de las Zonas Rurales

junio 2023

INSURED es un programa de asistencia técnica que trabaja para fortalecer el seguro agrícola en la cartera del FIDA. 

INSURED results 2018-2023

octubre 2023

This brief shares the results and lessons learned from the first phase of the Insurance for Rural Resilience and Economic Development (INSURED) programme.

Blogs y Artículos Relacionados

Blogs y Artículos Relacionados

Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> parentStructureFieldSet38712019  [in template "10154#10192#ABSTRACT_ROW" at line 44, column 32]

----
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 abstract_parent = parentStruc...  [in template "10154#10192#ABSTRACT_ROW" at line 44, column 5]
----
1<#assign 
2journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
3assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
4groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") 
5classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") 
6ddmStructureLocalService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMStructureLocalService") 
7assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")> 
8 
9<#assign globalGroup = groupLocalService.getFriendlyURLGroup(companyId, "/global")> 
10<#assign destMacroClassId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetEntry")> 
11<#include "_TEMPLATE_CONTEXT_/${companyId}/${globalGroup.groupId}/${destMacroClassId}/ASSET_ENTRY_MACROS" /> 
12 
13<#assign voc_type = assetVocabularyLocalService.getGroupVocabulary(company.getGroupId(), "Document_type")> 
14 
15<#assign currentUrl = themeDisplay.getURLCurrent()> 
16 
17<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(articleGroupId), .vars['reserved-article-id'].data)> 
18 
19<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey)> 
20 
21<#assign jaClassNameId = classNameLocalService.getClassNameId("com.liferay.journal.model.JournalArticle")> 
22<#assign curArticleStructure = ddmStructureLocalService.getStructure(company.getGroupId(), jaClassNameId, article.getDDMStructureKey())> 
23<#assign structureLocalizedName = curArticleStructure.getName(locale)> 
24<#assign structureId = article.getDDMStructureKey()?lowerCase> 
25 
26<#assign leftColumnSize = "col-md-4"> 
27<#assign rightColumnSize = "col-md-8"> 
28<#assign abstarct_img_default_class = "abstract-img-publication-land"> 
29<#assign contentTypeRowClass =""> 
30 
31<#if structureId == "publication" || structureId == "project"> 
32    <#assign leftColumnSize = "col-md-2"> 
33    <#assign rightColumnSize = "col-md-10"> 
34    <#assign abstarct_img_default_class = "abstract-img-publication-port"> 
35    <#assign contentTypeRowClass ="publication-row"> 
36</#if> 
37 
38<#-- Necessary for nested structures after upgrading to Liferay 7.4 --> 
39<#if structureId == "corporate"> 
40    <#assign abstract_parent = parentStructureFieldSet38712088.parentStructureFieldSet38712019 /> 
41<#elseIf structureId == "abstract"> 
42    <#assign abstract_parent = .vars /> 
43<#else> 
44    <#assign abstract_parent = parentStructureFieldSet38712019 /> 
45</#if> 
46 
47<#-- Article URL resolution --> 
48<#assign articleUrl = renderRequest.getAttribute("viewURL")!""> 
49 
50<#assign disableSpa = false> 
51<#if (abstract_parent.abstract_link?? && abstract_parent.abstract_link.getData()?hasContent) || 
52(abstract_parent.shorthand_story_url?? && abstract_parent.shorthand_story_url.getData()?hasContent)> 
53    <#assign disableSpa = true> 
54</#if> 
55 
56<#if (abstract_parent.abstract_link?? && abstract_parent.abstract_link.getData()?hasContent)> 
57    <#assign articleUrl = abstract_parent.abstract_link.getData()> 
58</#if> 
59 
60<#if articleUrl == ""> 
61    <#assign articleUrl = getURLViewInContext(themeDisplay, asset, currentUrl!"")> 
62</#if> 
63 
64<#assign article_title = resolveArticleTitle(abstract_parent.short_title!"", abstract_parent.abstract_title!"") /> 
65 
66<#assign abstract_icon = abstract_parent.abstract_icon /> 
67<#assign abstract_image_medium = abstract_parent.abstract_image_medium /> 
68<#assign abstract_publication_date = abstract_parent.abstract_publication_date /> 
69<#assign abstract_text = abstract_parent.abstract_text /> 
70 
71<div class="row border-bottom abstract-row ${contentTypeRowClass}"> 
72    <div class="${leftColumnSize} col-xs-12"> 
73        <#if abstract_icon?hasContent && abstract_icon.getData()?hasContent> 
74            <#assign myabstract_icon = abstract_icon.getData()> 
75        <#else> 
76            <#if locale.getLanguage() != "ar"> 
77                <#assign myabstract_icon = "/o/ifad-global-theme/images/placeholders/document-icon.png"> 
78            <#else> 
79                <#assign myabstract_icon = "/o/ifad-global-theme/images/placeholders/document-icon-ar.png"> 
80            </#if> 
81        </#if> 
82 
83        <#if structureId == "project"> 
84            <img class="img-fluid" src="${myabstract_icon}"> 
85        <#else> 
86            <#if abstract_image_medium?hasContent && abstract_image_medium.getData()?hasContent> 
87                <#assign myabstract_image_medium = abstract_image_medium.getData()> 
88            <#else> 
89                <#assign myabstract_image_medium = "/o/ifad-global-theme/images/placeholders/IFADlogongrey.jpg"> 
90            </#if> 
91        </#if> 
92 
93        <div class="abstract-img-wrapper"> 
94            <div class="abstract-img-publication ${abstarct_img_default_class}" 
95                 style="background-image: url(${myabstract_image_medium})"></div> 
96        </div> 
97    </div> 
98 
99    <div class="${rightColumnSize} col-xs-12 abstract-row-content-wrapper"> 
100        <#if articleUrl != "#"> 
101            <a href="${articleUrl}" ${disableSpa?then("data-senna-off=\"true\"", "")}> 
102                <h3 class="abstract-title-text">${article_title}</h3> 
103            </a> 
104        <#else> 
105            <span>${article_title}</span> 
106        </#if> 
107 
108        <@getAdminMenu asset /> 
109 
110        <#assign publicationDateFormatted = getFormattedDateForAbstractArticle(article, abstract_publication_date!"", locale, "MMMM yyyy") /> 
111 
112        <div class="abstract-row-author"> 
113            ${publicationDateFormatted} 
114            <#if structureId != "publication" && structureId != "generic" && 
115            !currentUrl?contains("videos") && !currentUrl?contains("photos") && !currentUrl?contains("stories")> 
116                - ${structureLocalizedName?upperCase} 
117            </#if> 
118        </div> 
119        <div class="abstract-row-categories"> 
120            <#if structureId == "publication"> 
121            <#-- TODO Check if that's used anywhere --> 
122            <#--<span class="abstract-category">${publicationDateFormatted}  ${publication_publisher.getData()}</span>--> 
123            <#else> 
124                <#list asset.getCategories() as category> 
125                    <#if category.getVocabularyId() == voc_type.getVocabularyId()> 
126                        <span class="abstract-category">${category.getName()}</span>&nbsp;&nbsp; 
127                    </#if> 
128                </#list> 
129            </#if> 
130        </div> 
131 
132        <div class="abstract-content-text ellipsis-text"> 
133            ${abstract_text.getData()} 
134        </div> 
135 
136        <#if structureId == "publication"> 
137            <#assign langList = {}> 
138            <#assign displayLangList = false> 
139 
140            <#list article.getAvailableLanguageIds() as articleLocale> 
141                <#assign langCode = articleLocale?split("_")[0]> 
142 
143                <#assign localizedUrl = 
144                articleUrl?replace("/${locale.getLanguage()}/", "/${langCode}/")> 
145                <#assign langList = langList + {"${localeUtil.fromLanguageId(articleLocale).getDisplayLanguage()}": "${localizedUrl}"}> 
146 
147            <#-- Display full list only if there is at least one non-official language--> 
148                <#if langCode != "en" && langCode != "es" && langCode != "fr" && langCode != "ar"> 
149                    <#assign displayLangList = true> 
150                </#if> 
151            </#list> 
152 
153            <#if displayLangList> 
154                <small class="d-block text-uppercase abstract-row-langs"> 
155                    <span><@liferay.language key="additional-languages" /></span>: 
156 
157                    <#list langList as langName, localizedUrl> 
158                        <a href="${localizedUrl}">${langName}${langName?hasNext?then(', ','')}</a> 
159                    </#list> 
160                </small> 
161            </#if> 
162        </#if> 
163    </div> 
164</div> 
Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> parentStructureFieldSet38712019  [in template "10154#10192#ABSTRACT_ROW" at line 44, column 32]

----
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 abstract_parent = parentStruc...  [in template "10154#10192#ABSTRACT_ROW" at line 44, column 5]
----
1<#assign 
2journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
3assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
4groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") 
5classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") 
6ddmStructureLocalService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMStructureLocalService") 
7assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")> 
8 
9<#assign globalGroup = groupLocalService.getFriendlyURLGroup(companyId, "/global")> 
10<#assign destMacroClassId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetEntry")> 
11<#include "_TEMPLATE_CONTEXT_/${companyId}/${globalGroup.groupId}/${destMacroClassId}/ASSET_ENTRY_MACROS" /> 
12 
13<#assign voc_type = assetVocabularyLocalService.getGroupVocabulary(company.getGroupId(), "Document_type")> 
14 
15<#assign currentUrl = themeDisplay.getURLCurrent()> 
16 
17<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(articleGroupId), .vars['reserved-article-id'].data)> 
18 
19<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey)> 
20 
21<#assign jaClassNameId = classNameLocalService.getClassNameId("com.liferay.journal.model.JournalArticle")> 
22<#assign curArticleStructure = ddmStructureLocalService.getStructure(company.getGroupId(), jaClassNameId, article.getDDMStructureKey())> 
23<#assign structureLocalizedName = curArticleStructure.getName(locale)> 
24<#assign structureId = article.getDDMStructureKey()?lowerCase> 
25 
26<#assign leftColumnSize = "col-md-4"> 
27<#assign rightColumnSize = "col-md-8"> 
28<#assign abstarct_img_default_class = "abstract-img-publication-land"> 
29<#assign contentTypeRowClass =""> 
30 
31<#if structureId == "publication" || structureId == "project"> 
32    <#assign leftColumnSize = "col-md-2"> 
33    <#assign rightColumnSize = "col-md-10"> 
34    <#assign abstarct_img_default_class = "abstract-img-publication-port"> 
35    <#assign contentTypeRowClass ="publication-row"> 
36</#if> 
37 
38<#-- Necessary for nested structures after upgrading to Liferay 7.4 --> 
39<#if structureId == "corporate"> 
40    <#assign abstract_parent = parentStructureFieldSet38712088.parentStructureFieldSet38712019 /> 
41<#elseIf structureId == "abstract"> 
42    <#assign abstract_parent = .vars /> 
43<#else> 
44    <#assign abstract_parent = parentStructureFieldSet38712019 /> 
45</#if> 
46 
47<#-- Article URL resolution --> 
48<#assign articleUrl = renderRequest.getAttribute("viewURL")!""> 
49 
50<#assign disableSpa = false> 
51<#if (abstract_parent.abstract_link?? && abstract_parent.abstract_link.getData()?hasContent) || 
52(abstract_parent.shorthand_story_url?? && abstract_parent.shorthand_story_url.getData()?hasContent)> 
53    <#assign disableSpa = true> 
54</#if> 
55 
56<#if (abstract_parent.abstract_link?? && abstract_parent.abstract_link.getData()?hasContent)> 
57    <#assign articleUrl = abstract_parent.abstract_link.getData()> 
58</#if> 
59 
60<#if articleUrl == ""> 
61    <#assign articleUrl = getURLViewInContext(themeDisplay, asset, currentUrl!"")> 
62</#if> 
63 
64<#assign article_title = resolveArticleTitle(abstract_parent.short_title!"", abstract_parent.abstract_title!"") /> 
65 
66<#assign abstract_icon = abstract_parent.abstract_icon /> 
67<#assign abstract_image_medium = abstract_parent.abstract_image_medium /> 
68<#assign abstract_publication_date = abstract_parent.abstract_publication_date /> 
69<#assign abstract_text = abstract_parent.abstract_text /> 
70 
71<div class="row border-bottom abstract-row ${contentTypeRowClass}"> 
72    <div class="${leftColumnSize} col-xs-12"> 
73        <#if abstract_icon?hasContent && abstract_icon.getData()?hasContent> 
74            <#assign myabstract_icon = abstract_icon.getData()> 
75        <#else> 
76            <#if locale.getLanguage() != "ar"> 
77                <#assign myabstract_icon = "/o/ifad-global-theme/images/placeholders/document-icon.png"> 
78            <#else> 
79                <#assign myabstract_icon = "/o/ifad-global-theme/images/placeholders/document-icon-ar.png"> 
80            </#if> 
81        </#if> 
82 
83        <#if structureId == "project"> 
84            <img class="img-fluid" src="${myabstract_icon}"> 
85        <#else> 
86            <#if abstract_image_medium?hasContent && abstract_image_medium.getData()?hasContent> 
87                <#assign myabstract_image_medium = abstract_image_medium.getData()> 
88            <#else> 
89                <#assign myabstract_image_medium = "/o/ifad-global-theme/images/placeholders/IFADlogongrey.jpg"> 
90            </#if> 
91        </#if> 
92 
93        <div class="abstract-img-wrapper"> 
94            <div class="abstract-img-publication ${abstarct_img_default_class}" 
95                 style="background-image: url(${myabstract_image_medium})"></div> 
96        </div> 
97    </div> 
98 
99    <div class="${rightColumnSize} col-xs-12 abstract-row-content-wrapper"> 
100        <#if articleUrl != "#"> 
101            <a href="${articleUrl}" ${disableSpa?then("data-senna-off=\"true\"", "")}> 
102                <h3 class="abstract-title-text">${article_title}</h3> 
103            </a> 
104        <#else> 
105            <span>${article_title}</span> 
106        </#if> 
107 
108        <@getAdminMenu asset /> 
109 
110        <#assign publicationDateFormatted = getFormattedDateForAbstractArticle(article, abstract_publication_date!"", locale, "MMMM yyyy") /> 
111 
112        <div class="abstract-row-author"> 
113            ${publicationDateFormatted} 
114            <#if structureId != "publication" && structureId != "generic" && 
115            !currentUrl?contains("videos") && !currentUrl?contains("photos") && !currentUrl?contains("stories")> 
116                - ${structureLocalizedName?upperCase} 
117            </#if> 
118        </div> 
119        <div class="abstract-row-categories"> 
120            <#if structureId == "publication"> 
121            <#-- TODO Check if that's used anywhere --> 
122            <#--<span class="abstract-category">${publicationDateFormatted}  ${publication_publisher.getData()}</span>--> 
123            <#else> 
124                <#list asset.getCategories() as category> 
125                    <#if category.getVocabularyId() == voc_type.getVocabularyId()> 
126                        <span class="abstract-category">${category.getName()}</span>&nbsp;&nbsp; 
127                    </#if> 
128                </#list> 
129            </#if> 
130        </div> 
131 
132        <div class="abstract-content-text ellipsis-text"> 
133            ${abstract_text.getData()} 
134        </div> 
135 
136        <#if structureId == "publication"> 
137            <#assign langList = {}> 
138            <#assign displayLangList = false> 
139 
140            <#list article.getAvailableLanguageIds() as articleLocale> 
141                <#assign langCode = articleLocale?split("_")[0]> 
142 
143                <#assign localizedUrl = 
144                articleUrl?replace("/${locale.getLanguage()}/", "/${langCode}/")> 
145                <#assign langList = langList + {"${localeUtil.fromLanguageId(articleLocale).getDisplayLanguage()}": "${localizedUrl}"}> 
146 
147            <#-- Display full list only if there is at least one non-official language--> 
148                <#if langCode != "en" && langCode != "es" && langCode != "fr" && langCode != "ar"> 
149                    <#assign displayLangList = true> 
150                </#if> 
151            </#list> 
152 
153            <#if displayLangList> 
154                <small class="d-block text-uppercase abstract-row-langs"> 
155                    <span><@liferay.language key="additional-languages" /></span>: 
156 
157                    <#list langList as langName, localizedUrl> 
158                        <a href="${localizedUrl}">${langName}${langName?hasNext?then(', ','')}</a> 
159                    </#list> 
160                </small> 
161            </#if> 
162        </#if> 
163    </div> 
164</div> 

Seguros para el Fomento de la Resiliencia y el Desarrollo Económico de las Zonas Rurales (INSURED)

junio 2019

El FIDA se esfuerza por promover el uso responsable de los seguros de riesgos agrícolas y climáticos mediante el programa de Seguros para el Fomento de la Resiliencia y el Desarrollo Económico de las Zonas Rurales (INSURED), que ejecuta la Plataforma de Gestión de Riesgos Agrícolas (PARM) de múltiples donantes.

Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> parentStructureFieldSet38712019  [in template "10154#10192#ABSTRACT_ROW" at line 44, column 32]

----
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 abstract_parent = parentStruc...  [in template "10154#10192#ABSTRACT_ROW" at line 44, column 5]
----
1<#assign 
2journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
3assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
4groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") 
5classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") 
6ddmStructureLocalService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMStructureLocalService") 
7assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")> 
8 
9<#assign globalGroup = groupLocalService.getFriendlyURLGroup(companyId, "/global")> 
10<#assign destMacroClassId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetEntry")> 
11<#include "_TEMPLATE_CONTEXT_/${companyId}/${globalGroup.groupId}/${destMacroClassId}/ASSET_ENTRY_MACROS" /> 
12 
13<#assign voc_type = assetVocabularyLocalService.getGroupVocabulary(company.getGroupId(), "Document_type")> 
14 
15<#assign currentUrl = themeDisplay.getURLCurrent()> 
16 
17<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(articleGroupId), .vars['reserved-article-id'].data)> 
18 
19<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey)> 
20 
21<#assign jaClassNameId = classNameLocalService.getClassNameId("com.liferay.journal.model.JournalArticle")> 
22<#assign curArticleStructure = ddmStructureLocalService.getStructure(company.getGroupId(), jaClassNameId, article.getDDMStructureKey())> 
23<#assign structureLocalizedName = curArticleStructure.getName(locale)> 
24<#assign structureId = article.getDDMStructureKey()?lowerCase> 
25 
26<#assign leftColumnSize = "col-md-4"> 
27<#assign rightColumnSize = "col-md-8"> 
28<#assign abstarct_img_default_class = "abstract-img-publication-land"> 
29<#assign contentTypeRowClass =""> 
30 
31<#if structureId == "publication" || structureId == "project"> 
32    <#assign leftColumnSize = "col-md-2"> 
33    <#assign rightColumnSize = "col-md-10"> 
34    <#assign abstarct_img_default_class = "abstract-img-publication-port"> 
35    <#assign contentTypeRowClass ="publication-row"> 
36</#if> 
37 
38<#-- Necessary for nested structures after upgrading to Liferay 7.4 --> 
39<#if structureId == "corporate"> 
40    <#assign abstract_parent = parentStructureFieldSet38712088.parentStructureFieldSet38712019 /> 
41<#elseIf structureId == "abstract"> 
42    <#assign abstract_parent = .vars /> 
43<#else> 
44    <#assign abstract_parent = parentStructureFieldSet38712019 /> 
45</#if> 
46 
47<#-- Article URL resolution --> 
48<#assign articleUrl = renderRequest.getAttribute("viewURL")!""> 
49 
50<#assign disableSpa = false> 
51<#if (abstract_parent.abstract_link?? && abstract_parent.abstract_link.getData()?hasContent) || 
52(abstract_parent.shorthand_story_url?? && abstract_parent.shorthand_story_url.getData()?hasContent)> 
53    <#assign disableSpa = true> 
54</#if> 
55 
56<#if (abstract_parent.abstract_link?? && abstract_parent.abstract_link.getData()?hasContent)> 
57    <#assign articleUrl = abstract_parent.abstract_link.getData()> 
58</#if> 
59 
60<#if articleUrl == ""> 
61    <#assign articleUrl = getURLViewInContext(themeDisplay, asset, currentUrl!"")> 
62</#if> 
63 
64<#assign article_title = resolveArticleTitle(abstract_parent.short_title!"", abstract_parent.abstract_title!"") /> 
65 
66<#assign abstract_icon = abstract_parent.abstract_icon /> 
67<#assign abstract_image_medium = abstract_parent.abstract_image_medium /> 
68<#assign abstract_publication_date = abstract_parent.abstract_publication_date /> 
69<#assign abstract_text = abstract_parent.abstract_text /> 
70 
71<div class="row border-bottom abstract-row ${contentTypeRowClass}"> 
72    <div class="${leftColumnSize} col-xs-12"> 
73        <#if abstract_icon?hasContent && abstract_icon.getData()?hasContent> 
74            <#assign myabstract_icon = abstract_icon.getData()> 
75        <#else> 
76            <#if locale.getLanguage() != "ar"> 
77                <#assign myabstract_icon = "/o/ifad-global-theme/images/placeholders/document-icon.png"> 
78            <#else> 
79                <#assign myabstract_icon = "/o/ifad-global-theme/images/placeholders/document-icon-ar.png"> 
80            </#if> 
81        </#if> 
82 
83        <#if structureId == "project"> 
84            <img class="img-fluid" src="${myabstract_icon}"> 
85        <#else> 
86            <#if abstract_image_medium?hasContent && abstract_image_medium.getData()?hasContent> 
87                <#assign myabstract_image_medium = abstract_image_medium.getData()> 
88            <#else> 
89                <#assign myabstract_image_medium = "/o/ifad-global-theme/images/placeholders/IFADlogongrey.jpg"> 
90            </#if> 
91        </#if> 
92 
93        <div class="abstract-img-wrapper"> 
94            <div class="abstract-img-publication ${abstarct_img_default_class}" 
95                 style="background-image: url(${myabstract_image_medium})"></div> 
96        </div> 
97    </div> 
98 
99    <div class="${rightColumnSize} col-xs-12 abstract-row-content-wrapper"> 
100        <#if articleUrl != "#"> 
101            <a href="${articleUrl}" ${disableSpa?then("data-senna-off=\"true\"", "")}> 
102                <h3 class="abstract-title-text">${article_title}</h3> 
103            </a> 
104        <#else> 
105            <span>${article_title}</span> 
106        </#if> 
107 
108        <@getAdminMenu asset /> 
109 
110        <#assign publicationDateFormatted = getFormattedDateForAbstractArticle(article, abstract_publication_date!"", locale, "MMMM yyyy") /> 
111 
112        <div class="abstract-row-author"> 
113            ${publicationDateFormatted} 
114            <#if structureId != "publication" && structureId != "generic" && 
115            !currentUrl?contains("videos") && !currentUrl?contains("photos") && !currentUrl?contains("stories")> 
116                - ${structureLocalizedName?upperCase} 
117            </#if> 
118        </div> 
119        <div class="abstract-row-categories"> 
120            <#if structureId == "publication"> 
121            <#-- TODO Check if that's used anywhere --> 
122            <#--<span class="abstract-category">${publicationDateFormatted}  ${publication_publisher.getData()}</span>--> 
123            <#else> 
124                <#list asset.getCategories() as category> 
125                    <#if category.getVocabularyId() == voc_type.getVocabularyId()> 
126                        <span class="abstract-category">${category.getName()}</span>&nbsp;&nbsp; 
127                    </#if> 
128                </#list> 
129            </#if> 
130        </div> 
131 
132        <div class="abstract-content-text ellipsis-text"> 
133            ${abstract_text.getData()} 
134        </div> 
135 
136        <#if structureId == "publication"> 
137            <#assign langList = {}> 
138            <#assign displayLangList = false> 
139 
140            <#list article.getAvailableLanguageIds() as articleLocale> 
141                <#assign langCode = articleLocale?split("_")[0]> 
142 
143                <#assign localizedUrl = 
144                articleUrl?replace("/${locale.getLanguage()}/", "/${langCode}/")> 
145                <#assign langList = langList + {"${localeUtil.fromLanguageId(articleLocale).getDisplayLanguage()}": "${localizedUrl}"}> 
146 
147            <#-- Display full list only if there is at least one non-official language--> 
148                <#if langCode != "en" && langCode != "es" && langCode != "fr" && langCode != "ar"> 
149                    <#assign displayLangList = true> 
150                </#if> 
151            </#list> 
152 
153            <#if displayLangList> 
154                <small class="d-block text-uppercase abstract-row-langs"> 
155                    <span><@liferay.language key="additional-languages" /></span>: 
156 
157                    <#list langList as langName, localizedUrl> 
158                        <a href="${localizedUrl}">${langName}${langName?hasNext?then(', ','')}</a> 
159                    </#list> 
160                </small> 
161            </#if> 
162        </#if> 
163    </div> 
164</div>