处理模板时发生错误。
The following has evaluated to null or missing:
==> dvmSkuBannerPA  [in template "45224#45263#80836" 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 = dvmSkuBannerPA  [in template "45224#45263#80836" at line 4, column 1]
----
1<#assign contadorSKU = 0> 
2<#assign contadorBannerSKU = 0> 
3<#assign contadorBannerSKUImg = 0> 
4<#assign skuId = dvmSkuBannerPA> 
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> 

Compartenos tus datos! Grazie Mille!

(Contacto directo +(507) 303-1100)

Panamá

Colores disponibles

Tapices disponibles


SKU:

Disponibilidad internet: Disponible

Precio online: USD

3 años de garantía o 100 mil km. Ver términos y condiciones


Agenda tu Test Drive

Te lo llevamos donde tú estés

Reserva tu vehículo

Sepáralo desde tu hogar

Compra tu vehículo

Te lo entregamos donde tú quieras

Diseño Exterior

Diseño Interior

Equipamiento