Filter by
Artificial Intelligence: what impact for insurance and its clients?
For more than 10 years, BNP Paribas Cardif has been using Artificial Intelligence to improve the quality of...
Discover the 2024 Innovation Ambassadors
Each year, BNP Paribas Cardif’s Innovation team carries out a massive sourcing campaign across all BNP Pari...
Assureurs et chercheurs au profit d’une assurance plus accessible
Le podcast Cover Stories revient avec un sujet inédit et décrypte comment la confrontation des études acadé...
Annual Survey of Financial Advisors
Financial advisors accelerate diversification of offering and grow client franchise with increasingly perso...
Simulassur et BNP Paribas Cardif France deviennent partenaires en assurance emprunteur
Simulassur, la marketplace B2B spécialisée en assurance de prêt du Groupe Magnolia, et BNP Paribas Cardif, ...
Failed to "?eval" string with this error: ---begin-message--- Syntax error in ?eval-ed string in line 1, column 2: Encountered ")", but was expecting one of: <STRING_LITERAL> <RAW_STRING> "false" "true" <INTEGER> <DECIMAL> "." "+" "-" "!" "[" "(" "{" <ID> ---end-message--- The failing expression: ==> imageElem?eval [in template "20101#20128#null" at line 71, column 46] ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign imageJSON = imageElem?eval [in template "20101#20128#null" at line 71, column 25] ----
1<#-- Article Display 2 -->
2
3<#include init />
4
5
6<#--<#include "${full_templates_path}/homepage/article_display2.ftl" />-->
7<#assign fileEntryServiceUtil = objectUtil("com.liferay.document.library.kernel.service.DLFileEntryLocalServiceUtil")>
8<#--
9Article Display 2
10-->
11<#include init/>
12<link rel="stylesheet" href="${themeDisplay.getPathThemeCss()}/articleDisplay2.css"/>
13<#assign imageJSON = "{}"?eval>
14<#assign title = "No title">
15<#assign summary = "No summary">
16<#assign category = "No category">
17<#assign categoryName = "No Title">
18<#assign publishDate = "">
19<#assign pdfUrl = "">
20<#if curEntry??>
21 <#assign renderer = curEntry.getAssetRenderer()>
22 <#assign className = renderer.getClassName()>
23 <#if className == "com.liferay.journal.model.JournalArticle">
24 <#assign journalArticle = renderer.getArticle()>
25 <#assign journalArticleId = journalArticle.getArticleId()>
26 </#if>
27<#else>
28 <#assign journalArticleId = .vars['reserved-article-id'].data>
29 <#-- journalArticle.getDescription() returns the diacritical description wraped in <span> => assetEntry.getSummary() -->
30 <#assign journalArticleLocalServiceUtil = staticUtil["com.liferay.journal.service.JournalArticleLocalServiceUtil"]>
31 <#assign journalArticle = journalArticleLocalServiceUtil.getLatestArticle(themeDisplay.getScopeGroupId(), journalArticleId)>
32 <#assign journalArticleResourcePrimKey = journalArticle.getResourcePrimKey()>
33 <#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")>
34 <#assign curEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", journalArticleResourcePrimKey)>
35 <#assign renderer = curEntry.getAssetRenderer()>
36</#if>
37<#assign journalArticleTitle = renderer.getTitle(locale)>
38<#if journalArticleTitle?hasContent>
39 <#if journalArticleTitle?length < 115>
40 <#assign title = journalArticleTitle>
41 <#else>
42 <#assign title = journalArticleTitle?substring(0,115) + "...">
43 </#if>
44</#if>
45
46<#assign journalArticleSummary = htmlUtil.extractText(curEntry.getSummary(locale))>
47<#if journalArticleSummary?hasContent>
48 <#if journalArticleSummary?length < 110>
49 <#assign summary = journalArticleSummary>
50 <#else>
51 <#assign summary = journalArticleSummary?substring(0,107) + "...">
52 </#if>
53</#if>
54<#list curEntry.getCategories() as journalArticleCategory>
55 <#assign category = journalArticleCategory.getTitle(locale)> <#-- only one category can be used -->
56 <#assign categoryName= journalArticleCategory.getName()>
57 <#break>
58</#list>
59
60<#if curEntry.publishDate?hasContent>
61 <#setting dateFormat=display_date_format>
62 <#setting locale = locale.getLanguage()>
63 <#assign publishDate = curEntry.publishDate?date>
64</#if>
65<#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale))>
66<#assign rootElement = document.getRootElement()>
67<#list rootElement.elements() as dynamicElement>
68 <#switch dynamicElement.attributeValue("name")>
69 <#case "image1">
70 <#assign imageElem = dynamicElement.element("dynamic-content").getText()>
71 <#assign imageJSON = imageElem?eval>
72 <#break>
73 <#case "pdfFile">
74 <#assign pdfElem = dynamicElement.element("dynamic-content").getText()>
75 <#if validator.isNotNull(pdfElem)>
76 <#assign pdfJSON = pdfElem?eval>
77 <#assign pdfUrl = "/c/document_library/get_file?uuid=" + pdfJSON.uuid + "&groupId=" + pdfJSON.groupId>
78 <#assign pdfFile = fileEntryServiceUtil.getFileEntryByUuidAndGroupId(pdfJSON.uuid, pdfJSON.groupId?number)>
79 <#assign pdfFileSize = pdfFile.getSize()/1024>
80 <#assign pdfFileType = pdfFile.getExtension()>
81 </#if>
82 <#break>
83 <#default>
84 </#switch>
85</#list>
86
87<#include "${full_templates_path}/inc/redirect_actualites_portlet.ftl" />
88<#assign articleUrl =getUrlArticle(journalArticle.getUrlTitle(locale)) />
89
90<#assign structure = journalArticle.getDDMStructure()/>
91<#assign isComDePresse = structure.getName(locale) == "Press_release">
92
93
94
95
96
97
98<#assign notFromCarousel = !fromCarousel?? || !fromCarousel>
99
100<div class="<#if notFromCarousel>rectangle-article-display2<#else>carousel-rectangle</#if>" >
101
102<#if notFromCarousel>
103 <div class="image-article-display2">
104
105 <#if imageJSON?hasContent>
106 <a href='${articleUrl}'>
107 <img alt="${imageJSON.alt}" aria-hidden="true" data-fileentryid="${imageJSON.fileEntryId}" class=" " loading="lazy" loading="lazy" src="/documents/${imageJSON.groupId}/${imageJSON.uuid}"/>
108 </a>
109 <#else>
110 <#if imageElem?hasContent>
111 <a href='${articleUrl}'>
112 <img alt="${imageElem.getAttribute('alt')}" aria-hidden="true" data-fileentryid="${imageElem.getAttribute('fileEntryId')}" class=" " loading="lazy" loading="lazy" src="${imageElem.getData()}" />
113 </a>
114 </#if>
115 </#if>
116 </div>
117</#if>
118 <div class="<#if notFromCarousel>box-text-article-display2 wording-block-article-display2</#if>">
119 <div class="<#if notFromCarousel>wording-article-display2</#if>">
120 <div class="<#if notFromCarousel>categorie-article-display2<#else>carousel-category</#if>" >
121 <a href='${actualite_url_portlet+categoryName+"/1"}' >${category}</a>
122 </div>
123 <h3 <#if notFromCarousel && imageJSON?hasContent> id="${journalArticleId}" </#if> class="<#if notFromCarousel>titre-de-l-actualite-article-display2<#else>carousel-title</#if>"><a href='${articleUrl}'>${title}</a></h3>
124 <p class="<#if notFromCarousel>petite-description-d-article-display2<#else>carousel-description</#if>">${summary}</p>
125 </div>
126<#if notFromCarousel>
127 <#if isComDePresse>
128 <div class="download-article_display2">
129 <#if pdfUrl?hasContent>
130 <div class="date-article-display2">
131 <div style="overflow:hidden; float:left;">${publishDate}</div>
132 <a href='${pdfUrl}' target='_blank' >
133 <div class="telecharger-article_display2" style="float:left;"><@liferay.language key="bnpparibas.cardif.portlet.telecharger" /> (${pdfFileSize?string("0")} ko ${pdfFileType})</div>
134 <div class="icn-download-article_display2" style="float:right;">
135 <img style="float:right; margin-top: 0px;margin-bottom: 0px;margin-left: 16px;" class=" " aria-hidden="true" alt="<@liferay.language key="bnpparibas.cardif.portlet.telecharger" />" loading="lazy" loading="lazy" src="${themeDisplay.getPathThemeImages()}/cardif/press_release/download.png"/>
136 </div>
137 </a>
138 </div>
139 <#else>
140 <div class="date-article-display2">
141 <div style="overflow:hidden; float:left;">${publishDate}</div>
142 </div>
143 </#if>
144 </div>
145 <#else>
146 <div class="date-article-display2">${publishDate}</div>
147 </#if>
148</#if>
149 </div>
150</div>
BNP Paribas enters into exclusive negotiations with AXA for the acquisition of AXA investment Managers and a long t...
The BNP Paribas Group announces today that it has entered into exclusive negotiations with AXA to acquire 1...
« API Store », a digital platform to easily connect to our partners' systems
With the introduction of its API Store, BNP Paribas Cardif takes a step further toward its vision of Insura...
Net-Zero Asset Owner Alliance
BNP Paribas Cardif pursues commitments to align investment portfolios with carbon neutral trajectory by 205...