An error occurred while processing the template.
The following has evaluated to null or missing:
==> product.flectraPracticeTestUrl [in template "20099#20135#8234625" at line 94, column 55]
----
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: ${product.flectraPracticeTestUrl} [in template "20099#20135#8234625" at line 94, column 53]
----
1<script>
2function openTab(navId, contentId) {
3 var elms = document.getElementsByClassName("tab-pane");
4 for (const elm of elms) {
5 elm.style.display = "none";
6 }
7 var elms = document.getElementsByClassName("nav-link");
8 for (const elm of elms) {
9 elm.classList.remove("active");
10 }
11 var elm = document.querySelector("#" + contentId);
12 elm.style.display = "block";
13 var elm = document.querySelector("#" + navId);
14 elm.classList.add("active");
15}
16</script>
17
18<#assign txtDescritionContent = txtDescription.getData()>
19<#assign regexPattern = "<h1([^>]*)>([\\s\\S]*?)<\\/h1>">
20<#assign txtDescritionContentModified = txtDescritionContent?replace(regexPattern, "<div class=\"h1\"$1>$2</div>", "r")>
21
22<#if (txtTrainingOptions.getData())?has_content>
23 <#assign txtTrainingOptionsContent = txtTrainingOptions.getData()>
24 <#assign regexPattern = "<h1([^>]*)>([\\s\\S]*?)<\\/h1>">
25 <#assign txtTrainingOptionsContentModified = txtTrainingOptionsContent?replace(regexPattern, "<div class=\"h1\"$1>$2</div>", "r")>
26<#else>
27 <#assign txtTrainingOptionsContentModified = "">
28</#if>
29
30<#if (txtGuidence.getData())?has_content>
31 <#assign txtGuidenceContent = txtGuidence.getData()>
32 <#assign regexPattern = "<h1([^>]*)>([\\s\\S]*?)<\\/h1>">
33 <#assign txtGuidenceContentModified = txtGuidenceContent?replace(regexPattern, "<div class=\"h1\"$1>$2</div>", "r")>
34<#else>
35 <#assign txtGuidenceContentModified = "">
36</#if>
37
38<div class="container">
39 <div class="row">
40 <div class="col-md-4">
41 <#if (imgCertificationLogo.getData())?? && imgCertificationLogo.getData() !="">
42 <div class="img-fluid m-3 d-flex flex-column">
43 <div class="d-flex justify-content-center">
44 <h3>
45 <#if product.certification??>
46 ${product.certification}
47 </#if>
48 </h3>
49 </div>
50 <div class="d-flex justify-content-center">
51 <img style="max-width:300px; margin: 0px;" alt="${imgCertificationLogo.getAttribute('alt')}" data-fileentryid="${imgCertificationLogo.getAttribute("fileEntryId")}" src="${imgCertificationLogo.getData()}" />
52 </div>
53 </div>
54 </#if>
55 <div class="p-2 mt-2 bg-dark text-white rounded border">
56 <div style="display:table">
57 <div style="display: table-row;">
58 <span style="display:table-cell; text-align:left;"><strong>PRICE:</strong> </span>
59 <#if product?? && product.flectraPracticeTestPrice??>
60 <span style="display:table-cell; text-align:left;">R ${product.flectraPracticeTestPrice?number?string(",##0")}
61 </span>
62 <#elseif (txtPrice.getData())??>
63 <span style="display:table-cell; text-align:left;"><i class="icon-star"></i></span><span style="display:table-cell; text-align:left;">R${txtPrice.getData()?number?string(",##0")}
64 </span>
65 </#if>
66 </div>
67 </div>
68 <#if (slctType.getOptions())??>
69 <div style="display:table">
70 <#list slctType.getOptions() as key>
71 <div style="display: table-row;">
72 <span style="display:table-cell; text-align:left;"><strong>TYPE:</strong> </span>
73 <#if slctType.getOptionsMap()[key]=="Assessment Mode">
74 <span style="display:table-cell; text-align:left;"><i class="icon-pencil"></i></span><span style="display:table-cell; text-align:left;">Assessment Mode</span>
75 </#if>
76 <#if slctType.getOptionsMap()[key]=="Exam Mode">
77 <span style="display:table-cell; text-align:left;"><i class="icon-time"></i></span><span style="display:table-cell; text-align:left;">Exam Mode</span>
78 </#if>
79 </div>
80 </#list>
81 </div>
82 </#if>
83 </div>
84 <div class="d-flex flex-column mt-1 alert alert-secondary">
85 <p><b>Assessment Mode:</b> Assessment Mode empowers users with tailored practice exams. Customize question count, time limits, randomization,
86 and question selection. Optimize your preparation by focusing on specific topics or simulating real exam conditions. Achieve mastery at your
87 own pace with a flexible and personalized testing environment.</p>
88 <p><b>Exam Mode:</b> Exam Mode mirrors certification exam conditions, fostering realistic testing experiences. Users face timed assessments
89 without access to answers until completion. Emulate the pressure and structure of official exams, enhancing readiness and confidence. Prepare
90 effectively under authentic constraints, ensuring readiness for certification success.</p>
91 </div>
92 <div class="card text-weight-bold text-dark bg-info" style="margin:auto; width: 18rem;">
93 <div class="card-body">
94 <h5 class="card-title"><a href="${product.flectraPracticeTestUrl}" target="_blank">
95 Purchase Your ${product.name} Now</a></h5>
96 <h6 class="card-subtitle mb-2 text-muted">Get A Quote</h6>
97 <p class="card-text">Contact Us to get a quote, make a payment and get your practice test</p>
98 <a class="card-link" href="#contactus">Buy Now - Contact Us</a>
99 </div>
100 </div>
101 <#if product?? && product.flectraExamVoucherUrl?has_content>
102 <div class="card text-weight-bold text-dark bg-info mt-1" style="margin:auto; width: 18rem;">
103 <div class="card-body">
104 <h5 class="card-title">Looking For An Exam Voucher?</h5>
105 <a class="card-link" target="_blank" href="${product.flectraExamVoucherUrl}">${txtCertification.getData()} Exam Voucher</a>
106 </div>
107 </div>
108 </#if>
109
110 </div>
111 <div class="col-md-8">
112 <h1 class="text-center">
113 <#if (product.name)??>
114 ${product.name}
115 </#if>
116 </h1>
117 <ul class="nav nav-tabs" role="tablist">
118 <li class="nav-item" role="presentation">
119 <a onclick="openTab('test-tab-1-tab','test-tab-1')" class="nav-link active" id="test-tab-1-tab" href="#"
120 role="tab" aria-controls="test-tab-1"
121 aria-selected="true">Practice Test Overview</a>
122 </li>
123 <li class="nav-item" role="presentation">
124 <a onclick="openTab('test-tab-2-tab','test-tab-2')" class="nav-link" id="test-tab-2-tab" href="#"
125 role="tab" aria-controls="test-tab-2"
126 aria-selected="false">Training Options</a>
127 </li>
128 <li class="nav-item" role="presentation">
129 <a onclick="openTab('test-tab-3-tab','test-tab-3')" class="nav-link" id="test-tab-3-tab" href="#"
130 role="tab" aria-controls="test-tab-3"
131 aria-selected="false">Exam Prep</a>
132 </li>
133 </ul>
134 <div class="tab-content" style="margin-top:1.5em;">
135 <div class="fade show tab-pane active" id="test-tab-1"
136 role="tabpanel"
137 aria-labelledby="test-tab-1">
138 <#if txtDescritionContentModified??>
139 ${txtDescritionContentModified}
140 </#if>
141 </div>
142 <div class="fade show tab-pane" style="display:none" id="test-tab-2"
143 role="tabpanel"
144 aria-labelledby="test-tab-2">
145 <#if product?? && product.trainingUrl?has_content>
146 <h4 class="text-center">
147 <a target="_blank" href="${product.trainingUrl}">
148 <#if (txtCertification.getData())??>
149 ${txtCertification.getData()}
150 </#if>
151 Training
152 </a>
153 </h4>
154 </#if>
155 <#if txtTrainingOptionsContentModified?has_content>
156 ${txtTrainingOptionsContentModified}
157 <#else>
158 <#assign webContentData=jsonFactoryUtil.createJSONObject(articleDefaultTrainingOptions.getData()) />
159 <#if webContentData?? && webContentData.title??>
160 <#assign contentFields=restClient.get( "/headless-delivery/v1.0/structured-contents/${webContentData.classPK}?" + "fields=contentFields" ).contentFields />
161 ${contentFields[0].contentFieldValue.data}
162 </#if>
163 </#if>
164 </div>
165 <div class="fade show tab-pane" style="display:none" id="test-tab-3"
166 role="tabpanel"
167 aria-labelledby="test-tab-3">
168 <!-- h3 class="text-center">Exam Prep</h3 -->
169 <#if txtGuidenceContentModified?has_content>
170 ${txtGuidenceContentModified}
171 <#else>
172 <#assign webContentData=jsonFactoryUtil.createJSONObject(articleDefaultGuidence.getData()) />
173 <#if webContentData?? && webContentData.title??>
174 <#assign contentFields=restClient.get( "/headless-delivery/v1.0/structured-contents/${webContentData.classPK}?" + "fields=contentFields" ).contentFields />
175 ${contentFields[0].contentFieldValue.data}
176 </#if>
177 </#if>
178 </div>
179 </div>
180 <div class="alert alert-primary text-center">
181 Purchase your
182 <a target="_blank" href="<#if (product.flectraPracticeTestUrl)??>
183${product.flectraPracticeTestUrl}
184</#if>">
185 <#if (txtCertification.getData())??>
186 ${txtCertification.getData()}
187 </#if>
188 practice test </a>online here.
189 </div>
190 </div>
191</div></div>
Have a question or need expert assistance? Contact our team directly via phone, WhatsApp, or the form below—we’re ready to help.
Jumping Bean
3 Appian Place, 373 Kent Ave
Ferndale, 2194, South Africa
3 Appian Place, 373 Kent Ave
Ferndale, 2194, South Africa
Jumping Bean Contact Form!