Fel uppstod under bearbetning av mallen.
The following has evaluated to null or missing:
==> dvmSkuBannerCR  [in template "43360#43399#68716" at line 4, column 18]

----
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 skuId = dvmSkuBannerCR  [in template "43360#43399#68716" at line 4, column 1]
----
1<#assign contadorSKU = 0> 
2<#assign contadorBannerSKU = 0> 
3<#assign contadorBannerSKUImg = 0> 
4<#assign skuId = dvmSkuBannerCR> 
5<#assign contadorBannerGenerico = 0> 
6<#assign contadorBannerGenericoImg = 0> 
7<#assign contadorBannerGenericoDiv = 0> 
8 
9<#if entries?has_content> 
10	<#list entries as curEntry> 
11		<#assign renderer = curEntry.getAssetRenderer()> 
12		<#assign docXml = saxReaderUtil.read(renderer.getArticle().getContent()) /> 
13		<#assign sku  = docXml.valueOf("//dynamic-element[@name='SKU']/dynamic-content/text()") /> 
14		<#assign esGenerico  = docXml.valueOf("//dynamic-element[@name='Generico']/dynamic-content/text()") /> 
15		<#assign utilizaGenerico  = docXml.valueOf("//dynamic-element[@name='UtilizaGenerico']/dynamic-content/text()") /> 
16		<#if skuId == sku && esGenerico != 'true' && utilizaGenerico != 'true'> 
17			<#assign contadorSKU++>  
18		</#if>	 
19		<#if esGenerico == 'true'> 
20			<#assign contadorBannerGenericoDiv++>  
21		</#if>	 
22	</#list> 
23</#if> 
24 
25<#if (contadorSKU > 0) > 
26	<div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel"> 
27	<#if (contadorSKU > 1)> 
28		<ol class="carousel-indicators"> 
29		<#list entries as entryBannerSKU> 
30			<#assign renderer = entryBannerSKU.getAssetRenderer()> 
31			<#assign docXml = saxReaderUtil.read(renderer.getArticle().getContent()) /> 
32			<#assign sku  = docXml.valueOf("//dynamic-element[@name='SKU']/dynamic-content/text()") /> 
33			<#assign esGenerico  = docXml.valueOf("//dynamic-element[@name='Generico']/dynamic-content/text()") /> 
34			<#assign utilizaGenerico  = docXml.valueOf("//dynamic-element[@name='UtilizaGenerico']/dynamic-content/text()") /> 
35			<#if skuId == sku> 
36				<#assign contadorBannerSKU++>  
37				<li data-target="#carouselExampleIndicators" data-slide-to="${contadorBannerSKU-1}" class="<#if contadorBannerSKU - 1 == 0>active</#if>"></li> 
38			</#if>	 
39		</#list> 
40		</ol> 
41	</#if>		 
42		<div class="carousel-inner"> 
43			<#list entries as entryBannerSKUBody> 
44				<#assign renderer = entryBannerSKUBody.getAssetRenderer()> 
45				<#assign docXml = saxReaderUtil.read(renderer.getArticle().getContent()) /> 
46				<#assign sku  = docXml.valueOf("//dynamic-element[@name='SKU']/dynamic-content/text()") /> 
47				<#if skuId == sku> 
48					<#assign contadorBannerSKUImg++>  
49					 
50					<#assign titulo  = docXml.valueOf("//dynamic-element[@name='Titulo']/dynamic-content/text()") /> 
51					<#assign texto  = docXml.valueOf("//dynamic-element[@name='Texto']/dynamic-content/text()") /> 
52					<#assign externo  = docXml.valueOf("//dynamic-element[@name='Externo']/dynamic-content/text()") /> 
53					<#assign enlace  = docXml.valueOf("//dynamic-element[@name='Enlace']/dynamic-content/text()") /> 
54					 
55					<#assign journalArticle = renderer.getArticle()> 
56					<#assign document = saxReaderUtil.read(journalArticle.getContent()) > 
57					<#assign rootElement = document.getRootElement()>              
58					<#assign xPathSelector1 = saxReaderUtil.createXPath("dynamic-element[@name='HOME01']")> 
59					<#assign imgNews1 = xPathSelector1.selectSingleNode(rootElement).getStringValue()> 
60					<#assign imgJson1 = jsonFactoryUtil.createJSONObject(imgNews1)> 
61					<#assign imagen1 = "/documents/"+ imgJson1.groupId +"/" +imgJson1.fileEntryId +"/"+ imgJson1.name +"/"+imgJson1.uuid > 
62					 
63					<#assign xPathSelector2 = saxReaderUtil.createXPath("dynamic-element[@name='HOME02']")> 
64					<#assign imgNews2 = xPathSelector2.selectSingleNode(rootElement).getStringValue()> 
65					<#assign imgJson2 = jsonFactoryUtil.createJSONObject(imgNews2)> 
66					<#assign imagen2 = "/documents/"+ imgJson2.groupId +"/" +imgJson2.fileEntryId +"/"+ imgJson2.name +"/"+imgJson2.uuid > 
67					 
68					<#assign xPathSelector3 = saxReaderUtil.createXPath("dynamic-element[@name='HOME03']")> 
69					<#assign imgNews3 = xPathSelector3.selectSingleNode(rootElement).getStringValue()> 
70					<#assign imgJson3 = jsonFactoryUtil.createJSONObject(imgNews3)> 
71					<#assign imagen3 = "/documents/"+ imgJson3.groupId +"/" +imgJson3.fileEntryId +"/"+ imgJson3.name +"/"+imgJson3.uuid > 
72					 
73					<#assign xPathSelector4 = saxReaderUtil.createXPath("dynamic-element[@name='HOME04']")> 
74					<#assign imgNews4 = xPathSelector4.selectSingleNode(rootElement).getStringValue()> 
75					<#assign imgJson4 = jsonFactoryUtil.createJSONObject(imgNews4)> 
76					<#assign imagen4 = "/documents/"+ imgJson4.groupId +"/" +imgJson4.fileEntryId +"/"+ imgJson4.name +"/"+imgJson4.uuid > 
77							 
78					<style> 
79				    .d-block.w-100.img-lg_${entryBannerSKUBody?counter}{ 
80                        min-height: 530px; 
81
82                    .d-block.w-100.img-md_${entryBannerSKUBody?counter}{ 
83                        min-height: 320px; 
84
85                    .d-block.w-100.img-sm_${entryBannerSKUBody?counter}{ 
86                        min-height: 375px; 
87
88                    .d-block.w-100.img-xs_${entryBannerSKUBody?counter}{ 
89                        min-height: 375px; 
90
91					.img-lg_${entryBannerSKUBody?counter} { 
92					  display: flex !important; 
93					  width: 100%; 
94                      height: auto; 
95                      background-image: url("${imagen1}"); 
96                      background-repeat: no-repeat; 
97                      background-size: cover; 
98                      background-position: center; 
99
100 
101					.img-md_${entryBannerSKUBody?counter} { 
102					  display: none !important; 
103
104					.img-sm_${entryBannerSKUBody?counter} { 
105					  display: none !important; 
106
107 
108					.img-xs_${entryBannerSKUBody?counter} { 
109					  display: none !important; 
110
111					 
112					@media only screen and (max-width: 1600px) { 
113					  .d-block.w-100.img-lg_${entryBannerSKUBody?counter}{ 
114                        min-height: 450px; 
115
116
117  
118					@media only screen and (max-width: 1024px) { 
119					  .d-block.w-100.img-lg_${entryBannerSKUBody?counter}{ 
120                        min-height: 355px; 
121
122
123					@media only screen and (max-width: 1024px) { 
124					  .d-block.w-100.img-md_${entryBannerSKUBody?counter}{ 
125                        min-height: 260px; 
126
127					}			 
128					 
129					@media only screen and (max-width: 795px) { 
130					  .img-lg_${entryBannerSKUBody?counter} { 
131						display: none !important; 
132
133					  .img-md_${entryBannerSKUBody?counter} { 
134						display: flex !important; 
135						width: 100%; 
136                        height: auto; 
137                        background-image: url("${imagen1}"); 
138                        background-repeat: no-repeat; 
139                        background-size: cover; 
140                        background-position: center; 
141
142					  .carousel { 
143                            min-height: 260px; 
144
145
146 
147					@media only screen and (max-width: 650px) { 
148					  .img-md_${entryBannerSKUBody?counter} { 
149						display: none !important; 
150
151					  .img-sm_${entryBannerSKUBody?counter} { 
152						display: flex !important; 
153						width: 100%; 
154                        height: auto; 
155                        background-image: url("${imagen3}"); 
156                        background-repeat: no-repeat; 
157                        background-size: cover; 
158                        background-position: center; 
159
160
161 
162					@media only screen and (max-width: 375px) { 
163					  .img-sm_${entryBannerSKUBody?counter} { 
164						display: none !important; 
165
166					  .img-xs_${entryBannerSKUBody?counter} { 
167						display: flex !important; 
168						width: 100%; 
169                        height: auto; 
170                        background-image: url("${imagen4}"); 
171                        background-repeat: no-repeat; 
172                        background-size: cover; 
173                        background-position: center; 
174
175
176				</style> 
177				 
178				<div class="carousel-item <#if contadorBannerSKUImg - 1 == 0>active</#if>"> 
179				     
180                    <#if enlace?has_content> 
181						 <a href="${enlace}"  target="<#if externo == 'true'>_blank<#else>_self</#if>"> 
182                            <div  class="d-block w-100 img-lg_${entryBannerSKUBody?counter}" ></div> 
183                        </a> 
184                        <a href="${enlace}"  target="<#if externo == 'true'>_blank<#else>_self</#if>"> 
185                            <div  class="d-block w-100 img-md_${entryBannerSKUBody?counter}"></div> 
186                        </a> 
187                        <a href="${enlace}" target="<#if externo == 'true'>_blank<#else>_self</#if>"> 
188                            <div  class="d-block w-100 img-sm_${entryBannerSKUBody?counter}"></div> 
189                        </a>  
190                        <a href="${enlace}" target="<#if externo == 'true'>_blank<#else>_self</#if>"> 
191                            <div  class="d-block w-100 img-xs_${entryBannerSKUBody?counter}"></div> 
192                        </a>   
193                    <#else>    
194						<div class="d-block w-100 img-lg_${entryBannerSKUBody?counter}"></div> 
195                        <div  class="d-block w-100 img-md_${entryBannerSKUBody?counter}"></div> 
196                        <div  class="d-block w-100 img-sm_${entryBannerSKUBody?counter}"></div> 
197                        <div  class="d-block w-100 img-xs_${entryBannerSKUBody?counter}"></div> 
198                    </#if> 
199                     
200                     
201                <#if titulo?has_content> 
202					<div class="col-sm-12 col-sm-6 col-md-5 col-lg-4 banner-text"> 
203                      <h3 class="h3-mb">${titulo}</h3> 
204                      <#if texto?has_content><p>${texto}</p></#if> 
205                      <#if enlace?has_content> 
206                        <div class="banner-btn"> 
207                          <a href="${enlace}" class="btn btn-jeep" target="<#if externo == 'true'>_blank<#else>_self</#if>">Ver más</a> 
208                        </div> 
209                      </#if> 
210                    </div> 
211				</#if>	 
212				</div> 
213				</#if>	 
214			</#list> 
215		</div> 
216	<#if (contadorSKU > 1)>	 
217		<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev"> 
218		  <i class="fas fa-angle-left"></i> 
219		  <span class="sr-only">Previous</span> 
220		</a> 
221		<a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next"> 
222			<i class="fas fa-angle-right"></i> 
223		  <span class="sr-only">Next</span> 
224		</a> 
225	</#if>	 
226  </div> 
227<#else>   
228	<div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel"> 
229	<#if (contadorBannerGenericoDiv > 1)> 
230		<ol class="carousel-indicators"> 
231		<#list entries as entryBannerSKU> 
232			<#assign renderer = entryBannerSKU.getAssetRenderer()> 
233			<#assign docXml = saxReaderUtil.read(renderer.getArticle().getContent()) /> 
234			<#assign sku  = docXml.valueOf("//dynamic-element[@name='SKU']/dynamic-content/text()") /> 
235			<#assign esGenerico  = docXml.valueOf("//dynamic-element[@name='Generico']/dynamic-content/text()") /> 
236			<#assign utilizaGenerico  = docXml.valueOf("//dynamic-element[@name='UtilizaGenerico']/dynamic-content/text()") /> 
237			<#if esGenerico == 'true'> 
238				<#assign contadorBannerGenerico++>  
239				<li data-target="#carouselExampleIndicators" data-slide-to="${contadorBannerGenerico-1}" class="<#if contadorBannerGenerico - 1 == 0>active</#if>"></li> 
240			</#if>	 
241		</#list> 
242		</ol> 
243	</#if>		 
244		<div class="carousel-inner"> 
245			<#list entries as entryBannerSKUBody> 
246				<#assign renderer = entryBannerSKUBody.getAssetRenderer()> 
247				<#assign docXml = saxReaderUtil.read(renderer.getArticle().getContent()) /> 
248				<#assign sku  = docXml.valueOf("//dynamic-element[@name='SKU']/dynamic-content/text()") /> 
249				<#assign esGenerico  = docXml.valueOf("//dynamic-element[@name='Generico']/dynamic-content/text()") /> 
250				<#if esGenerico == 'true'> 
251					<#assign contadorBannerGenericoImg++>  
252					 
253					<#assign titulo  = docXml.valueOf("//dynamic-element[@name='Titulo']/dynamic-content/text()") /> 
254					<#assign texto  = docXml.valueOf("//dynamic-element[@name='Texto']/dynamic-content/text()") /> 
255					<#assign externo  = docXml.valueOf("//dynamic-element[@name='Externo']/dynamic-content/text()") /> 
256					<#assign enlace  = docXml.valueOf("//dynamic-element[@name='Enlace']/dynamic-content/text()") /> 
257					 
258					<#assign journalArticle = renderer.getArticle()> 
259					<#assign document = saxReaderUtil.read(journalArticle.getContent()) > 
260					<#assign rootElement = document.getRootElement()>              
261					<#assign xPathSelector1 = saxReaderUtil.createXPath("dynamic-element[@name='HOME01']")> 
262					<#assign imgNews1 = xPathSelector1.selectSingleNode(rootElement).getStringValue()> 
263					<#assign imgJson1 = jsonFactoryUtil.createJSONObject(imgNews1)> 
264					<#assign imagen1 = "/documents/"+ imgJson1.groupId +"/" +imgJson1.fileEntryId +"/"+ imgJson1.name +"/"+imgJson1.uuid > 
265					 
266					<#assign xPathSelector2 = saxReaderUtil.createXPath("dynamic-element[@name='HOME02']")> 
267					<#assign imgNews2 = xPathSelector2.selectSingleNode(rootElement).getStringValue()> 
268					<#assign imgJson2 = jsonFactoryUtil.createJSONObject(imgNews2)> 
269					<#assign imagen2 = "/documents/"+ imgJson2.groupId +"/" +imgJson2.fileEntryId +"/"+ imgJson2.name +"/"+imgJson2.uuid > 
270					 
271					<#assign xPathSelector3 = saxReaderUtil.createXPath("dynamic-element[@name='HOME03']")> 
272					<#assign imgNews3 = xPathSelector3.selectSingleNode(rootElement).getStringValue()> 
273					<#assign imgJson3 = jsonFactoryUtil.createJSONObject(imgNews3)> 
274					<#assign imagen3 = "/documents/"+ imgJson3.groupId +"/" +imgJson3.fileEntryId +"/"+ imgJson3.name +"/"+imgJson3.uuid > 
275					 
276					<#assign xPathSelector4 = saxReaderUtil.createXPath("dynamic-element[@name='HOME04']")> 
277					<#assign imgNews4 = xPathSelector4.selectSingleNode(rootElement).getStringValue()> 
278					<#assign imgJson4 = jsonFactoryUtil.createJSONObject(imgNews4)> 
279					<#assign imagen4 = "/documents/"+ imgJson4.groupId +"/" +imgJson4.fileEntryId +"/"+ imgJson4.name +"/"+imgJson4.uuid > 
280							 
281					<style> 
282				    .d-block.w-100.img-lg_${entryBannerSKUBody?counter}{ 
283                        min-height: 530px; 
284
285                    .d-block.w-100.img-md_${entryBannerSKUBody?counter}{ 
286                        min-height: 320px; 
287
288                    .d-block.w-100.img-sm_${entryBannerSKUBody?counter}{ 
289                        min-height: 375px; 
290
291                    .d-block.w-100.img-xs_${entryBannerSKUBody?counter}{ 
292                        min-height: 375px; 
293
294					.img-lg_${entryBannerSKUBody?counter} { 
295					  display: flex !important; 
296					  width: 100%; 
297                      height: auto; 
298                      background-image: url("${imagen1}"); 
299                      background-repeat: no-repeat; 
300                      background-size: cover; 
301                      background-position: center; 
302
303 
304					.img-md_${entryBannerSKUBody?counter} { 
305					  display: none !important; 
306
307					.img-sm_${entryBannerSKUBody?counter} { 
308					  display: none !important; 
309
310 
311					.img-xs_${entryBannerSKUBody?counter} { 
312					  display: none !important; 
313
314					 
315					@media only screen and (max-width: 1600px) { 
316					  .d-block.w-100.img-lg_${entryBannerSKUBody?counter}{ 
317                        min-height: 450px; 
318
319
320  
321					@media only screen and (max-width: 1024px) { 
322					  .d-block.w-100.img-lg_${entryBannerSKUBody?counter}{ 
323                        min-height: 355px; 
324
325
326					@media only screen and (max-width: 1024px) { 
327					  .d-block.w-100.img-md_${entryBannerSKUBody?counter}{ 
328                        min-height: 260px; 
329
330					}		 
331 
332					@media only screen and (max-width: 795px) { 
333					  .img-lg_${entryBannerSKUBody?counter} { 
334						display: none !important; 
335
336					  .img-md_${entryBannerSKUBody?counter} { 
337						display: flex !important; 
338						width: 100%; 
339                        height: auto; 
340                        background-image: url("${imagen1}"); 
341                        background-repeat: no-repeat; 
342                        background-size: cover; 
343                        background-position: center; 
344
345					  .carousel { 
346                            min-height: 260px; 
347
348
349 
350					@media only screen and (max-width: 650px) { 
351					  .img-md_${entryBannerSKUBody?counter} { 
352						display: none !important; 
353
354					  .img-sm_${entryBannerSKUBody?counter} { 
355						display: flex !important; 
356						width: 100%; 
357                        height: auto; 
358                        background-image: url("${imagen3}"); 
359                        background-repeat: no-repeat; 
360                        background-size: cover; 
361                        background-position: center; 
362
363
364 
365					@media only screen and (max-width: 375px) { 
366					  .img-sm_${entryBannerSKUBody?counter} { 
367						display: none !important; 
368
369					  .img-xs_${entryBannerSKUBody?counter} { 
370						display: flex !important; 
371						width: 100%; 
372                        height: auto; 
373                        background-image: url("${imagen4}"); 
374                        background-repeat: no-repeat; 
375                        background-size: cover; 
376                        background-position: center; 
377
378
379				</style> 
380				 
381				<div class="carousel-item <#if contadorBannerGenericoImg - 1 == 0>active</#if>"> 
382				     
383                    <#if enlace?has_content> 
384						 <a href="${enlace}"  target="<#if externo == 'true'>_blank<#else>_self</#if>"> 
385                            <div  class="d-block w-100 img-lg_${entryBannerSKUBody?counter}" ></div> 
386                        </a> 
387                        <a href="${enlace}"  target="<#if externo == 'true'>_blank<#else>_self</#if>"> 
388                            <div  class="d-block w-100 img-md_${entryBannerSKUBody?counter}"></div> 
389                        </a> 
390                        <a href="${enlace}" target="<#if externo == 'true'>_blank<#else>_self</#if>"> 
391                            <div  class="d-block w-100 img-sm_${entryBannerSKUBody?counter}"></div> 
392                        </a>  
393                        <a href="${enlace}" target="<#if externo == 'true'>_blank<#else>_self</#if>"> 
394                            <div  class="d-block w-100 img-xs_${entryBannerSKUBody?counter}"></div> 
395                        </a>   
396                    <#else>    
397						<div class="d-block w-100 img-lg_${entryBannerSKUBody?counter}"></div> 
398                        <div  class="d-block w-100 img-md_${entryBannerSKUBody?counter}"></div> 
399                        <div  class="d-block w-100 img-sm_${entryBannerSKUBody?counter}"></div> 
400                        <div  class="d-block w-100 img-xs_${entryBannerSKUBody?counter}"></div> 
401                    </#if> 
402                     
403                     
404                <#if titulo?has_content> 
405					<div class="col-sm-12 col-sm-6 col-md-5 col-lg-4 banner-text"> 
406                      <h3 class="h3-mb">${titulo}</h3> 
407                      <#if texto?has_content><p>${texto}</p></#if> 
408                      <#if enlace?has_content> 
409                        <div class="banner-btn"> 
410                          <a href="${enlace}" class="btn btn-jeep" target="<#if externo == 'true'>_blank<#else>_self</#if>">Ver más</a> 
411                        </div> 
412                      </#if> 
413                    </div> 
414				</#if>	 
415				</div> 
416				</#if>	 
417			</#list> 
418		</div> 
419	<#if (contadorBannerGenericoDiv > 1)>	 
420		<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev"> 
421		  <i class="fas fa-angle-left"></i> 
422		  <span class="sr-only">Previous</span> 
423		</a> 
424		<a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next"> 
425			<i class="fas fa-angle-right"></i> 
426		  <span class="sr-only">Next</span> 
427		</a> 
428	</#if> 
429	</div> 
430</#if> 

Dejanos tus datos de contacto

(Central telefónica 2295-0000 / WhatsApp 6188-0894)

Costa Rica

Colores disponibles

Tapices disponibles


SKU:

Disponibilidad internet: Disponible

Precio online: USD


Diseño Exterior

Diseño Interior

Equipamiento