Compare المقارنة
حصل خطأ عند معالجة القالب.
The following has evaluated to null or missing:
==> CopyOfFieldset12016865.cardTitle  [in template "89618634261561#20119#64394" at line 22, column 68]

----
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: #if CopyOfFieldset12016865.getSibling...  [in template "89618634261561#20119#64394" at line 22, column 9]
----
1<div class="we_home_package_details"> 
2<#assign currentURL =themeDisplay.getURLCurrent() /> 
3<#assign request = themeDisplay.getRequest() /> 
4<#assign planIdValue =  ""  /> 
5<#if currentURL?contains("planId")> 
6<#assign planIdValue = request.getParameter("planId")/> 
7<#assign backURL = currentURL?split("?")?first /> 
8</#if> 
9 
10<#if planIdValue =="" > 
11   <#if (CopyOfpackageTitle.getData()?length > 0)> 
12    <div class="title"> 
13            ${CopyOfpackageTitle.getData()} 
14    </div> 
15	</#if> 
16    <div class="description"> 
17        <#if (CopyOfpackageDescription.getData())??> 
18            ${CopyOfpackageDescription.getData()} 
19        </#if> 
20    </div> 
21    <div class="d-flex justify-content-center flex-wrap"> 
22        <#if CopyOfFieldset12016865.getSiblings()?has_content  && (CopyOfFieldset12016865.cardTitle.getData()?length > 0) > 
23            <#list CopyOfFieldset12016865.getSiblings() as cur_Fieldset12016865> 
24						<div class="col-xl-3 col-md-4 col-sm-6 col-6" > 
25                <#assign cardTitle=cur_Fieldset12016865.cardTitle icon=cur_Fieldset12016865.icon description=cur_Fieldset12016865.description linkLabel=cur_Fieldset12016865.linkLabel link=cur_Fieldset12016865.link linkContentId=cur_Fieldset12016865.linkContentId /> 
26                <#include "${templatesPath}/48192" /> 
27								</div> 
28            </#list> 
29        </#if> 
30    </div> 
31 
32 
33	 
34<#global  counter=0> 
35 <div class="plans_container mb-4"> 
36     <div class="d-flex flex-nowrap we-multi-content-plan-item justify-content-center we_carousel_list" id="plan-item-list"> 
37         <#if FilterContent.getSiblings()?has_content && (FilterContent.getSiblings()?filter(item -> item.FilterContentImage.getData()!='')?size> 0)> 
38             <#list FilterContent.getSiblings() as cur_packageType> 
39                 <div class="nav-item"> 
40                     <a class="nav-link ${(cur_packageType?counter == 1)?then('selected', '')}" 
41                         data-info="${cur_packageType?counter} + tab" href="#"> 
42												 <div class="image-container"> 
43                             <img alt="${cur_packageType.FilterContentImage.getAttribute("alt")}" data-fileentryid="${cur_packageType.FilterContentImage.getAttribute("fileEntryId")}" src="${cur_packageType.FilterContentImage.getData()}" class="image-tag" /> 
44												</div> 
45												<div class="details-icon-items"> 
46												 <span> 
47												 <img alt="${cur_packageType.FilterContentIcon.getAttribute("alt")}" data-fileentryid="${cur_packageType.FilterContentIcon.getAttribute("fileEntryId")}" src="${cur_packageType.FilterContentIcon.getData()}" class="icon-tag" /> 
48												 </span> 
49												 <span><#if (cur_packageType.FilterContentLabel.getData())??> 
50	                        ${cur_packageType.FilterContentLabel.getData()} 
51                          </#if></span> 
52												 </div> 
53                     </a> 
54                 </div> 
55             </#list> 
56         </#if> 
57     </div> 
58		 				<div id="icon-slider" class="slider points"> 
59        <div class="active" onclick="slide('plan-item-list',this,0)"></div> 
60         <#list 1..FilterContent.getSiblings()?size-1 as index> 
61          <div onclick="slide('plan-item-list',this,${index})"></div> 
62        </#list>   
63    </div> 
64		  
65     <div class="we-multi-content-tab-body "> 
66         <#if FilterContent.getSiblings()?has_content> 
67             <div class="title my-4">Choose Your Plan</div> 
68             <#list FilterContent.getSiblings() as cur_active_packageType> 
69                 <div class="we-multi-content-plan-body-container ${(cur_active_packageType?counter > 1)?then('hide-body-part', '')}" 
70                     id="${cur_active_packageType?counter} + tab"> 
71                     <#if cur_active_packageType.comparisonCard.getSiblings()?has_content> 
72                         <#if ((cur_active_packageType.comparisonCard.getSiblings()?size)> 3) > 
73                             <div class="we_carousel_arrow img_arrow" onclick="slideLeft('choose_plan_slider')" id="we_prev"> 
74                                 <img src="/documents/d/guest/shift-left" /> 
75                             </div> 
76                             <div class="we_carousel_arrow img_arrow" onclick="slideRight('choose_plan_slider')" id="we_next"> 
77                                 <img src="/documents/d/guest/shift right" /> 
78                             </div> 
79                         </#if> 
80                         <div class="we_carousel_list " id="choose_plan_slider"> 
81                             <#list cur_active_packageType.comparisonCard.getSiblings() as cur_entry> 
82                                  
83                                              <#assign comparidson_card_index=cur_entry?index comparisonCardHeader=cur_entry.comparisonCardHeader comparisonCardBody=cur_entry.comparisonCardBody /> 
84                            <#include "${templatesPath}/66496" /> 
85                             </#list> 
86                         </div> 
87												         <#if (cur_active_packageType.comparisonCard.getSiblings()?size>3) > 
88                         <div id="slider" class="slider points circle_points"> 
89                             <div class="active" onclick="slide('choose_plan_slider',this,0)"></div> 
90														 <#if (counter>1) > 
91                             <#list 1..counter as index> 
92                                 <div onclick="slide('choose_plan_slider',this,${index})"></div> 
93                             </#list> 
94														 </#if> 
95                         </div> 
96												 </#if> 
97                     </#if> 
98                 </div> 
99             </#list> 
100         </#if> 
101     </div> 
102 </div> 
103		 
104 
105 
106 
107		<#if CopyOfFieldset34313138.mcitComponentTitle.getData()?has_content> 
108  <div class="benefits_details my-4" > 
109             		 <#assign  mcitComponentTitle=CopyOfFieldset34313138.mcitComponentTitle Fieldset80219722= CopyOfFieldset34313138.Fieldset80219722    /> 
110			        <#include "${templatesPath}/47570" /> 
111  </div> 
112	</#if> 
113	 
114 
115 
116<#else> 
117<div>  
118    <#if FilterContent.comparisonCard.getSiblings()?has_content> 
119		<#assign plans=FilterContent.comparisonCard.getSiblings() /> 
120	<#list plans?filter(plan -> plan.comparisonCardHeader.cardID.getData() == planIdValue ) as filteredPlan > 
121		     
122                <#include "${templatesPath}/72673" /> 
123	</#list> 
124</#if> 
125         
126                
127</div> 
128 
129 
130	 
131	</#if> 
132 
133</div> 
134 <#function filterShownElements x > 
135  <#return true > 
136</#function> 
137<style> 
138		.we-multi-content-tab-body { 
139    background-color: white; 
140
141.plans_container { 
142    width: 80%; 
143    margin: 0 auto; 
144 
145.we-multi-content-plan-item { 
146    margin-top: 3rem; 
147    border: 0px solid #d8d8d8; 
148		.nav-item{ 
149		margin-inline-end: 3rem; 
150
151		.image-container{ 
152		width: 145px; 
153    height: 115px; 
154    border-radius: 12px; 
155    
156
157		.image-tag{ 
158		width:100%; 
159		height:100%; 
160    mix-blend-mode: luminosity; 
161    opacity: 0.45; 
162		 border-radius: 12px; 
163
164		.icon-tag{ 
165		mix-blend-mode: luminosity; 
166    opacity: 0.45; 
167		 width: 25px; 
168    height: 25px; 
169		margin-inline-end: 10px; 
170    position: relative; 
171    top: 7px; 
172
173		.nav-link {color:gray} 
174
175    .hide-body-part { 
176        display: none !important; 
177
178		.details-icon-items{ 
179		text-align: center; 
180
181 .selected{ 
182 color:#5c2d91 !important; 
183 .image-container{ 
184  box-shadow: 2px 3px 19px #c5c3c3db; 
185
186 .image-tag{ 
187    mix-blend-mode: normal; 
188    opacity: 1; 
189
190		.icon-tag{ 
191		mix-blend-mode: normal; 
192    opacity: 1; 
193
194
195  
196 
197    .title { 
198        font: normal normal 600 32px / 30px "Rubik"; 
199        color: #5C2D91; 
200        text-align: center; 
201
202
203 
204 
205	#plan-item-list{justify-content: center;} 
206#icon-slider.points { 
207        display: none; 
208
209.we_home_package_details { 
210    margin-top: 40px; 
211 
212    .title { 
213        font: normal normal 600 32px/30px "Rubik"; 
214        color: #5C2D91; 
215				text-align:center; 
216
217 
218    .description { 
219		   text-align: center; 
220        margin-top: 20px; 
221        font: normal normal normal 18px / 30px "Rubik"; 
222
223 
224    .package_plans { 
225        margin-top: 40px; 
226
227 
228
229 
230 
231@media (max-width:992px) { 
232    .we_home_package_details { 
233        margin-top: 30px; 
234 
235        .title { 
236            font: normal normal 600 20px/24px Rubik; 
237
238 
239        .description { 
240            font: normal normal normal 14px/17px "Rubik"; 
241            margin-top: 12px; 
242
243 
244        .package_plans { 
245            margin-top: 30px; 
246
247				  .img_arrow { 
248    display: none; 
249		 
250
251			.we_carousel_list { 
252		padding:0; 
253
254 
255    #icon-slider.points { 
256        display: block; 
257			  text-align:center; 
258				bottom:0px !important; 
259				top: 30%; 
260				 
261
262					.nav-item{ 
263		margin-inline-end: 0rem !important; 
264
265		.plans_container { 
266    width: 100%; 
267
268      .arrow_mobile { 
269        display: block; 
270			img{	position:relative; 
271				top:45%; 
272
273
274      .arrow_desktop { 
275        display: none; 
276
277
278
279</style> 
280 <script> 
281document.addEventListener('DOMContentLoaded', () => { 
282    function handleItemClick(event) { 
283        event.preventDefault(); 
284        let targetId = event.currentTarget.dataset.info; 
285        counter =0; 
286        document.querySelectorAll('.we-multi-content-plan-body-container').forEach(i => { 
287            if (i.id.trim() == targetId?.trim()) { 
288                document.querySelectorAll('.we-multi-content-plan-body-container').forEach(i => i.classList.add('hide-body-part')); 
289                i.classList.remove('hide-body-part'); 
290                counter++; 
291
292        }); 
293
294    document.querySelectorAll('.nav-link').forEach(item => { 
295        let targetId = "" 
296        item.addEventListener('click', function(event) { 
297            event.preventDefault(); 
298            // Remove 'selected' class from all items 
299            document.querySelectorAll('.nav-link').forEach(i => i.classList.remove('selected')); 
300            // Add 'selected' class to the clicked item 
301            this.classList.add('selected'); 
302        }); 
303    }); 
304    const links = document.querySelectorAll('#plan-item-list a'); 
305    links.forEach(link => { 
306        link.addEventListener('click', handleItemClick); 
307    }); 
308}); 
309 
310 </script>