处理模板时发生错误。
The following has evaluated to null or missing:
==> customField.getAttribute("contactNumber")  [in template "91531405550289#20120#56374" at line 181, column 26]

----
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 contactNumber = customField.g...  [in template "91531405550289#20120#56374" at line 181, column 1]
----
1<style nonce="Y4S9+LU3fPWN2wQeN09Bxg==" nonce="2HuK9zdnC8rWyFnxDdhBBw=="> 
2.btnContentTop { 
3    position: fixed !important; 
4    top: auto !important; 
5    right: 0; 
6    bottom: 0; 
7    z-index: 9999; 
8    width: 60px; 
9    height: 60px; 
10    transform: translate3d(0, 0, 0); 
11    font-size: 0; 
12    line-height: 0; 
13
14.portlet-layout .portlet-header, .portlet { 
15  margin-bottom: 0 !important;  
16
17 
18.footer-box{ 
19	background: #1c1b1b; 
20    height: 158px; 
21
22.footer-box .box-view{ 
23	margin: 0 auto; 
24    max-width: 1120px; 
25    position: relative; 
26    padding: 24px 0 0 0px; 
27    letter-spacing: 0; 
28    display: flex; 
29    justify-content: space-between; 
30    width: 100%; 
31
32.footer-box .box-view .footer-inner{ 
33	display: flex; 
34    gap: 60px; 
35
36.footer-box .box-view .footer-inner ul{ 
37	margin: 0; 
38    padding: 0; 
39    border: 0; 
40    display: flex; 
41    gap: 30px; 
42
43.footer-box .box-view .footer-inner ul li:after { 
44	display: block; 
45    content: ''; 
46    position: relative; 
47    left: -17px; 
48    top: -12px; 
49    width: 1px; 
50    height: 9px; 
51    background: #333232; 
52
53.footer-box .box-view .footer-inner ul li:first-child::after { 
54  visibility: hidden; 
55
56.footer-box .box-view .footer-inner ul li a, .footer-box .box-view .footer-inner ul li a:hover, .footer-box .box-view .footer-inner ul li a:focus{ 
57	color: #999; 
58    font-size: 14px; 
59	margin: 0; 
60	padding: 0; 
61	border: 0; 
62
63.footer-box .box-view .footer-inner .copyright{ 
64	color: #5f5f5f; 
65    font-size: 12px; 
66    line-height: 1; 
67   margin-top: 7px; 
68
69.mobile-footer-box{ 
70	display: none; 
71
72	.mobile-footer-box a: hover,.mobile-footer-box a: focus, .footer-box a:hover, .footer-box a:focus{background: transparent; border: 0 none; box-shadow: none;} 
73	.mobile-footer-box .nav-tabs .nav-link.active, .footer-box .nav-tabs .nav-link.active { 
74    background-color: transparent; 
75    color: #999;; 
76    border: 0 none !important; 
77
78.imagecompany .imagess{ 
79	   display: flex; 
80    align-items: center; 
81    gap: 10px; 
82}	 
83	.mobileno { 
84    margin-top: 16px; 
85    font-size: 14px; 
86
87@media (min-width: 768px) { 
88	.buttonfooterlogo.img{max-width: 180px; margin-top:26px;} 
89	button.owl-dot:focus{ 
90    outline: 5px auto -webkit-focus-ring-color; 
91
92
93@media (max-width: 767px) { 
94	.footer-box{display: none;} 
95	.mobile-footer-box{ 
96		display: block; 
97		background: #000; 
98		padding: 20px 20px 75px 20px; 
99		      
100
101	.mobile-footer-box ul{ 
102		margin: 0 0 40px 0; 
103		padding: 0;		 
104
105	.mobile-footer-box ul li{ 
106		display: inline-block; 
107		width: 49%; 
108		padding: 0 0 15px 12px; 
109        line-height: 20px; 
110		padding-left: 12px; 
111
112	.mobile-footer-box ul li a{ 
113		color: #999; 
114        font-size: 13px; 
115        font-family: 'HyundaiRegular'; 
116
117	.mobile-footer-box .social-media-mob{  
118        border-bottom: 1px solid #1f1f1f; 
119        border-top: 1px solid #1f1f1f; 
120        height: 60px; 
121		display: flex; 
122        justify-content: space-between; 
123
124	.mobile-footer-box .social-media-mob a img{ 
125		width: 42px; 
126
127	.mobile-footer-box .logo-x,.mobile-footer-box .companylogo{ 
128		text-align: center; 
129		margin: 20px; 
130
131	.mobile-footer-box .logo-x img{width: 48px;} 
132	.mobile-footer-box .copyright{ 
133		color: #666; 
134        font-size: 10px; 
135        line-height: 1; 
136        width: 100%; 
137        text-align: center; 
138
139   
140    .slidegallery .owl-dots .owl-dot span, .segmentWrapper .owl-theme .owl-dots .owl-dot span { 
141        width: 9px; 
142        height: 9px; 
143
144   
145	.center_heading_description { 
146        padding: 80px 15px 70px 15px; 
147
148	.sectionWrap.vr360Interia.none.none.none.none.gt_lypd_bs.panoramaSection h3.subTitM.alignC {margin-bottom: 20px;} 
149	 
150	.sectionWrap.vr360Interia.none.none.none.none.gt_lypd_bs.panoramaSection .titArea.pvriTitArea { 
151		text-align: center; 
152		margin-bottom: 20px; 
153
154	.image-single-description { 
155		padding: 0 0 20px 0; 
156
157	.conAreaM.alignC{font-size: 14px;} 
158	.image-single-description .hlotext.head-h3{    padding: 0;} 
159	.bgcolor { 
160        padding-top: 50px; 
161        padding-bottom: 30px; 
162
163	.slidegallery h3.subTitS, .productTitles { 
164        font-size: 12px; 
165
166	.segmentWrapper .owl-dots { 
167		text-align: center; 
168		margin-top: 00px; 
169
170.tabs-container li.tab.col{height: auto;} 
171 
172
173</style> 
174<#assign customField = themeDisplay.getScopeGroup().getExpandoBridge() /> 
175<#assign facebookURL = customField.getAttribute("FacebookURL") /> 
176<#assign instagramURL = customField.getAttribute("InstagramURL") /> 
177<#assign linkedinURL = customField.getAttribute("LinkedinURL") /> 
178<#assign twitterURL = customField.getAttribute("TwitterURL") /> 
179<#assign youtubeURL = customField.getAttribute("YoutubeURL") /> 
180<#assign siteLogo = customField.getAttribute("Logo") /> 
181<#assign contactNumber = customField.getAttribute("contactNumber") /> 
182<#include "${templatesPath}/NAVIGATION-MACRO-FTL" /> 
183<#if !entries?has_content> 
184	<#if themeDisplay.isSignedIn()> 
185		<div class="alert alert-info"> 
186			<@liferay.language key="there-are-no-menu-items-to-display" /> 
187		</div> 
188	</#if> 
189<#else> 
190	<#assign 
191		portletDisplay = themeDisplay.getPortletDisplay() 
192		navbarId = "navbar_" + portletDisplay.getId() 
193	/> 
194	<div class="footer-box"> 
195		<div class="box-view"> 
196			<div class="footerclass" id="${navbarId}"> 
197				<div class="footer-inner"> 
198					<a href="/home"><img src="/documents/d/global/footer_logo" alt="Hyundai footer logo" class="hyundaifooterlogo"></a>	 
199					<div class="text-view-box"> 
200						<ul aria-label="<@liferay.language key="site-pages" />" class="nav nav-tabs navbar-site navv" role="menubar"> 
201							<#assign navItems = entries /> 
202							<#list navItems as navItem> 
203								<#assign showChildrenNavItems = (displayDepth != 1) && navItem.hasBrowsableChildren() /> 
204 
205								<#if navItem.isBrowsable() || showChildrenNavItems> 
206									<#assign 
207										nav_item_attr_has_popup = "" 
208										nav_item_caret = "" 
209										nav_item_css_class = "lfr-nav-item nav-item" 
210										nav_item_href_link = "" 
211										nav_item_link_css_class = "nav-link text-truncate" 
212									/> 
213 
214									<#if showChildrenNavItems> 
215										<#assign 
216											nav_item_attr_has_popup = "aria-haspopup='true'" 
217											nav_item_caret = '<span class="lfr-nav-child-toggle"><i class="icon-caret-down"></i></span>' 
218											nav_item_css_class = "${nav_item_css_class} dropdown" 
219											nav_item_link_css_class = "${nav_item_link_css_class} dropdown-toggle" 
220										/> 
221									</#if> 
222 
223									<#if navItem.isBrowsable()> 
224										<#assign nav_item_href_link = "href='${navItem.getURL()}'" /> 
225									</#if> 
226 
227									<#if navItem.isChildSelected() || navItem.isSelected()> 
228										<#assign 
229											nav_item_css_class = "${nav_item_css_class} selected" 
230											nav_item_link_css_class = "${nav_item_link_css_class}" 
231										/> 
232									</#if> 
233 
234									<li class="${nav_item_css_class} nav-itemm" id="layout_${portletDisplay.getId()}_${navItem.getLayoutId()}" role="presentation"> 
235										<#if navItem.getName()?trim == "Hyundai India"> 
236    <a target="_blank" href="/hyundai-india" class="${nav_item_link_css_class} navvlinkk" ${nav_item_attr_has_popup} ${nav_item_href_link} ${navItem.getTarget()} role="menuitem"> 
237        <span class="text-truncate texttt"> 
238            <@liferay_theme["layout-icon"] layout=navItem.getLayout() />  
239            ${navItem.getName()} ${nav_item_caret} 
240        </span> 
241    </a> 
242<#elseif navItem.getName()?trim == "Contact Us"> 
243    <a target="" href="/contact-us" class="${nav_item_link_css_class} navvlinkk" ${nav_item_attr_has_popup} ${nav_item_href_link} ${navItem.getTarget()} role="menuitem"> 
244        <span class="text-truncate texttt"> 
245            <@liferay_theme["layout-icon"] layout=navItem.getLayout() />  
246            ${navItem.getName()} ${nav_item_caret} 
247        </span> 
248    </a> 
249<#elseif navItem.getName()?trim == "Legal Disclaimer"> 
250    <a target="" href="/legal-disclaimer" class="${nav_item_link_css_class} navvlinkk" ${nav_item_attr_has_popup} ${nav_item_href_link} ${navItem.getTarget()} role="menuitem"> 
251        <span class="text-truncate texttt"> 
252            <@liferay_theme["layout-icon"] layout=navItem.getLayout() />  
253            ${navItem.getName()} ${nav_item_caret} 
254        </span> 
255    </a> 
256<#else>								 
257    <a ${nav_item_attr_has_popup} class="${nav_item_link_css_class} navvlinkk" ${nav_item_href_link} ${navItem.getTarget()} role="menuitem"> 
258        <span class="text-truncate texttt"> 
259            <@liferay_theme["layout-icon"] layout=navItem.getLayout() />  
260            ${navItem.getName()} ${nav_item_caret} 
261        </span> 
262    </a> 
263</#if> 
264 
265 
266 
267										<#if showChildrenNavItems> 
268											<ul aria-expanded="false" class="child-menu dropdown-menu nav-item" role="menu"> 
269												<@buildChildrenNavItems 
270													displayDepth=displayDepth 
271													navItem=navItem 
272												/> 
273											</ul> 
274										</#if> 
275									</li> 
276								</#if> 
277							</#list>  
278						</ul> 
279						<p class="copyright"> Copyright 2025 Hyundai Motor India. All Rights Reserved.</p> 
280					</div> 
281				</div> 
282			</div> 
283			<div class="imagecompany"> 
284				<div class="imagess" style="float: right;"> 
285					<a href="${facebookURL}" target="_blank;"><img src="/documents/d/global/facebook" alt="facebook footer logo" class="facebookfooterlogo img"></a> 
286					<a href="${youtubeURL}" target="_blank;"><img src="/documents/d/global/youtube" alt="youtube footer logo" class="youtubefooterlogo img"></a> 
287					<a href="${twitterURL}" target="_blank;"><img src="/documents/d/global/twitter" alt="twitter footer logo" class="twitterfooterlogo img"></a> 
288					<a href="${linkedinURL}" target="_blank;"><img src="/documents/d/global/linkedin" alt="linkedin footer logo" class="linkedinfooterlogo img"></a> 
289					<a href="${instagramURL}" target="_blank;"><img src="/documents/d/global/instagram" alt="instagram footer logo" class="instagramfooterlogo img"></a> 
290				</div> 
291				<div class="companylogo"> 
292					<#if siteLogo?has_content && siteLogo??> 
293					<a href="/home"><img src="${siteLogo}" alt="button footer " class="buttonfooterlogo img"></a> 
294				 <#else>					 
295					<a href="/home"><img src="/documents/d/global/footer_right_logo" alt="button footer " class="buttonfooterlogo img"></a> 
296				</#if> 
297				<div class="mobileno"> 
298				<#if contactNumber?has_content && contactNumber!=""> 
299				     <span style='color:white;'>${contactNumber}</span> 
300			  </#if> 
301				</div> 
302			 </div> 
303			</div> 
304		</div> 
305	</div> 
306	<div class="mobile-footer-box"> 
307		<div class="mobile-footer-inner"> 
308			<#if !entries?has_content> 
309				<#if themeDisplay.isSignedIn()> 
310				</#if> 
311			<#else> 
312				<#assign 
313					portletDisplay = themeDisplay.getPortletDisplay() 
314					navbarId = "navbar_" + portletDisplay.getId() 
315				/> 
316				<ul aria-label="<@liferay.language key="site-pages" />"> 
317					<#assign navItems = entries /> 
318					<#list navItems as navItem> 
319						<#assign showChildrenNavItems = (displayDepth != 1) && navItem.hasBrowsableChildren() /> 
320						<#if navItem.isBrowsable() || showChildrenNavItems> 
321							<li class="" id="layout_${portletDisplay.getId()}_${navItem.getLayoutId()}" role="presentation"> 
322								<#if navItem.getName()?trim == "Hyundai India"> 
323								 <a target="_blank" href="/hyundai-india" class="" ${nav_item_href_link} ${navItem.getTarget()} role="menuitem"> 
324                        <span class=""> ${navItem.getName()}</span> 
325                    </a> 
326                <#elseif navItem.getName()?trim == "Contact Us"> 
327                    <a target="" href="/contact-us" class="" ${nav_item_href_link} ${navItem.getTarget()} role="menuitem"> 
328                        <span class=""> ${navItem.getName()}</span> 
329                    </a> 
330                <#elseif navItem.getName()?trim == "Legal Disclaimer"> 
331                    <a target="" href="/legal-disclaimer" class="" ${nav_item_href_link} ${navItem.getTarget()} role="menuitem"> 
332                        <span class=""> ${navItem.getName()}</span> 
333                    </a> 
334								<#else>								 
335									<a ${nav_item_attr_has_popup} class="" ${nav_item_href_link} ${navItem.getTarget()} role="menuitem"> 
336										<span class=""> ${navItem.getName()}</span> 
337									</a> 
338								</#if>										 
339							</li> 
340						</#if> 
341					</#list>  
342				</ul> 
343			</#if> 
344			<div class="social-media-mob"> 
345				<a href="${facebookURL}" target="_blank;"><img src="/documents/d/global/facebook" alt="facebook footer logo" class="facebookfooterlogo img"></a> 
346				<a href="${youtubeURL}" target="_blank;"><img src="/documents/d/global/youtube" alt="youtube footer logo" class="youtubefooterlogo img"></a> 
347				<a href="${twitterURL}" target="_blank;"><img src="/documents/d/global/twitter" alt="twitter footer logo" class="twitterfooterlogo img"></a> 
348				<a href="${linkedinURL}" target="_blank;"><img src="/documents/d/global/linkedin" alt="linkedin footer logo" class="linkedinfooterlogo img"></a> 
349				<a href="${instagramURL}" target="_blank;"><img src="/documents/d/global/instagram" alt="instagram footer logo" class="instagramfooterlogo img"></a> 
350			</div> 
351			<div class="logo-x"> 
352				<a href="/home"><img src="/documents/d/global/footer_logo" alt="Hyundai footer logo" class="hyundaifooterlogo"></a>	 
353			</div> 
354			<div class="companylogo"> 
355				<#if siteLogo?has_content && siteLogo??> 
356					<a href="/home"><img src="${siteLogo}" alt="button footer " class="buttonfooterlogo img"></a> 
357				<#else>	 
358				<a href="/home"><img src="/documents/d/global/footer_right_logo" alt="button footer " class="buttonfooterlogo img"></a> 
359			</#if> 
360			</div> 
361			<#if contactNumber?has_content && contactNumber!=""> 
362				<span style='color:white;'>${contactNumber}</span> 
363			</#if>	 
364			<p class="copyright"> Copyright 2024 Hyundai Motor India. All Rights Reserved.</p> 
365		</div> 
366	</div> 
367	<@liferay_aui.script use="liferay-navigation-interaction"> 
368		var navigation = A.one('#${navbarId}'); 
369 
370		Liferay.Data.NAV_INTERACTION_LIST_SELECTOR = '.navbar-site'; 
371		Liferay.Data.NAV_LIST_SELECTOR = '.navbar-site'; 
372 
373		if (navigation) { 
374			navigation.plug(Liferay.NavigationInteraction); 
375
376	</@> 
377</#if> 
378<div class="btnContentTop" style=""> 
379	<button class="p-0 m-0 border-0"> 
380		<img src="/documents/d/global/btn_top-1" alt="content top"> 
381	</button> 
382</div> 
383<script> 
384$(window).scroll(function() { 
385    if ($(window).scrollTop() == 0) {  
386        $(".btnContentTop").hide(); 
387    } else if ($(window).scrollTop() >= 100){ 
388        $(".btnContentTop").show(); 
389    }else{ 
390         
391
392	var a = $(window).scrollTop(); 
393	if (a > $(document).height() - $(window).height() - $(".footer").outerHeight()) { 
394		$(".btnContentTop").addClass("ab").css("top", $(document).height() - $(".footer").outerHeight() - 60) 
395	} else { 
396		$(".btnContentTop").removeClass("ab").css("top", "auto") 
397
398	 
399}); 
400if ($(window).scrollTop() == 0) {  
401        $(".btnContentTop").hide(); 
402
403$(".btnContentTop").bind("click", function() { 
404	$("body,html").animate({ 
405		scrollTop: 0 
406	}, 300) 
407}) 
408</script>