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
9
10<#assign image = (header.Visual.getData())!"" />
11<#assign hideHeaderFlag = getterUtil.getBoolean(header.hideHeader.getData()) />
12<#assign hideGetQuoteFlag = getterUtil.getBoolean(quoting_block.hideGetQuoteSection.getData()) />
13<#assign hideBottomLinksFlag = getterUtil.getBoolean(bottom_links.hideBottomLinks.getData()) />
14
15
16<!-- Article -->
17 <#assign url="#">
18 <#assign PortalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] />
19 <#assign url=PortalUtil.getCurrentCompleteURL(request) />
20 <#assign layoutService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") />
21 <#assign portalURL = serviceContext.getThemeDisplay().getPortalURL() />
22 <#assign description=.vars['reserved-article-description'].data />
23 <#--
24 <#assign themeDisplay = serviceContext.getThemeDisplay() />
25 <#assign currentUrl = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() />
26 -->
27 <#-- Header section -->
28 <#-- TODO: if we have related content, then we should had the class ".t_fullArticle--hasAside" to the article element right below -->
29 <#assign hasRelated=false />
30 <#if (relatedArticles.relatedLinkToPage)?has_content && relatedArticles.relatedLinkToPage.getSiblings()?first.getData()?has_content>
31 <#assign hasRelated=true />
32 <article class="article-full">
33 <#else>
34 <article class="article-full"> <#-- OR -->
35 </#if>
36
37 <!-- hero-banner hero-banner--slim -->
38 <#if !hideHeaderFlag>
39 <#if image == "">
40 <p>Please include a background image if you select the option "Show Header"</p>
41 <#else>
42 <div class="hero-banner">
43 <div class="hero-banner__mask">
44 <picture>
45 <source srcset="${image} 1x, ${image} 2x" media="(max-width: 600px)">
46 <img class="lazyload" style="width: 100%;" src="${image}" data-fileentryid="${header.Visual.getAttribute("fileEntryId")}" data-src="${image}" data-srcset="${image}" />
47 </picture>
48 <div class="hero-banner__mask">
49 <div class="hero-banner__container">
50 <div class="hero-banner__content text-left">
51 <#-- BREADCRUMBS -->
52 <#if !showBreadcrumb>
53 <div class="v2-hero-banner__breadcrumbs">
54
55 <#assign prefs = {
56 "displayStyle": "ddmTemplate_NEOBREADCRUMB",
57 "showCurrentGroup": "false",
58 "showGuestGroup": "false",
59 "showLayout": "true",
60 "showParentGroups": "true",
61 "showPortletBreadcrumb": "true"
62 } />
63 <#assign instanceId = .now?long>
64 <@liferay_portlet["runtime"]
65 portletName="com_liferay_site_navigation_breadcrumb_web_portlet_SiteNavigationBreadcrumbPortlet"
66 instanceId="Slim"
67 defaultPreferences = freeMarkerPortletPreferences.getPreferences(prefs)
68 />
69 </div>
70 </#if>
71 <h1 class="v2-hero-banner__title font-bold-publicoheadline color-white mt-4">${header.Visual.MainText.getData()}</h1>
72 <#if header.Visual.TextCenter.getData()?? && header.Visual.TextCenter.getData() != "">
73 <p class="v2-hero-banner__text color-white">${header.Visual.TextCenter.getData()}</p>
74 </#if>
75 <div class="t_introduction__ctas mt-4">
76 <#if header.Visual.ButtonLeft.ButtonLeftText.getData()?? && header.Visual.ButtonLeft.ButtonLeftText.getData() != "">
77 <a href="${header.Visual.ButtonLeft.getFriendlyUrl()}" class="btn btn--primary text-uppercase mr-3" onclick="pushDataLayerCTA(window.location.href + "${header.Visual.ButtonLeft.getFriendlyUrl()}", 'secondary red', "${header.Visual.ButtonLeft.ButtonLeftText.getData()}")">
78 ${header.Visual.ButtonLeft.ButtonLeftText.getData()}
79 </a>
80 </#if>
81 <#if header.Visual.ButtonRight.ButtonRightText.getData()?? && header.Visual.ButtonRight.ButtonRightText.getData() != "">
82 <a href="${header.Visual.ButtonRight.getFriendlyUrl()}" class="btn btn--light-white text-uppercase" onclick="pushDataLayerCTA(window.location.href + "${header.Visual.ButtonRight.getFriendlyUrl()}", 'ghost', "${header.Visual.ButtonRight.ButtonRightText.getData()}")">
83 <span class="t_button__label">${header.Visual.ButtonRight.ButtonRightText.getData()}</span>
84 </a>
85 </#if>
86 </div>
87 </div>
88 </div>
89 </div>
90 </div>
91 </div>
92 </#if>
93 </#if>
94 <!-- /hero-banner -->
95
96 <div class="article-full__content pb-4">
97 <div class="article-full__container container">
98
99 <!-- tag -->
100 <#if TopContent?has_content>
101 <div class="tg__tag">
102 <div class="tg__tag--container">
103 <#assign journalArticleId = .vars['reserved-article-id'].data>
104 <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
105 <#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")>
106 <#assign articleResourcePK = journalArticleLocalService.getArticle(groupId,journalArticleId).getArticleResourceUuid()>
107 <#assign categoryList = assetEntryLocalService.fetchEntry(groupId,articleResourcePK).getCategories()>
108 <ul class="tg__tag--list">
109 <#list categoryList as category>
110 <li class="tg__tag--element">
111 <a class="t_tag__link">
112 ${category.getTitle(locale)}
113 </a>
114 </li>
115 </#list>
116 </ul>
117 </div>
118 </div>
119 </#if>
120 <!-- tag -->
121 <#assign fullColumn="full-column">
122 <#list relatedArticles.relatedLinkToPage.getSiblings() as relatedArticle>
123 <#if relatedArticle.getData()?has_content>
124 <#assign fullColumn="">
125 </#if>
126 </#list>
127
128 <#if (relatedArticles.relatedLinkToPage.getSiblings())?has_content>
129 <div class="article-full__row">
130 <#else>
131 <div class="article-full__row--">
132 </#if>
133 <div class="article-full__left ${fullColumn}">
134
135 <div class="article-full__text">
136 <#if themeDisplay.getURLCurrent()?contains(themeDisplay.getPathFriendlyURLPublic()+themeDisplay.getSiteGroup().getFriendlyURL())>
137 ${TopContent.getData()}
138 <#else>
139 ${TopContent.getData()?replace(themeDisplay.getPathFriendlyURLPublic()+themeDisplay.getSiteGroup().getFriendlyURL(),"")}
140 </#if>
141 </div>
142
143 <#-- Get Quote section -->
144 <#if !hideGetQuoteFlag>
145 <section class="t_block t_quote t_quote--xlarge" style="background-color:${quoting_block.background_color.getData()}">
146 <div class="t_block__inner t_quote__inner">
147 <h2 class="t_quoteTitle font-display-5 color-white font-medium-publicoheadline">${(quoting_block.Title.getData())!""}</h2>
148 <p class="t_mainText color-white font-medium">${quoting_block.paragraph.getData()}</p>
149 <#if quoting_block.Button.LinkText.getData()?? && quoting_block.Button.LinkText.getData() != "">
150 <div class="mt-2">
151 <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()}")">
152 ${quoting_block.Button.LinkText.getData()}
153 </a>
154 </div>
155 </#if>
156 </div>
157 </section>
158 </#if>
159 <#-- Get Quote section -->
160
161 <#-- Mid content -->
162 <#if mid_content.getData()?has_content>
163 <section class="article-full__text mt-5">
164 <p>
165 <#if themeDisplay.getURLCurrent()?contains(themeDisplay.getPathFriendlyURLPublic()+themeDisplay.getSiteGroup().getFriendlyURL())>
166 ${mid_content.getData()}
167 <#else>
168 ${mid_content.getData()?replace(themeDisplay.getPathFriendlyURLPublic()+themeDisplay.getSiteGroup().getFriendlyURL(),"")}
169 </#if>
170 </p>
171 </section>
172 </#if>
173
174 <#-- Splitted images section -->
175 <#if (splitted_images.split_image.getSiblings())?has_content>
176 <!-- pictures-->
177 <section class="pictures mt-5">
178 <div class="pictures__inline pictures__inline--container">
179 <#list splitted_images.split_image.getSiblings() as image_splitted>
180 <#if (image_splitted.getData()?has_content
181 && image_splitted.getAttribute("fileEntryId")?has_content
182 && image_splitted.getAttribute("fileEntryId")?has_content
183 && image_splitted.getAttribute("alt")?has_content)>
184 <div class="pictures__inline pictures__inline--img-fluid">
185 <figure class="t_picture__element">
186 <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()}" />
187 </figure>
188 <div class="pictures__inline pictures__inline--card-img-overlay">
189 <p class="pictures__inline pictures__inline--card-title color-white font-bold-publicoheadline font-display-5 pb-3">${image_splitted.split_image_text.getData()}</p>
190 </div>
191 </div>
192 </#if>
193 </#list>
194 </div>
195 </section>
196 <!-- pictures-->
197 </#if>
198
199 <#-- Bottom content -->
200 <#if bottom_content.getData()?has_content>
201 <section class="article-full__text mt-5">
202 <p>
203 <#if themeDisplay.getURLCurrent()?contains(themeDisplay.getPathFriendlyURLPublic()+themeDisplay.getSiteGroup().getFriendlyURL())>
204 ${bottom_content.getData()}
205 <#else>
206 ${bottom_content.getData()?replace(themeDisplay.getPathFriendlyURLPublic()+themeDisplay.getSiteGroup().getFriendlyURL(),"")}
207 </#if>
208
209 </p>
210 </section>
211 </#if>
212
213 </div>
214
215 <#if (relatedArticles.relatedLinkToPage.getSiblings())?has_content>
216 <div class="article-full__right">
217 <!-- Detail 1 -->
218
219 <#if (relatedArticles.relatedLinkToPage.getSiblings())?has_content>
220 <#list relatedArticles.relatedLinkToPage.getSiblings() as relatedArticle>
221 <#if relatedArticle?index=0 && relatedArticle.getData()?has_content>
222 <aside class="article-full__detail mb-3">
223 <div class="article-full__container color-white">
224 <div class="pb-3"><span class="font-bold-publicoheadline font-display-5"><@liferay.language key="related-assets" /></span></div>
225 <div class="article-full__detail--data font-normal">
226
227 <#assign layout>
228 <@cleanUnicode relatedArticle.getData() />
229 </#assign>
230 <#assign layout = layout?eval />
231
232 <#if layout?has_content>
233 <#assign pageTitle = "default2" />
234 <#--TITLE-->
235 <#if layout.title?? && layout.title?trim!="">
236 <#assign pageTitle = layout.title />
237 <#--NAME-->
238 <#elseif layout.name?? && layout.name?trim!="">
239 <#assign pageTitle = layout.name />
240 <#--LABEL-->
241 <#elseif layout.label?? && layout.label?trim!="">
242 <#assign pageTitle = layout.label />
243 <#--DEBUG-->
244 <#elseif layout?has_content>
245 <#assign pageTitle = "---." />
246 <#--EMPTY-->
247 <#else>
248 <#assign pageTitle = "---.." />
249 </#if>
250 <p class="article-full__detail--title">
251 <a class="color-white" href="${relatedArticle.getFriendlyUrl()}">${pageTitle}</a>
252 </p>
253 <script>
254 $('.article-full__right').css('display', 'block');
255 </script>
256 <#else>
257 <script>
258 $('.article-full__right').css('display', 'none');
259 </script>
260 </#if>
261
262
263 <#elseif relatedArticle.getData()?has_content>
264 <#attempt>
265 <#assign layout>
266 <@cleanUnicode relatedArticle.getData() />
267 </#assign>
268 <#assign layout = layout?eval />
269
270 <#if layout?has_content>
271 <#assign pageTitle = "default2" />
272 <#--TITLE-->
273 <#if layout.title?? && layout.title?trim!="">
274 <#assign pageTitle = layout.title />
275 <#--NAME-->
276 <#elseif layout.name?? && layout.name?trim!="">
277 <#assign pageTitle = layout.name />
278 <#--LABEL-->
279 <#elseif layout.label?? && layout.label?trim!="">
280 <#assign pageTitle = layout.label />
281 <#--DEBUG-->
282 <#elseif layout?has_content>
283 <#assign pageTitle = "---." />
284 <#--EMPTY-->
285 <#else>
286 <#assign pageTitle = "---.." />
287 </#if>
288 <p class="article-full__detail--title">
289 <a class="color-white" href="${relatedArticle.getFriendlyUrl()}">${pageTitle}</a>
290 </p>
291 <script>
292 $('.article-full__right').css('display', 'block');
293 </script>
294 <#else>
295 <script>
296 $('.article-full__right').css('display', 'none');
297 </script>
298 </#if>
299 <#recover>
300 <#-- Recover from error -->
301 <#assign layoutStr = relatedArticle.getData()?string/>
302 <#if layoutStr?contains("\\u2019")>
303 <#assign layoutStr = layoutStr?replace("\\u2019", "'")/>
304 <#assign layout = layoutStr?eval/>
305 <#if layout.name?? && layout.name?trim!="">
306 <#assign pageTitle = layout.name />
307 <#elseif layout.label?? && layout.label?trim!="">
308 <#assign pageTitle = layout.label />
309 <#elseif layout.title?? && layout.title?trim!="">
310 <#assign pageTitle = layout.title />
311 <#else>
312 <#assign pageTitle = "---___" />
313 </#if>
314 <p class="article-full__detail--title">
315 <a class="color-white" href="${relatedArticle.getFriendlyUrl()}">${pageTitle}</a>
316 </p>
317 <script>
318 $('.article-full__right').css('display', 'block');
319 </script>
320 <#else>
321 <script>
322 $('.article-full__right').css('display', 'none');
323 </script>
324 </#if>
325 </#attempt>
326
327 </#if>
328 </#list>
329 <#if hasRelated>
330 </div>
331 </div>
332 </aside>
333 </#if>
334 </#if>
335
336 </div>
337 </#if>
338 </div>
339 </div>
340 </div>
341
342
343
344
345
346 <#if !hideBottomLinksFlag>
347 <section class="mt-1">
348 <h2 class="font-display-4 text-center font-medium-publicoheadline pt-3 pb-5">${(bottom_links.bottom_content_title.getData())!""}</h2>
349
350 <div class="article-inline">
351
352 <#list bottom_links.Picture.getSiblings() as cur_Picture>
353 <div class="article-inline__card mb-6">
354 <div class="article-inline__image">
355 <#if cur_Picture.getData()?? && cur_Picture.getData() != "">
356 <img class="lazyload t_insurance__listElement__picture" data-fileentryid="${cur_Picture.getAttribute("fileEntryId")}" alt="${cur_Picture.getAttribute("alt")}" data-src="${cur_Picture.getData()}" />
357 </#if>
358 </div>
359 <div class="article-inline__card-body">
360 <h3 class="article-inline__title h2 ">${cur_Picture.bottom_content_subtitle.getData()}</h3>
361 <p class="article-inline__card-text mb-0 pb-2">
362 ${cur_Picture.Text.getData()}
363 </p>
364 <#if cur_Picture.Link.TextLink.getData()?? && cur_Picture.Link.TextLink.getData() != "">
365 <div><a href="${cur_Picture.Link.getFriendlyUrl()}"class="link link--secondary-link icons--right icons--east">${cur_Picture.Link.TextLink.getData()}</a></div>
366 </#if>
367 </div>
368 </div>
369 </#list>
370 </div>
371 </section>
372 </#if>
373
374
375</article>
376
377<!-- /Article -->