处理模板时发生错误。
The following has evaluated to null or missing:
==> dvmSkuBanner  [in template "40564#40603#59033" 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 = dvmSkuBanner  [in template "40564#40603#59033" at line 4, column 1]
----
1<#assign contadorSKU = 0> 
2<#assign contadorBannerSKU = 0> 
3<#assign contadorBannerSKUImg = 0> 
4<#assign skuId = dvmSkuBanner> 
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: 1024px) { 
113					  .d-block.w-100.img-lg_${entryBannerSKUBody?counter}{ 
114                        min-height: 450px; 
115
116
117 
118					@media only screen and (max-width: 795px) { 
119					  .img-lg_${entryBannerSKUBody?counter} { 
120						display: none !important; 
121
122					  .img-md_${entryBannerSKUBody?counter} { 
123						display: flex !important; 
124						width: 100%; 
125                        height: auto; 
126                        background-image: url("${imagen1}"); 
127                        background-repeat: no-repeat; 
128                        background-size: cover; 
129                        background-position: center; 
130
131					  .carousel { 
132                            min-height: 320px; 
133
134
135 
136					@media only screen and (max-width: 650px) { 
137					  .img-md_${entryBannerSKUBody?counter} { 
138						display: none !important; 
139
140					  .img-sm_${entryBannerSKUBody?counter} { 
141						display: flex !important; 
142						width: 100%; 
143                        height: auto; 
144                        background-image: url("${imagen3}"); 
145                        background-repeat: no-repeat; 
146                        background-size: cover; 
147                        background-position: center; 
148
149
150 
151					@media only screen and (max-width: 375px) { 
152					  .img-sm_${entryBannerSKUBody?counter} { 
153						display: none !important; 
154
155					  .img-xs_${entryBannerSKUBody?counter} { 
156						display: flex !important; 
157						width: 100%; 
158                        height: auto; 
159                        background-image: url("${imagen4}"); 
160                        background-repeat: no-repeat; 
161                        background-size: cover; 
162                        background-position: center; 
163
164
165				</style> 
166				 
167				<div class="carousel-item <#if contadorBannerSKUImg - 1 == 0>active</#if>"> 
168				     
169                    <#if enlace?has_content> 
170						 <a href="${enlace}"  target="<#if externo == 'true'>_blank<#else>_self</#if>"> 
171                            <div  class="d-block w-100 img-lg_${entryBannerSKUBody?counter}" ></div> 
172                        </a> 
173                        <a href="${enlace}"  target="<#if externo == 'true'>_blank<#else>_self</#if>"> 
174                            <div  class="d-block w-100 img-md_${entryBannerSKUBody?counter}"></div> 
175                        </a> 
176                        <a href="${enlace}" target="<#if externo == 'true'>_blank<#else>_self</#if>"> 
177                            <div  class="d-block w-100 img-sm_${entryBannerSKUBody?counter}"></div> 
178                        </a>  
179                        <a href="${enlace}" target="<#if externo == 'true'>_blank<#else>_self</#if>"> 
180                            <div  class="d-block w-100 img-xs_${entryBannerSKUBody?counter}"></div> 
181                        </a>   
182                    <#else>    
183						<div class="d-block w-100 img-lg_${entryBannerSKUBody?counter}"></div> 
184                        <div  class="d-block w-100 img-md_${entryBannerSKUBody?counter}"></div> 
185                        <div  class="d-block w-100 img-sm_${entryBannerSKUBody?counter}"></div> 
186                        <div  class="d-block w-100 img-xs_${entryBannerSKUBody?counter}"></div> 
187                    </#if> 
188                     
189                     
190                <#if titulo?has_content> 
191					<div class="col-sm-12 col-sm-6 col-md-5 col-lg-4 banner-text"> 
192                      <h3 class="h3-mb">${titulo}</h3> 
193                      <#if texto?has_content><p>${texto}</p></#if> 
194                      <#if enlace?has_content> 
195                        <div class="banner-btn"> 
196                          <a href="${enlace}" class="btn btn-dodge" target="<#if externo == 'true'>_blank<#else>_self</#if>">Ver más</a> 
197                        </div> 
198                      </#if> 
199                    </div> 
200				</#if>	 
201				</div> 
202				</#if>	 
203			</#list> 
204		</div> 
205	<#if (contadorSKU > 1)>	 
206		<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev"> 
207		  <i class="fas fa-angle-left"></i> 
208		  <span class="sr-only">Previous</span> 
209		</a> 
210		<a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next"> 
211			<i class="fas fa-angle-right"></i> 
212		  <span class="sr-only">Next</span> 
213		</a> 
214	</#if>	 
215  </div> 
216<#else>   
217	<div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel"> 
218	<#if (contadorBannerGenericoDiv > 1)> 
219		<ol class="carousel-indicators"> 
220		<#list entries as entryBannerSKU> 
221			<#assign renderer = entryBannerSKU.getAssetRenderer()> 
222			<#assign docXml = saxReaderUtil.read(renderer.getArticle().getContent()) /> 
223			<#assign sku  = docXml.valueOf("//dynamic-element[@name='SKU']/dynamic-content/text()") /> 
224			<#assign esGenerico  = docXml.valueOf("//dynamic-element[@name='Generico']/dynamic-content/text()") /> 
225			<#assign utilizaGenerico  = docXml.valueOf("//dynamic-element[@name='UtilizaGenerico']/dynamic-content/text()") /> 
226			<#if esGenerico == 'true'> 
227				<#assign contadorBannerGenerico++>  
228				<li data-target="#carouselExampleIndicators" data-slide-to="${contadorBannerGenerico-1}" class="<#if contadorBannerGenerico - 1 == 0>active</#if>"></li> 
229			</#if>	 
230		</#list> 
231		</ol> 
232	</#if>		 
233		<div class="carousel-inner"> 
234			<#list entries as entryBannerSKUBody> 
235				<#assign renderer = entryBannerSKUBody.getAssetRenderer()> 
236				<#assign docXml = saxReaderUtil.read(renderer.getArticle().getContent()) /> 
237				<#assign sku  = docXml.valueOf("//dynamic-element[@name='SKU']/dynamic-content/text()") /> 
238				<#assign esGenerico  = docXml.valueOf("//dynamic-element[@name='Generico']/dynamic-content/text()") /> 
239				<#if esGenerico == 'true'> 
240					<#assign contadorBannerGenericoImg++>  
241					 
242					<#assign titulo  = docXml.valueOf("//dynamic-element[@name='Titulo']/dynamic-content/text()") /> 
243					<#assign texto  = docXml.valueOf("//dynamic-element[@name='Texto']/dynamic-content/text()") /> 
244					<#assign externo  = docXml.valueOf("//dynamic-element[@name='Externo']/dynamic-content/text()") /> 
245					<#assign enlace  = docXml.valueOf("//dynamic-element[@name='Enlace']/dynamic-content/text()") /> 
246					 
247					<#assign journalArticle = renderer.getArticle()> 
248					<#assign document = saxReaderUtil.read(journalArticle.getContent()) > 
249					<#assign rootElement = document.getRootElement()>              
250					<#assign xPathSelector1 = saxReaderUtil.createXPath("dynamic-element[@name='HOME01']")> 
251					<#assign imgNews1 = xPathSelector1.selectSingleNode(rootElement).getStringValue()> 
252					<#assign imgJson1 = jsonFactoryUtil.createJSONObject(imgNews1)> 
253					<#assign imagen1 = "/documents/"+ imgJson1.groupId +"/" +imgJson1.fileEntryId +"/"+ imgJson1.name +"/"+imgJson1.uuid > 
254					 
255					<#assign xPathSelector2 = saxReaderUtil.createXPath("dynamic-element[@name='HOME02']")> 
256					<#assign imgNews2 = xPathSelector2.selectSingleNode(rootElement).getStringValue()> 
257					<#assign imgJson2 = jsonFactoryUtil.createJSONObject(imgNews2)> 
258					<#assign imagen2 = "/documents/"+ imgJson2.groupId +"/" +imgJson2.fileEntryId +"/"+ imgJson2.name +"/"+imgJson2.uuid > 
259					 
260					<#assign xPathSelector3 = saxReaderUtil.createXPath("dynamic-element[@name='HOME03']")> 
261					<#assign imgNews3 = xPathSelector3.selectSingleNode(rootElement).getStringValue()> 
262					<#assign imgJson3 = jsonFactoryUtil.createJSONObject(imgNews3)> 
263					<#assign imagen3 = "/documents/"+ imgJson3.groupId +"/" +imgJson3.fileEntryId +"/"+ imgJson3.name +"/"+imgJson3.uuid > 
264					 
265					<#assign xPathSelector4 = saxReaderUtil.createXPath("dynamic-element[@name='HOME04']")> 
266					<#assign imgNews4 = xPathSelector4.selectSingleNode(rootElement).getStringValue()> 
267					<#assign imgJson4 = jsonFactoryUtil.createJSONObject(imgNews4)> 
268					<#assign imagen4 = "/documents/"+ imgJson4.groupId +"/" +imgJson4.fileEntryId +"/"+ imgJson4.name +"/"+imgJson4.uuid > 
269							 
270					<style> 
271				    .d-block.w-100.img-lg_${entryBannerSKUBody?counter}{ 
272                        min-height: 530px; 
273
274                    .d-block.w-100.img-md_${entryBannerSKUBody?counter}{ 
275                        min-height: 320px; 
276
277                    .d-block.w-100.img-sm_${entryBannerSKUBody?counter}{ 
278                        min-height: 375px; 
279
280                    .d-block.w-100.img-xs_${entryBannerSKUBody?counter}{ 
281                        min-height: 375px; 
282
283					.img-lg_${entryBannerSKUBody?counter} { 
284					  display: flex !important; 
285					  width: 100%; 
286                      height: auto; 
287                      background-image: url("${imagen1}"); 
288                      background-repeat: no-repeat; 
289                      background-size: cover; 
290                      background-position: center; 
291
292 
293					.img-md_${entryBannerSKUBody?counter} { 
294					  display: none !important; 
295
296					.img-sm_${entryBannerSKUBody?counter} { 
297					  display: none !important; 
298
299 
300					.img-xs_${entryBannerSKUBody?counter} { 
301					  display: none !important; 
302
303					 
304					@media only screen and (max-width: 1024px) { 
305					  .d-block.w-100.img-lg_${entryBannerSKUBody?counter}{ 
306                        min-height: 450px; 
307
308
309 
310					@media only screen and (max-width: 795px) { 
311					  .img-lg_${entryBannerSKUBody?counter} { 
312						display: none !important; 
313
314					  .img-md_${entryBannerSKUBody?counter} { 
315						display: flex !important; 
316						width: 100%; 
317                        height: auto; 
318                        background-image: url("${imagen1}"); 
319                        background-repeat: no-repeat; 
320                        background-size: cover; 
321                        background-position: center; 
322
323					  .carousel { 
324                            min-height: 320px; 
325
326
327 
328					@media only screen and (max-width: 650px) { 
329					  .img-md_${entryBannerSKUBody?counter} { 
330						display: none !important; 
331
332					  .img-sm_${entryBannerSKUBody?counter} { 
333						display: flex !important; 
334						width: 100%; 
335                        height: auto; 
336                        background-image: url("${imagen3}"); 
337                        background-repeat: no-repeat; 
338                        background-size: cover; 
339                        background-position: center; 
340
341
342 
343					@media only screen and (max-width: 375px) { 
344					  .img-sm_${entryBannerSKUBody?counter} { 
345						display: none !important; 
346
347					  .img-xs_${entryBannerSKUBody?counter} { 
348						display: flex !important; 
349						width: 100%; 
350                        height: auto; 
351                        background-image: url("${imagen4}"); 
352                        background-repeat: no-repeat; 
353                        background-size: cover; 
354                        background-position: center; 
355
356
357				</style> 
358				 
359				<div class="carousel-item <#if contadorBannerGenericoImg - 1 == 0>active</#if>"> 
360				     
361                    <#if enlace?has_content> 
362						 <a href="${enlace}"  target="<#if externo == 'true'>_blank<#else>_self</#if>"> 
363                            <div  class="d-block w-100 img-lg_${entryBannerSKUBody?counter}" ></div> 
364                        </a> 
365                        <a href="${enlace}"  target="<#if externo == 'true'>_blank<#else>_self</#if>"> 
366                            <div  class="d-block w-100 img-md_${entryBannerSKUBody?counter}"></div> 
367                        </a> 
368                        <a href="${enlace}" target="<#if externo == 'true'>_blank<#else>_self</#if>"> 
369                            <div  class="d-block w-100 img-sm_${entryBannerSKUBody?counter}"></div> 
370                        </a>  
371                        <a href="${enlace}" target="<#if externo == 'true'>_blank<#else>_self</#if>"> 
372                            <div  class="d-block w-100 img-xs_${entryBannerSKUBody?counter}"></div> 
373                        </a>   
374                    <#else>    
375						<div class="d-block w-100 img-lg_${entryBannerSKUBody?counter}"></div> 
376                        <div  class="d-block w-100 img-md_${entryBannerSKUBody?counter}"></div> 
377                        <div  class="d-block w-100 img-sm_${entryBannerSKUBody?counter}"></div> 
378                        <div  class="d-block w-100 img-xs_${entryBannerSKUBody?counter}"></div> 
379                    </#if> 
380                     
381                     
382                <#if titulo?has_content> 
383					<div class="col-sm-12 col-sm-6 col-md-5 col-lg-4 banner-text"> 
384                      <h3 class="h3-mb">${titulo}</h3> 
385                      <#if texto?has_content><p>${texto}</p></#if> 
386                      <#if enlace?has_content> 
387                        <div class="banner-btn"> 
388                          <a href="${enlace}" class="btn btn-dodge" target="<#if externo == 'true'>_blank<#else>_self</#if>">Ver más</a> 
389                        </div> 
390                      </#if> 
391                    </div> 
392				</#if>	 
393				</div> 
394				</#if>	 
395			</#list> 
396		</div> 
397	<#if (contadorBannerGenericoDiv > 1)>	 
398		<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev"> 
399		  <i class="fas fa-angle-left"></i> 
400		  <span class="sr-only">Previous</span> 
401		</a> 
402		<a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next"> 
403			<i class="fas fa-angle-right"></i> 
404		  <span class="sr-only">Next</span> 
405		</a> 
406	</#if> 
407	</div> 
408</#if> 

Colores disponibles

Tapices disponibles


Año modelo
SKU:

Disponibilidad internet: Disponible

Precio online: USD | S/


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

Déjanos tus datos de contacto

(Contacto directo +51 952 924 516)

Perú