Pass *3 Promo
30 DH
Pass *3 Promo
50 DH
Pass *3 Promo
100 DH
Pass *3 Promo
200 DH
Pass *3 Promo
300 DH
Pass *3 Promo
500 DH
Pass *3 Promo
1000 DH
Une erreur s'est produite lors du traitement du modèle.
The following has evaluated to null or missing: ==> enPromotion [in template "6026335353695249076#20119#130867" at line 229, column 28] ---- 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 getterUtil.getBoolean(enPromotion... [in template "6026335353695249076#20119#130867" at line 229, column 1] ----
1<style>
2 .pass-5-card .card-button a {
3 padding: 7px 0px;
4 max-width: 190px;
5 width: 190px;
6 }
7 .pass-5-card .line-container {
8 display: flex;
9 align-items: center;
10 }
11 .pass-5-card hr {
12 width:100%
13 }
14 .pass-5-card .card-button {
15 display: flex;
16 justify-content: center;
17 align-items: center;
18 margin-top: 5px;
19 }
20 .pass-5-card .card-header {
21 padding: 5px;
22 background: #015BC3;
23 font-family: Montserrat-SemiBold;
24 height: 88px;
25 text-align: center;
26 display: flex;
27 justify-content: center;
28 align-items: center;
29 flex-direction: column;
30 }
31 .pass-5-card .price {
32 display: block;
33 font-size: 32px;
34 font-family: Montserrat-Bold;
35 }
36 .pass-5-card .currency {
37 font-size: 18px;
38 }
39 .pass-5-card .text-muted {
40 color: #7A8999 !important;
41
42 }
43.pass-5-card svg, .pass-5-card img {
44margin-right: 4px;
45 width: 30px;
46 height: 30px;
47 object-fit: contain;
48 }
49
50.pass-5-card .national {
51 color: #7A8999;
52 font-size: 15px;
53 text-align: left;
54 width: 100px;
55}
56
57.pass-5-card .validity {
58 color: #7A8999;
59 text-align: right;
60 font-size: 12px;
61 font-style: normal;
62 font-weight: 500;
63 line-height: normal;
64 }
65.pass-5-card del {
66 color: #7A8999;
67 font-size: 18px;
68 font-style: normal;
69 line-height: normal;
70 text-decoration-line: strikethrough;
71}
72 .pass-5-card .text-warning {
73color: #F96511 !important;
74
75}
76.pass-5-card .item-price {
77 font-size: 15px;
78 font-style: normal;
79 line-height: normal;
80 width: 80px;
81 text-align: left;
82 }
83.pass-5-card .card-title {
84 display: flex;
85 align-items: center;
86 gap: 5px;
87 }
88.pass-5-card .card-body .border {
89 font-size: 18px;
90 font-family: Montserrat-SemiBold;
91 padding: 6px 10px;
92 border-radius: 6px;
93 gap: 2px;
94 }
95.pass-5-card p {
96 margin: 0;
97 font-style: normal;
98 line-height: normal;
99 }
100.pass-5-card .card {
101 height: 100%;
102 }
103.pass-5-card .col {
104 padding:10px;
105 }
106.pass-5-card .pass-tag {
107 position: absolute;
108 top: 20px;
109 right: 20px;
110 font-size: 12px;
111 font-style: normal;
112 line-height: normal;
113}
114
115.pass-5-card .card-body {
116 justify-content: space-between;
117 flex-direction: column;
118 display: flex;
119
120 padding: 11px 15px;
121 }
122
123.pass-5-card .card-body a {
124 margin-top: 20px;
125}
126
127.pass-5-card {
128min-width: 285px;
129flex: 1;
130padding-bottom: 10px;
131}
132 .title-wrapper {
133 display:flex;
134 align-items: center;
135 width: 200px;
136 gap: 5px;
137 justify-content: center;
138 }
139 .validite-item-pass {
140 color: #7A8999;
141 font-family: Montserrat-Medium;
142 font-size: 12px;
143 }
144 .duration-wrapper {
145 gap: 4px;
146 }
147
148 .card-name {
149 font-family: Montserrat-Medium;
150 font-size: 16px;
151 color: #FFF;
152 }
153
154 .btn {
155 margin: 0 20px;
156 display: block;
157 }
158
159 @media screen and (max-width: 575px) {
160 padding-bottom: 0px;
161
162 .card-header {
163 height: 80px !important;
164 }
165
166 .title-wrapper img {
167 width: 25px;
168 height: 25px;
169 }
170
171 hr {
172 margin: 13px 0;
173 }
174
175 .btn {
176 margin-bottom: 15px;
177 }
178
179 .card-body {
180 padding: 10px;
181 .p-2 {
182 padding:0 !important;
183 }
184 .border {
185 padding: 3px 10px !important;
186 }
187 }
188
189 }
190.pass-5-card:lang(ar) .card-title.internet ,
191 .pass-5-card:lang(ar) .card-title.sms
192 {
193 direction: ltr;
194 display: flex;
195 justify-content: end;
196}
197#wrapper:lang(ar) .pass-5-card .card-title,
198#wrapper:lang(ar) .pass-5-card .item-price,
199#wrapper:lang(ar) .pass-5-card .card-body del
200 {
201 font-family: 'Tajawal-Bold', sans-serif;
202}
203
204.pass-5-card:lang(ar) .item-price {
205 text-align: right ;
206 width: 133px ;
207}
208.pass-5-card:lang(ar) .title-wrapper {
209width: 260px ;
210}
211.pass-5-card:lang(ar) .national {
212 text-align: center;
213}
214</style>
215 <#assign validity = languageUtil.get(locale, "Valable") />
216 <#assign recharge = languageUtil.get(locale, "Recharge") />
217
218 <#assign currency = languageUtil.get(locale, "dev-currency") />
219 <#assign promo = languageUtil.get(locale, "promotion-abbreviation") />
220 <#assign new = languageUtil.get(locale, "new") />
221<div class="card pass-5-card">
222 <div class="card-header text-white">
223 <span class="card-name">
224 <#if (Text21901942.getData())??>
225 ${Text21901942.getData()}
226</#if>
227 </span>
228 <#assign promoClass = "">
229<#if getterUtil.getBoolean(enPromotion.getData())>
230 <span class="btn btn-secondary btn-sm rounded float-right pass-tag font-weight-medium"> ${promotion-abbreviation} </span>
231 <#assign promoClass = "text-warning">
232</#if>
233
234<#assign friendlyUrl = themeDisplay.getLayout().getFriendlyURL()>
235<#assign priceJawal = "">
236<#if friendlyUrl?starts_with("/roaming/forfait-plafonn")>
237 <#if (Text09356257.getData())??>
238 <#assign priceJawal = Text09356257.getData()>
239 <div class="price">${Text09356257.getData()}<span class="currency"> ${currency}</span></div>
240 </#if>
241<#elseif friendlyUrl?starts_with("/roaming/forfait-non-plafonn")>
242 <#if (Text33372609.getData())??>
243 <#assign priceJawal = Text33372609.getData()>
244 <div class="price">${Text33372609.getData()}<span class="currency"> ${currency}</span></div>
245 </#if>
246<#else>
247 <#if (Text06592566.getData())??>
248 <#assign priceJawal = Text06592566.getData()>
249 <div class="price">${Text06592566.getData()}<span class="currency"> ${currency}</span></div>
250 </#if>
251</#if>
252
253 </div>
254 <div class="card-body">
255<#if (Text66294538.getData()) != "">
256 <div class="text-center text-muted d-none"> ${validity} : ${Text66294538.getData()}
257 <#assign selectedOptionId = Champ86642957.getData()>
258 <#if Champ86642957?has_content>
259 ${Champ86642957.getOptionsMap()[selectedOptionId]}
260 </#if>
261 </div>
262</#if>
263
264<#if (appelNationaleGroup.Text52719447.getData())??>
265<#if (appelNationaleGroup.Text52719447.getData()) != "">
266
267 <div class="p-2 text-dark border text-center d-flex justify-content-between align-items-center flex-column mb-1">
268 <div class="title-wrapper">
269 <img src="/documents/d/iam-portal/phone-icon2" width="24" height="24">
270 <div class="duration-wrapper d-flex flex-column">
271 <div class="card-title">
272
273 <span class="${promoClass} item-price font-weight-semi-bold">${appelNationaleGroup.Text52719447.getData()}
274
275 <#assign selectedOptionId = appelNationaleGroup.Select67687461.getData()>
276 <#if selectedOptionId?has_content>
277 ${appelNationaleGroup.Select67687461.getOptionsMap()[selectedOptionId]}
278 </#if>
279</span>
280
281
282
283 <#if (appelNationaleGroup.Champ50321083.getData()) != "">
284 <del>
285 ${appelNationaleGroup.Champ50321083.getData()}
286 <#assign selectedOptionId = appelNationaleGroup.Champ75434071.getData()>
287 <#if selectedOptionId?has_content>
288 ${appelNationaleGroup.Champ75434071.getOptionsMap()[selectedOptionId]}
289 </#if>
290 </del>
291
292
293
294 <#assign selectedOptionId = appelNationaleGroup.Select51082018.getData()>
295 <#if selectedOptionId?has_content>
296 ${appelNationaleGroup.Select51082018.getOptionsMap()[selectedOptionId]}
297 </#if>
298 </small>
299 </#if>
300
301
302 </div>
303
304 </div>
305
306 </div>
307
308 </div>
309 <#if (appelNationaleGroup.Text45925501.getData()) != "">
310
311 <div class="validite-item-pass text-center"> ${validity} : ${appelNationaleGroup.Text45925501.getData()}
312 <#assign selectedOptionId = appelNationaleGroup.Select51082018.getData()>
313 <#if appelNationaleGroup.Select51082018?has_content>
314 ${appelNationaleGroup.Select51082018.getOptionsMap()[selectedOptionId]}
315 </#if>
316 </div>
317</#if>
318
319
320
321</#if>
322</#if>
323
324
325
326 <#if (Champ12800619.Champ13841330.getData())??>
327 <#if (Champ12800619.Champ13841330.getData()) != "">
328<div class="line-container">
329<hr><small class="text-muted px-2">${languageUtil.get(locale, "or")}</small> <hr>
330</div>
331 <div class="p-2 text-dark border text-center d-flex justify-content-between align-items-center flex-column mb-1">
332 <div class="title-wrapper">
333 <img src="/documents/d/iam-portal/pass-internet-icon" width="24" height="24">
334
335
336 <span class="${promoClass} item-price font-weight-semi-bold card-title internet">
337 ${Champ12800619.Champ13841330.getData()}
338
339 <#assign selectedOptionId = Champ12800619.Champ43787384.getData()>
340 <#if selectedOptionId?has_content>
341 ${Champ12800619.Champ43787384.getOptionsMap()[selectedOptionId]}
342 </#if>
343 </span>
344
345 <#if (Champ12800619.Champ26108978.getData()) != "">
346 <del>
347 ${Champ12800619.Champ26108978.getData()}
348 <#assign selectedOptionId = Champ12800619.Champ42298478.getData()>
349 <#if selectedOptionId?has_content>
350 ${Champ12800619.Champ42298478.getOptionsMap()[selectedOptionId]}
351 </#if>
352 </del>
353 </#if>
354
355 </div>
356 </div>
357 <#if (Champ12800619.Text51630104.getData()) != "">
358 <small class="validity font-weight-medium text-center">
359 ${validity} : ${Champ12800619.Text51630104.getData()}
360 <#assign selectedOptionId = Champ12800619.Select85555291.getData()>
361 <#if selectedOptionId?has_content>
362 ${Champ12800619.Select85555291.getOptionsMap()[selectedOptionId]}
363 </#if>
364 </small>
365 </#if>
366</#if>
367</#if>
368
369
370 <#if (Champ77131398.Champ23236349.getData())??>
371 <#if (Champ77131398.Champ23236349.getData()) != "">
372
373<div class="line-container">
374<hr><small class="text-muted px-2">${languageUtil.get(locale, "or")}</small> <hr>
375</div>
376 <div class="p-2 text-dark border text-center d-flex justify-content-between align-items-center flex-column mb-1">
377 <div class="title-wrapper">
378 <img src="/documents/d/iam-portal/pass-email-icon" width="24" height="24">
379 <div class="duration-wrapper d-flex flex-column">
380 <div class="card-title">
381
382
383
384 <span class="${promoClass} item-price font-weight-semi-bold sms">
385 ${Champ77131398.Champ23236349.getData()} SMS
386 </span>
387
388
389 <#if (Champ77131398.Champ90244023.getData()) != "">
390 <del>
391 ${Champ77131398.Champ90244023.getData()} SMS
392 </del>
393 </#if>
394
395
396
397 </div>
398 </#if>
399 </div>
400
401 </div>
402
403
404 <#if (Champ19501337.Champ40276135.getData()) != "">
405
406 </div>
407 <#if (Champ77131398.Text95979022.getData()) != "">
408 <small class="validity font-weight-medium text-center">
409 ${validity} : ${Champ77131398.Text95979022.getData()}
410 <#assign selectedOptionId = Champ77131398.Select79854714.getData()>
411 <#if selectedOptionId?has_content>
412 ${Champ77131398.Select79854714.getOptionsMap()[selectedOptionId]}
413 </#if>
414 </small>
415 </#if>
416<div class="line-container">
417<hr><small class="text-muted px-2">${languageUtil.get(locale, "or")}</small> <hr>
418</div>
419<div>
420 <div class="p-2 text-dark border text-center d-flex justify-content-between align-items-center flex-column mb-1">
421 <div class="title-wrapper">
422 <img src="/documents/d/iam-portal/phone-inter-icon" width="24" height="24">
423 <div class="duration-wrapper d-flex flex-column d-flex flex-column">
424 <div class="card-title d-flex flex-row">
425
426 <span class="${promoClass} item-price font-weight-semi-bold">
427 ${Champ19501337.Champ40276135.getData()}
428
429 <#assign selectedOptionId = Champ19501337.Champ37425241.getData()>
430 <#if selectedOptionId?has_content>
431 ${Champ19501337.Champ37425241.getOptionsMap()[selectedOptionId]}
432 </#if>
433
434 </span>
435 <small class="text-muted national font-weight-medium">National et international</small>
436
437
438 <#if (Champ19501337.Champ05707884.getData()) != "">
439 <del>
440 ${Champ19501337.Champ05707884.getData()}
441 <#assign selectedOptionId = Champ19501337.Champ46332275.getData()>
442 <#if selectedOptionId?has_content>
443 ${Champ19501337.Champ46332275.getOptionsMap()[selectedOptionId]}
444 </#if>
445 </del>
446 </#if>
447
448 </div>
449
450 </div>
451 </div>
452 </div>
453 <#if (Champ19501337.Text71206282.getData()) != "">
454 <div class="validite-item-pass text-center"><small class="validity font-weight-medium text-center">
455 ${validity} : ${Champ19501337.Text71206282.getData()}
456 <#assign selectedOptionId = Champ19501337.Select55715653.getData()>
457 <#if selectedOptionId?has_content>
458 ${Champ19501337.Select55715653.getOptionsMap()[selectedOptionId]}
459 </#if>
460 </small></div>
461 </#if>
462</#if>
463</#if>
464
465 </div>
466 <#if (Text66294538.getData())??>
467<div class="validite-item-pass text-center"> ${validity} : ${Text66294538.getData()}
468<#assign selectedOptionId4 = Champ86642957.getData()>
469 <#if Champ86642957?has_content>
470 ${Champ86642957.getOptionsMap()[selectedOptionId4]}
471 </#if>
472</#if>
473 </div>
474 </div>
475
476 <div class="card-button">
477<#if priceJawal != "">
478<#if (priceJawal?number > 5 ) >
479 <a href="#" onclick="window.AnalyticsTracker.trackRechargeAndOpen('${Text21901942.getData()?js_string}', ${priceJawal?number})" class="btn btn-secondary">${recharge}</a>
480<#else>
481<a href="#" class="btn btn-secondary btn-block invisible disabled">${recharge}</a>
482</#if>
483</#if>
484 </div>
485</div>
Pass *9
Découvrez une panoplie de services grâce au Pass premium *9
Pass *9
Découvrez une panoplie de services grâce au Pass premium *9
Profitez de nos accessoires à prix réduits Tous nos accessoires
139 DH
159 DH
1 249 DH
499 DH
Mon Espace MT
Gérez vos lignes mobile, fixe et internet en quelques clics.
iNJOY
Forfaits mobile 100% digitaux et sans engagement.
MT TV
Des bouquets TV enrichis avec un contenu VOD en illimité.
MT CASH
MT Cash : la solution sécurisée pour gérer votre argent
Avez-vous besoin d'aide ?
Client Forfait Mobile et Internet Mobile Postpayé
1 min/appel pour les forfaits plafonnés, 1DH TTC/appel pour les forfaits non plafonnés et pour le fixe.
Clients Internet Fibre Optique
1 min/appel pour les forfaits mobile plafonnés, 1DH TTC/appel pour Jawal et pour le fixe.
Clients Internet ADSL
1DH TTC/appel pour Jawal et 1 min/appel pour les forfaits mobile plafonnés.