Une erreur s'est produite lors du traitement du modèle.
The following has evaluated to null or missing:
==> relatedArticles.relatedLinkToPage [in template "20115#20151#FULLARTICLE" at line 100, column 32]
----
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: #list relatedArticles.relatedLinkToPa... [in template "20115#20151#FULLARTICLE" at line 100, column 25]
----
1<#macro cleanUnicode field>
2 <#assign result = field?replace("\\u00e9", "é")?replace("\\u00e0", "à")?replace("\\u2019", "'") />
3 ${result}
4</#macro>
5
6<#assign showBreadcrumb = themeDisplay.getThemeSetting("show-breadcrumb")?boolean />
7<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
8<#if serviceContext.getThemeDisplay().getThemeSetting("v2-look-and-feel")?has_content && serviceContext.getThemeDisplay().getThemeSetting("v2-look-and-feel")!="">
9 <#assign v2_enabled = serviceContext.getThemeDisplay().getThemeSetting("v2-look-and-feel")?boolean />
10<#else>
11 <#assign v2_enabled = false />
12</#if>
13
14<#assign image = (header.Visual.getData())!"" />
15<#assign hideHeaderFlag = getterUtil.getBoolean(header.hideHeader.getData()) />
16<#assign hideGetQuoteFlag = getterUtil.getBoolean(quoting_block.hideGetQuoteSection.getData()) />
17<#assign hideBottomLinksFlag = getterUtil.getBoolean(bottom_links.hideBottomLinks.getData()) />
18
19<#if v2_enabled>
20
21<!-- Article -->
22 <#assign url="#">
23 <#assign PortalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] />
24 <#assign url=PortalUtil.getCurrentCompleteURL(request) />
25 <#assign layoutService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") />
26 <#assign portalURL = serviceContext.getThemeDisplay().getPortalURL() />
27 <#assign description=.vars['reserved-article-description'].data />
28 <#--
29 <#assign themeDisplay = serviceContext.getThemeDisplay() />
30 <#assign currentUrl = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() />
31 -->
32 <#-- Header section -->
33 <#-- TODO: if we have related content, then we should had the class ".t_fullArticle--hasAside" to the article element right below -->
34 <#assign hasRelated=false />
35 <#if (relatedArticles.relatedLinkToPage)?has_content && relatedArticles.relatedLinkToPage.getSiblings()?first.getData()?has_content>
36 <#assign hasRelated=true />
37 <article class="article-full">
38 <#else>
39 <article class="article-full"> <#-- OR -->
40 </#if>
41
42 <!-- hero-banner hero-banner--slim -->
43 <#if !hideHeaderFlag>
44 <#if image == "">
45 <p>Please include a background image if you select the option "Show Header"</p>
46 <#else>
47 <div class="hero-banner">
48 <div class="hero-banner__mask">
49 <picture>
50 <img class="lazyload" src="${image}" data-fileentryid="${header.Visual.getAttribute("fileEntryId")}" data-src="${image}" data-srcset="${image}" />
51 </picture>
52 <div class="hero-banner__mask">
53 <div class="hero-banner__container">
54 <div class="hero-banner__content text-left">
55 <#if TopContent?has_content>
56 <#-- BREADCRUMBS -->
57 <#if !showBreadcrumb>
58 <@liferay.breadcrumbs />
59 </#if>
60 </#if>
61 <h1 class="font-bold-publicoheadline font-display-4 color-white">${htmlUtil.unescape(header.Visual.MainText.getData())}</h1>
62 <#if header.Visual.TextCenter.getData()?? && header.Visual.TextCenter.getData() != "">
63 <p class="hero-banner__text font-medium color-white">${htmlUtil.unescape(header.Visual.TextCenter.getData())}</p>
64 </#if>
65 </div>
66 </div>
67 </div>
68 </div>
69 </div>
70 </#if>
71 </#if>
72 <!-- /hero-banner -->
73
74 <div class="article-full__content pb-4">
75 <div class="article-full__container container">
76
77 <!-- tag -->
78 <#if TopContent?has_content>
79 <div class="tg__tag">
80 <div class="tg__tag--container">
81 <#assign journalArticleId = .vars['reserved-article-id'].data>
82 <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
83 <#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")>
84 <#assign articleResourcePK = journalArticleLocalService.getArticle(groupId,journalArticleId).getArticleResourceUuid()>
85 <#assign categoryList = assetEntryLocalService.fetchEntry(groupId,articleResourcePK).getCategories()>
86 <ul class="tg__tag--list">
87 <#list categoryList as category>
88 <li class="tg__tag--element">
89 <a class="t_tag__link">
90 ${htmlUtil.unescape(category.getTitle(locale))}
91 </a>
92 </li>
93 </#list>
94 </ul>
95 </div>
96 </div>
97 </#if>
98 <!-- tag -->
99 <#assign fullColumn="full-column">
100 <#list relatedArticles.relatedLinkToPage.getSiblings() as relatedArticle>
101 <#if relatedArticle.getData()?has_content>
102 <#assign fullColumn="">
103 </#if>
104 </#list>
105
106 <#if (relatedArticles.relatedLinkToPage.getSiblings())?has_content>
107 <div class="article-full__row">
108 <#else>
109 <div class="article-full__row--">
110 </#if>
111 <div class="article-full__left ${fullColumn}">
112
113 <div class="article-full__text">
114 <#if themeDisplay.getURLCurrent()?contains(themeDisplay.getPathFriendlyURLPublic()+themeDisplay.getSiteGroup().getFriendlyURL())>
115 ${htmlUtil.unescape(TopContent.getData())}
116 <#else>
117 ${htmlUtil.unescape(TopContent.getData()?replace(themeDisplay.getPathFriendlyURLPublic()+themeDisplay.getSiteGroup().getFriendlyURL(),""))}
118 </#if>
119 </div>
120
121 <#-- Mid content -->
122 <#if mid_content.getData()?has_content>
123 <section class="article-full__text">
124 <p>
125 <#if themeDisplay.getURLCurrent()?contains(themeDisplay.getPathFriendlyURLPublic()+themeDisplay.getSiteGroup().getFriendlyURL())>
126 ${htmlUtil.unescape(mid_content.getData())}
127 <#else>
128 ${htmlUtil.unescape(mid_content.getData()?replace(themeDisplay.getPathFriendlyURLPublic()+themeDisplay.getSiteGroup().getFriendlyURL(),""))}
129 </#if>
130 </p>
131 </section>
132 </#if>
133
134 <#-- Bottom content -->
135 <#if bottom_content.getData()?has_content>
136 <section class="article-full__text">
137 <p>
138 <#if themeDisplay.getURLCurrent()?contains(themeDisplay.getPathFriendlyURLPublic()+themeDisplay.getSiteGroup().getFriendlyURL())>
139 ${htmlUtil.unescape(bottom_content.getData())}
140 <#else>
141 ${htmlUtil.unescape(bottom_content.getData()?replace(themeDisplay.getPathFriendlyURLPublic()+themeDisplay.getSiteGroup().getFriendlyURL(),""))}
142 </#if>
143
144 </p>
145 </section>
146 </#if>
147
148 </div>
149
150 <#if (relatedArticles.relatedLinkToPage.getSiblings())?has_content>
151 <div class="article-full__right">
152 <!-- Detail 1 -->
153
154 <#if (relatedArticles.relatedLinkToPage.getSiblings())?has_content>
155 <#list relatedArticles.relatedLinkToPage.getSiblings() as relatedArticle>
156 <#if relatedArticle?index=0 && relatedArticle.getData()?has_content>
157 <aside class="article-full__detail mb-3">
158 <div class="article-full__container color-white">
159 <div class="pb-3"><span class="font-bold-publicoheadline font-display-5"><@liferay.language key="related-assets" /></span></div>
160 <div class="article-full__detail--data font-normal">
161
162 <#assign layout>
163 <@cleanUnicode relatedArticle.getData() />
164 </#assign>
165 <#assign layout = layout?eval />
166
167 <#if layout?has_content>
168 <#assign pageTitle = "default2" />
169 <#--TITLE-->
170 <#if layout.title?? && layout.title?trim!="">
171 <#assign pageTitle = layout.title />
172 <#--NAME-->
173 <#elseif layout.name?? && layout.name?trim!="">
174 <#assign pageTitle = layout.name />
175 <#--LABEL-->
176 <#elseif layout.label?? && layout.label?trim!="">
177 <#assign pageTitle = layout.label />
178 <#--DEBUG-->
179 <#elseif layout?has_content>
180 <#assign pageTitle = "---." />
181 <#--EMPTY-->
182 <#else>
183 <#assign pageTitle = "---.." />
184 </#if>
185 <p class="article-full__detail--title">
186 <a class="color-white" href="${relatedArticle.getFriendlyUrl()}">${htmlUtil.unescape(pageTitle)}</a>
187 </p>
188 <script>
189 $('.article-full__right').css('display', 'block');
190 </script>
191 <#else>
192 <script>
193 $('.article-full__right').css('display', 'none');
194 </script>
195 </#if>
196
197
198 <#elseif relatedArticle.getData()?has_content>
199 <#attempt>
200 <#assign layout>
201 <@cleanUnicode relatedArticle.getData() />
202 </#assign>
203 <#assign layout = layout?eval />
204
205 <#if layout?has_content>
206 <#assign pageTitle = "default2" />
207 <#--TITLE-->
208 <#if layout.title?? && layout.title?trim!="">
209 <#assign pageTitle = layout.title />
210 <#--NAME-->
211 <#elseif layout.name?? && layout.name?trim!="">
212 <#assign pageTitle = layout.name />
213 <#--LABEL-->
214 <#elseif layout.label?? && layout.label?trim!="">
215 <#assign pageTitle = layout.label />
216 <#--DEBUG-->
217 <#elseif layout?has_content>
218 <#assign pageTitle = "---." />
219 <#--EMPTY-->
220 <#else>
221 <#assign pageTitle = "---.." />
222 </#if>
223 <p class="article-full__detail--title">
224 <a class="color-white" href="${relatedArticle.getFriendlyUrl()}">${htmlUtil.unescape(pageTitle)}</a>
225 </p>
226 <script>
227 $('.article-full__right').css('display', 'block');
228 </script>
229 <#else>
230 <script>
231 $('.article-full__right').css('display', 'none');
232 </script>
233 </#if>
234 <#recover>
235 <#-- Recover from error -->
236 <#assign layoutStr = relatedArticle.getData()?string/>
237 <#if layoutStr?contains("\\u2019")>
238 <#assign layoutStr = layoutStr?replace("\\u2019", "'")/>
239 <#assign layout = layoutStr?eval/>
240 <#if layout.name?? && layout.name?trim!="">
241 <#assign pageTitle = layout.name />
242 <#elseif layout.label?? && layout.label?trim!="">
243 <#assign pageTitle = layout.label />
244 <#elseif layout.title?? && layout.title?trim!="">
245 <#assign pageTitle = layout.title />
246 <#else>
247 <#assign pageTitle = "---___" />
248 </#if>
249 <p class="article-full__detail--title">
250 <a class="color-white" href="${relatedArticle.getFriendlyUrl()}">${htmlUtil.unescape(pageTitle)}</a>
251 </p>
252 <script>
253 $('.article-full__right').css('display', 'block');
254 </script>
255 <#else>
256 <script>
257 $('.article-full__right').css('display', 'none');
258 </script>
259 </#if>
260 </#attempt>
261
262 </#if>
263 </#list>
264 <#if hasRelated>
265 </div>
266 </div>
267 </aside>
268 </#if>
269 </#if>
270
271 </div>
272 </#if>
273 </div>
274 </div>
275 </div>
276
277 <#-- Get Quote section -->
278 <#if !hideGetQuoteFlag>
279 <section class="t_block t_quote t_quote--xlarge" style="background-color:${quoting_block.background_color.getData()}">
280 <div class="t_block__inner t_quote__inner">
281 <h2 class="t_quoteTitle font-display-5 color-white font-medium-publicoheadline">${(htmlUtil.unescape(quoting_block.Title.getData()))!""}</h2>
282 <p class="t_mainText color-white font-medium">${htmlUtil.unescape(quoting_block.paragraph.getData())}</p>
283 <#if quoting_block.Button.LinkText.getData()?? && quoting_block.Button.LinkText.getData() != "">
284 <div class="mt-2">
285 <a href="${quoting_block.Button.getFriendlyUrl()}" class="btn btn--light-white text-uppercase" onclick="pushDataLayerCTA(window.location.href + "${quoting_block.Button.getFriendlyUrl()}", 'ghost', "${quoting_block.Button.LinkText.getData()}")">
286 ${htmlUtil.unescape(quoting_block.Button.LinkText.getData())}
287 </a>
288 </div>
289 </#if>
290 </div>
291 </section>
292 </#if>
293 <#-- Get Quote section -->
294
295 <#-- Splitted images section -->
296 <#if (splitted_images.split_image.getSiblings())?has_content>
297 <!-- pictures-->
298 <section class="pictures mt-5">
299 <div class="pictures__inline pictures__inline--container">
300 <#list splitted_images.split_image.getSiblings() as image_splitted>
301 <#if (image_splitted.getData()?has_content
302 && image_splitted.getAttribute("fileEntryId")?has_content
303 && image_splitted.getAttribute("fileEntryId")?has_content
304 && image_splitted.getAttribute("alt")?has_content)>
305 <div class="pictures__inline pictures__inline--img-fluid">
306 <figure class="t_picture__element">
307 <img class="pictures__inline pictures__inline--card-img-top lazyload" data-fileentryid="${image_splitted.getAttribute("fileEntryId")}" alt="${image_splitted.getAttribute("alt")}" data-src="${image_splitted.getData()}" />
308 </figure>
309 <div class="pictures__inline pictures__inline--card-img-overlay">
310 <p class="pictures__inline pictures__inline--card-title color-white font-bold-publicoheadline font-display-5 pb-3">${htmlUtil.unescape(image_splitted.split_image_text.getData())}</p>
311 </div>
312 </div>
313 </#if>
314 </#list>
315 </div>
316 </section>
317 <!-- pictures-->
318 </#if>
319
320 <#if !hideBottomLinksFlag>
321 <section class="mt-1">
322 <h2 class="font-display-4 text-center font-medium-publicoheadline pt-3 pb-5">${(htmlUtil.unescape(bottom_links.bottom_content_title.getData()))!""}</h2>
323
324 <div class="article-inline">
325
326 <#list bottom_links.Picture.getSiblings() as cur_Picture>
327 <div class="article-inline__card">
328 <div class="article-inline__image">
329 <#if cur_Picture.getData()?? && cur_Picture.getData() != "">
330 <img class="lazyload t_insurance__listElement__picture" data-fileentryid="${cur_Picture.getAttribute("fileEntryId")}" alt="${cur_Picture.getAttribute("alt")}" data-src="${cur_Picture.getData()}" />
331 </#if>
332 </div>
333 <div class="article-inline__card-body">
334 <h3 class="article-inline__title h2">${cur_Picture.bottom_content_subtitle.getData()}</h3>
335 <p class="article-inline__card-text">
336 ${htmlUtil.unescape(cur_Picture.Text.getData())}
337 </p>
338 <#if cur_Picture.Link.TextLink.getData()?? && cur_Picture.Link.TextLink.getData() != "">
339 <div><a href="${cur_Picture.Link.getFriendlyUrl()}"class="link link--secondary-link icons--right icons--east">${htmlUtil.unescape(cur_Picture.Link.TextLink.getData())}</a></div>
340 </#if>
341 </div>
342 </div>
343 </#list>
344 </div>
345 </section>
346 </#if>
347
348
349</article>
350
351<!-- /Article -->
352
353<#else>
354 <#assign url="#">
355 <#assign PortalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] />
356 <#assign url=PortalUtil.getCurrentCompleteURL(request) />
357 <#assign layoutService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") />
358 <#assign portalURL = serviceContext.getThemeDisplay().getPortalURL() />
359 <#assign description=.vars['reserved-article-description'].data />
360 <#--
361 <#assign themeDisplay = serviceContext.getThemeDisplay() />
362 <#assign currentUrl = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() />
363 -->
364 <#-- Header section -->
365 <#-- TODO: if we have related content, then we should had the class ".t_fullArticle--hasAside" to the article element right below -->
366 <#assign hasRelated=false />
367 <#if (relatedArticles.relatedLinkToPage)?has_content && relatedArticles.relatedLinkToPage.getSiblings()?first.getData()?has_content>
368 <#assign hasRelated=true />
369 <article class="t_fullArticle t_fullArticle--hasAside">
370 <#else>
371 <article class="t_fullArticle"> <#-- OR -->
372 </#if>
373
374 <header>
375 <#if image != "">
376 <div class="t_introduction t_block" style="background-image: url('${image}')">
377 <#else>
378 <div class="t_introduction t_block">
379 </#if>
380 <#if (header.Visual.backgroundUrl.getData())?? && (header.Visual.backgroundUrl.getData()) != "" >
381 <a class="t_introduction_background_url_img" href="${header.Visual.backgroundUrl.getData()}" ></a>
382 </#if>
383 <div class="t_introduction__inner t_block__inner">
384 <#if header.Visual.TextCenter.getData()?? && header.Visual.TextCenter.getData() != "">
385 <p class="t_introduction__subtitle">${htmlUtil.unescape(header.Visual.TextCenter.getData())}</p>
386 </#if>
387 <ul class="t_introduction__informations">
388 <li class="t_introduction__information">
389 <p class="t_introduction__informationWording t_introduction__informationWording--author">${htmlUtil.unescape(header.Visual.TextLeft.getData())}</p>
390 </li>
391 <li class="t_introduction__information">
392 <p class="t_introduction__informationWording">${htmlUtil.unescape(header.Visual.TextRight.getData())}</p>
393 </li>
394 </ul>
395 <h2 class="t_secondaryTitle">${htmlUtil.unescape(header.Visual.MainText.getData())}</h2>
396 <div class="t_introduction__ctas">
397 <#if header.Visual.ButtonLeft.ButtonLeftText.getData()?? && header.Visual.ButtonLeft.ButtonLeftText.getData() != "">
398 <a href="${header.Visual.ButtonLeft.getFriendlyUrl()}" class="t_button t_button--secondary" onclick="pushDataLayerCTA(window.location.href + "${header.Visual.ButtonLeft.getFriendlyUrl()}", 'secondary red', "${header.Visual.ButtonLeft.ButtonLeftText.getData()}")">
399 <span class="t_button__label">${htmlUtil.unescape(header.Visual.ButtonLeft.ButtonLeftText.getData())}</span>
400 </a>
401 </#if>
402 <#if header.Visual.ButtonRight.ButtonRightText.getData()?? && header.Visual.ButtonRight.ButtonRightText.getData() != "">
403 <a href="${header.Visual.ButtonRight.getFriendlyUrl()}" class="t_button t_button--ghost" onclick="pushDataLayerCTA(window.location.href + "${header.Visual.ButtonRight.getFriendlyUrl()}", 'ghost', "${header.Visual.ButtonRight.ButtonRightText.getData()}")">
404 <span class="t_button__label">${htmlUtil.unescape(header.Visual.ButtonRight.ButtonRightText.getData())}</span>
405 </a>
406 </#if>
407 </div>
408 </div>
409 </div>
410 <#-- Top content -->
411 <#if TopContent?has_content>
412 <div class="t_article t_block__inner">
413 <#-- BREADCRUMBS -->
414 <#if !showBreadcrumb>
415 <@liferay.breadcrumbs />
416 </#if>
417 <#-- CATEGORIES -->
418 <#assign journalArticleId = .vars['reserved-article-id'].data>
419 <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
420 <#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")>
421 <#assign articleResourcePK = journalArticleLocalService.getArticle(groupId,journalArticleId).getArticleResourceUuid()>
422 <#assign categoryList = assetEntryLocalService.fetchEntry(groupId,articleResourcePK).getCategories()>
423 <ul class="t_tags">
424 <#list categoryList as category>
425 <li class="t_tag">
426 <a class="t_tag__link" href="#">
427 ${htmlUtil.unescape(category.getTitle(locale))}
428 </a>
429 </li>
430 </#list>
431 </ul>
432
433 </div>
434 </header>
435
436 <section class="t_article__content">
437 <div class="t_article__text">
438 ${htmlUtil.unescape(TopContent.getData())}
439 </div>
440 <#if (relatedArticles.relatedLinkToPage.getSiblings())?has_content>
441 <#list relatedArticles.relatedLinkToPage.getSiblings() as relatedArticle>
442 <#if relatedArticle?index=0 && relatedArticle.getData()?has_content>
443 <aside class="t_article__related t_article__related--desktop">
444 <h2 class="t_article__relatedTitle"><@liferay.language key="related-assets" /></h2>
445 <div class="t_article__relatedInner">
446
447 <#assign layout>
448 <@cleanUnicode relatedArticle.getData() />
449 </#assign>
450 <#assign layout = layout?eval />
451
452 <#if layout?has_content>
453 <#assign pageTitle = "default2" />
454 <#--TITLE-->
455 <#if layout.title?? && layout.title?trim!="">
456 <#assign pageTitle = layout.title />
457 <#--NAME-->
458 <#elseif layout.name?? && layout.name?trim!="">
459 <#assign pageTitle = layout.name />
460 <#--LABEL-->
461 <#elseif layout.label?? && layout.label?trim!="">
462 <#assign pageTitle = layout.label />
463 <#--DEBUG-->
464 <#elseif layout?has_content>
465 <#assign pageTitle = "---." />
466 <#--EMPTY-->
467 <#else>
468 <#assign pageTitle = "---.." />
469 </#if>
470 <p class="t_smallText"><a href="${relatedArticle.getFriendlyUrl()}">${htmlUtil.unescape(pageTitle)}</a></p>
471 <script>
472 $('.article-full__right').css('display', 'block');
473 </script>
474 <#else>
475 <script>
476 $('.article-full__right').css('display', 'none');
477 </script>
478 </#if>
479 <#elseif relatedArticle.getData()?has_content>
480 <#attempt>
481
482 <#assign layout>
483 <@cleanUnicode relatedArticle.getData() />
484 </#assign>
485 <#assign layout = layout?eval />
486
487 <#if layout?has_content>
488 <#assign pageTitle = "default2" />
489 <#--TITLE-->
490 <#if layout.title?? && layout.title?trim!="">
491 <#assign pageTitle = layout.title />
492 <#--NAME-->
493 <#elseif layout.name?? && layout.name?trim!="">
494 <#assign pageTitle = layout.name />
495 <#--LABEL-->
496 <#elseif layout.label?? && layout.label?trim!="">
497 <#assign pageTitle = layout.label />
498 <#--DEBUG-->
499 <#elseif layout?has_content>
500 <#assign pageTitle = "---." />
501 <#--EMPTY-->
502 <#else>
503 <#assign pageTitle = "---.." />
504 </#if>
505 </#if>
506 <#recover>
507 <#-- Recover from error -->
508 <#assign layoutStr = relatedArticle.getData()?string/>
509 <#if layoutStr?contains("\\u2019")>
510 <#assign layoutStr = layoutStr?replace("\\u2019", "'")/>
511 <#assign layout = layoutStr?eval/>
512 <#if layout.name?? && layout.name?trim!="">
513 <#assign pageTitle = layout.name />
514 <#elseif layout.label?? && layout.label?trim!="">
515 <#assign pageTitle = layout.label />
516 <#elseif layout.title?? && layout.title?trim!="">
517 <#assign pageTitle = layout.title />
518 <#else>
519 <#assign pageTitle = "---__" />
520 </#if>
521 </#if>
522 </#attempt>
523 <p class="t_smallText"><a href="${relatedArticle.getFriendlyUrl()}">${htmlUtil.unescape(pageTitle)}</a></p>
524 </#if>
525 </#list>
526 <#if hasRelated>
527 </div>
528 </aside>
529 </#if>
530 </#if>
531 </section>
532 </#if>
533 <#-- Get Quote section -->
534 <section class="t_block t_quote is-colored" style="background-color:${quoting_block.background_color.getData()}">
535 <div class="t_block__inner t_quote__inner">
536 <h2 class="t_quoteTitle">${htmlUtil.unescape(quoting_block.Title.getData())}</h2>
537 <p class="t_mainText">${htmlUtil.unescape(quoting_block.paragraph.getData())}</p>
538 <#if quoting_block.Button.LinkText.getData()?? && quoting_block.Button.LinkText.getData() != "">
539 <a href="${quoting_block.Button.getFriendlyUrl()}" class="t_button t_button--ghost" onclick="pushDataLayerCTA(window.location.href + "${quoting_block.Button.getFriendlyUrl()}", 'ghost', "${quoting_block.Button.LinkText.getData()}")">
540 <span class="t_button__label">${htmlUtil.unescape(quoting_block.Button.LinkText.getData())}</span>
541 </a>
542 </#if>
543 </div>
544 </section>
545 <#-- Mid content -->
546 <#if mid_content.getData()?has_content>
547 <section class="t_text">
548 ${htmlUtil.unescape(mid_content.getData())}
549 </section>
550 </#if>
551 <#-- Splitted images section -->
552 <#if (splitted_images.split_image.getSiblings())?has_content>
553 <ul class="t_picture t_block">
554 <#list splitted_images.split_image.getSiblings() as image_splitted>
555 <#if (image_splitted.getData()?has_content
556 && image_splitted.getAttribute("fileEntryId")?has_content
557 && image_splitted.getAttribute("fileEntryId")?has_content
558 && image_splitted.getAttribute("alt")?has_content)>
559 <li class="t_picture__item">
560 <figure class="t_picture__element">
561 <img class="lazyload t_picture__visual" data-fileentryid="${image_splitted.getAttribute("fileEntryId")}" alt="${image_splitted.getAttribute("alt")}" data-src="${image_splitted.getData()}" />
562 <figcaption class="t_picture__legend">${htmlUtil.unescape(image_splitted.split_image_text.getData())}</figcaption>
563 </figure>
564 </li>
565 </#if>
566 </#list>
567 </ul>
568 </#if>
569 <#-- Bottom content -->
570 <#if bottom_content.getData()?has_content>
571 <section class="t_text">
572 ${htmlUtil.unescape(bottom_content.getData())}
573 </section>
574 </#if>
575 <#-- Bottom links section -->
576 <#if bottom_links?has_content>
577 <section class="t_insurance">
578 <h2 class="t_secondaryTitle">${htmlUtil.unescape(bottom_links.bottom_content_title.getData())}</h2>
579 <ul class="t_insurance__list">
580 <#if bottom_links.Picture.getSiblings()?has_content>
581 <#list bottom_links.Picture.getSiblings() as cur_Picture>
582 <li class="t_insurance__listElement">
583 <#if cur_Picture.getData()?? && cur_Picture.getData() != "">
584 <img class="lazyload t_insurance__listElement__picture" data-fileentryid="${cur_Picture.getAttribute("fileEntryId")}" alt="${cur_Picture.getAttribute("alt")}" data-src="${cur_Picture.getData()}" />
585 </#if>
586 <div class="t_insurance__listElement__inner">
587 <h3 class="t_simpleTitle t_insurance__listElement__title">${htmlUtil.unescape(cur_Picture.bottom_content_subtitle.getData())}</h3>
588 <p class="t_smallText">
589 ${htmlUtil.unescape(cur_Picture.Text.getData())}
590 </p>
591 <a href="${cur_Picture.Link.getFriendlyUrl()}" class="t_link t_insurance__listElement__cta">${htmlUtil.unescape(cur_Picture.Link.TextLink.getData())}
592 <svg width="14" height="14" class="t_link__picto" xmlns="http://www.w3.org/2000/svg" role="presentation">
593 <use xlink:href="#full-arrow" href="#full-arrow" />
594 </svg>
595 </a>
596 </div>
597 </li>
598 </#list>
599 </#if>
600 </ul>
601 </section>
602 </#if>
603 <#-- TODO: if we have related content, then we should had the same content in here (notice the difference in css class) -->
604 <#if (relatedArticles.relatedLinkToPage)?has_content>
605 <#list relatedArticles.relatedLinkToPage.getSiblings() as relatedArticle>
606 <#if relatedArticle?index=0 && relatedArticle.getData()?has_content>
607 <aside class="t_article__related">
608 <h2 class="t_article__relatedTitle"><@liferay.language key="related-assets" /></h2>
609 <div class="t_article__relatedInner">
610
611 <#assign layout>
612 <@cleanUnicode relatedArticle.getData() />
613 </#assign>
614 <#assign layout = layout?eval />
615
616 <#if layout?has_content>
617 <#assign pageTitle = "default2" />
618 <#--TITLE-->
619 <#if layout.title?? && layout.title?trim!="">
620 <#assign pageTitle = layout.title />
621 <#--NAME-->
622 <#elseif layout.name?? && layout.name?trim!="">
623 <#assign pageTitle = layout.name />
624 <#--LABEL-->
625 <#elseif layout.label?? && layout.label?trim!="">
626 <#assign pageTitle = layout.label />
627 <#--DEBUG-->
628 <#elseif layout?has_content>
629 <#assign pageTitle = "---." />
630 <#--EMPTY-->
631 <#else>
632 <#assign pageTitle = "---.." />
633 </#if>
634 <p class="t_smallText"><a href="${relatedArticle.getFriendlyUrl()}">${htmlUtil.unescape(pageTitle)}</a></p>
635 <script>
636 $('.article-full__right').css('display', 'block');
637 </script>
638 <#else>
639 <script>
640 $('.article-full__right').css('display', 'none');
641 </script>
642 </#if>
643 <#elseif relatedArticle.getData()?has_content>
644 <#attempt>
645
646 <#assign layout>
647 <@cleanUnicode relatedArticle.getData() />
648 </#assign>
649 <#assign layout = layout?eval />
650
651 <#if layout?has_content>
652 <#assign pageTitle = "default2" />
653 <#--TITLE-->
654 <#if layout.title?? && layout.title?trim!="">
655 <#assign pageTitle = layout.title />
656 <#--NAME-->
657 <#elseif layout.name?? && layout.name?trim!="">
658 <#assign pageTitle = layout.name />
659 <#--LABEL-->
660 <#elseif layout.label?? && layout.label?trim!="">
661 <#assign pageTitle = layout.label />
662 <#--DEBUG-->
663 <#elseif layout?has_content>
664 <#assign pageTitle = "---." />
665 <#--EMPTY-->
666 <#else>
667 <#assign pageTitle = "---.." />
668 </#if>
669 <p class="t_smallText"><a href="${relatedArticle.getFriendlyUrl()}">${htmlUtil.unescape(pageTitle)}</a></p>
670 <script>
671 $('.article-full__right').css('display', 'block');
672 </script>
673 <#else>
674 <script>
675 $('.article-full__right').css('display', 'none');
676 </script>
677 </#if>
678 <#recover>
679 <#-- Recover from error -->
680 <#assign layoutStr>
681 <@cleanUnicode relatedArticle.getData() />
682 </#assign>
683 <#assign layout = layoutStr?eval />
684 <#if layout.title?? && layout.title?trim!="">
685 <#assign pageTitle = layout.title />
686 <#elseif layout.name?? && layout.name?trim!="">
687 <#assign pageTitle = layout.name />
688 <#elseif layout.label?? && layout.label?trim!="">
689 <#assign pageTitle = layout.label />
690 <#else>
691 <#assign pageTitle = "---_" />
692 </#if>
693 <p class="t_smallText"><a href="${relatedArticle.getFriendlyUrl()}">${htmlUtil.unescape(pageTitle)}</a></p>
694
695 </#attempt>
696 </#if>
697 </#list>
698 <#if hasRelated>
699 </div>
700 </aside>
701 </#if>
702 </#if>
703 </article>
704 <script>
705 function googleplusbtn(url) {
706 sharelink = "https://plus.google.com/share?url="+url;
707 newwindow=window.open(sharelink,'name','height=350,width=520');
708 if (window.focus) {newwindow.focus()}
709 return false;
710 }
711 </script>
712 <script>
713 function fbShare(url, title, descr, image, winWidth, winHeight) {
714 var winTop = (screen.height / 2) - (winHeight / 2);
715 var winLeft = (screen.width / 2) - (winWidth / 2);
716 window.open('http://www.facebook.com/sharer.php?s=100&p[title]=' + title + '&p[summary]=' + descr + '&p[url]=' + url + '&p[images][0]=' + image, 'sharer', 'top=' + winTop + ',left=' + winLeft + ',toolbar=0,status=0,width=' + winWidth + ',height=' + winHeight);
717 }
718 </script>
719 <script>
720 $('.popup').click(function(event) {
721 var width = 575,
722 height = 400,
723 left = ($(window).width() - width) / 2,
724 top = ($(window).height() - height) / 2,
725 url = this.href,
726 opts = 'status=1' +
727 ',width=' + width +
728 ',height=' + height +
729 ',top=' + top +
730 ',left=' + left;
731
732 window.open(url, 'twitter', opts);
733
734 return false;
735 });
736 </script>
737</#if>
Des couvertures étendues pour vos voyages
24h/24 et 7j/7
Edited Une assistance 24h/24 et 7j/7 en France et à l’étranger
Rapatriement médical
Le rapatriement médical avec l’envoi d’un médecin sur place
Bagages
L’assurance bagages en cas de perte, vol ou destruction
Annulation
L’annulation du voyage avant le départ et le retour anticipé
Frais Médicaux
Une prise en charge des frais médicaux d’urgence à l’étranger.
Choix
Plusieurs formules disponibles pour chaque assurance