Ruta de navegació
- Aportamas
- OFERTES EXCLUSIVES
Publicador de continguts
S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> jsonArray.groupId [in template "20155#20195#27421" at line 92, column 64]
----
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: #assign urlImgRel = "/documents/" + j... [in template "20155#20195#27421" at line 92, column 29]
----
1<style>
2.align-center {
3 vertical-align: middle;
4 align-self: center;
5}
6.backImage {
7 height: 100%;
8 background-repeat: no-repeat;
9 background-size: cover;
10 display: flex;
11}
12.backImage .container {
13 display: flex;
14}
15.carousel-item {
16 height: 100%;
17}
18.carousel-item.active a:hover {
19 text-decoration: none;
20}
21.col-8.align-center {
22 color: black;
23}
24</style>
25
26<#assign preferenciasService = serviceLocator.findService("com.vidacaixa.services.service.VidaCaixaPreferenceLocalService") />
27<#assign bannerInterval = preferenciasService.findByKey(groupId, 'BANNER_PRINCIPAL_INTERVAL').value />
28<#assign finalSlideLink = "#" />
29<#if entries?has_content>
30 <section class="section section-main-carousel">
31 <div id="carousel1" class="carousel slide slide-02" data-ride="carousel" data-interval="${bannerInterval}">
32 <div class="carousel-inner">
33 <#assign count = 0 />
34 <#list entries as entry >
35 <#assign count = count + 1 />
36 <#if count == 1>
37 <#assign isActive = "active" />
38 <#else>
39 <#assign isActive = "" />
40 </#if>
41 <#assign renderer = entry.getAssetRenderer() />
42 <#assign className = renderer.getClassName() />
43
44 <#if className == "com.liferay.journal.model.JournalArticle" >
45 <#assign journalArticle = renderer.getArticle() />
46 <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale("locale")) />
47 <#assign rootElement = document.getRootElement() />
48 <#assign slideLinkTitle = document.valueOf("//dynamic-element[@name='LinkTitle']/dynamic-content/text()") />
49 <#assign slideLinkType = document.valueOf("//dynamic-element[@name='LinkType']/dynamic-content/text()") />
50 <#if slideLinkType?trim == "interno">
51 <#assign fieldValue = document.valueOf("//dynamic-element[@name='LinkInterno']/dynamic-content/text()") />
52 <#if fieldValue?has_content && fieldValue!= "{}">
53 <#assign layoutList = fieldValue?eval />
54 <#assign layoutGroup = layoutList.groupId />
55 <#assign privateLayout = layoutList.privateLayout />
56 <#assign layoutId = layoutList.layoutId />
57 <#if privateLayout == true >
58 <#assign layoutType = true />
59 <#else>
60 <#assign layoutType = false />
61 </#if>
62 <#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") />
63 <#assign pageLayout = layoutLocalService.getLayout(getterUtil.getLong(layoutGroup), getterUtil.getBoolean(layoutType), getterUtil.getLong(layoutId)) />
64 <#assign user = themeDisplay.getUser() />
65 <#if user.isDefaultUser()>
66 <#assign url = themeDisplay.getURLCurrent() />
67 <#assign companyCollectiveHash = paramUtil.get(renderRequest, "emp", "")/>
68 <#assign hashVariable = "?emp=${companyCollectiveHash}" />
69 <#else>
70 <#assign hashVariable = "" />
71 </#if>
72 <#assign slideLink = pageLayout.getRegularURL(request) />
73 <#if hashVariable??>
74 <#assign finalSlideLink = "${slideLink}${hashVariable}" />
75 <#else>
76 <#assign finalSlideLink = "${slideLink}" />
77 </#if>
78 </#if>
79 <#else>
80 <#if slideLinkType?trim == "externo" >
81 <#assign finalSlideLink = document.valueOf("//dynamic-element[@name='LinkExterno']/dynamic-content/text()") />
82 </#if>
83 </#if>
84 <#assign LinkBlank = document.valueOf("//dynamic-element[@name='LinkBlank']/dynamic-content/text()") />
85 <#if LinkBlank?trim == "SI" >
86 <#assign blankText = "target='_blank'" />
87 <#else>
88 <#assign blankText = "" />
89 </#if>
90 <#assign imageBanner = document.valueOf("//dynamic-element[@name='Image']/dynamic-content/text()") />
91 <#assign jsonArray = jsonFactoryUtil.createJSONObject(imageBanner) />
92 <#assign urlImgRel = "/documents/"+jsonArray.groupId+"/"+jsonArray.uuid />
93 <div class="carousel-item ${isActive}">
94 <#if ( slideLinkTitle?trim != "") || (finalSlideLink?trim == "") >
95 <div class="backImage" style="background-image:url(${urlImgRel})">
96 <#else>
97 <a href="${finalSlideLink}" ${blankText}>
98 <div class="backImage" style="background-image:url(${urlImgRel})">
99 </#if>
100 <div class="container">
101 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Title']") />
102 <#assign fields = xPathSelector.selectNodes(rootElement) />
103 <#list fields as field>
104 <#assign tituloBanner = field.getStringValue() />
105 </#list>
106 <div class="col-8 align-center">
107 <h2 class="item-title">${tituloBanner}</h2>
108 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Summary']") />
109 <#assign fields = xPathSelector.selectNodes(rootElement) />
110 <#list fields as field>
111 <#assign descripcionBanner = field.getStringValue() />
112 </#list>
113 <p class="item-description hidden-tablet hidden-phone">${descripcionBanner}</p>
114 </div>
115 <div class="col-4 align-center">
116 <#if (slideLinkTitle?trim != "") && (finalSlideLink?trim != "")>
117 <a href="${finalSlideLink}" class="item-button btn btn-large btn-blue" ${blankText}>${slideLinkTitle}</a>
118 <#else>
119 <#-- ##LinkNoDefinido -->
120 </#if>
121 </div>
122 </div>
123 <#if ( slideLinkTitle?trim != "") || (finalSlideLink?trim == "")>
124 </div>
125 <#else>
126 </div>
127 </a>
128 </#if>
129 </div>
130 </#if>
131 </#list>
132 </div>
133 <#if (count > 1)>
134 <div class="carousel-bottom hidden-phone">
135 <ol class="carousel-indicators">
136 <#assign countBullet = 0 />
137 <#list entries as entry>
138 <#if (countBullet == 0)>
139 <li data-target="#carousel1" data-slide-to="${countBullet}" class="active"></li>
140 <#else>
141 <li data-target="#carousel1" data-slide-to="${countBullet}"></li>
142 </#if>
143 <#assign countBullet = countBullet + 1 />
144 </#list>
145 </ol>
146 </div>
147 </#if>
148 </div>
149 </section>
150</#if>