Εκδότης Αντικειμένων
Ένα σφάλμα εμφανίστηκε κατά την επεξεργασία του προτύπου.
The following has evaluated to null or missing: ==> offerURLMobile [in template "20116#20152#553462" at line 386, column 20] ---- Tip: If the failing expression is known to be 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: ${offerURLMobile.getData()} [in template "20116#20152#553462" at line 386, column 18] ----
1<style>
2 .portlet-asset-publisher .portlet-title-text,
3 .portlet-asset-publisher .header-title,
4 .portlet-asset-publisher .h2 {
5 display: none;
6 }
7
8 .img-container {
9 position: relative;
10 overflow: hidden;
11 border-top: 2px solid #c50016;
12 width: 100%;
13 height: 400px;
14 }
15
16 .img-container:after {
17 content:'';
18 position:absolute;
19 left:0;
20 top:0;
21 width:100%;
22 height:100%;
23 display:inline-block;
24 background: -moz-linear-gradient(top, rgba(0,0,0,0.1) 0%, rgba(194, 1, 22, 0.8) 110%); /* FF3.6+ */
25 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(194, 1, 22, 0.8)) color-stop(110%,transparent)); /* Chrome,Safari4+ */
26 background: -o-linear-gradient(top, rgba(0,0,0,0.1) 0%,rgba(194, 1, 22, 0.8) 110%); /* Opera 11.10+ */
27 background: -ms-linear-gradient(top, rgba(0,0,0,0.1) 0%,rgba(194, 1, 22, 0.8) 110%); /* IE10+ */
28 background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%,rgba(194, 1, 22, 0.8) 110%); /* W3C */
29 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#be1622', endColorstr='#00000000',GradientType=0 ); /* IE6-9 */
30 }
31
32 .img-container .corner-ribbon {
33 width: 15%;
34 background: #ffbc5d;
35 color: #ffbc5d;
36 position: absolute;
37 top: 25px;
38 line-height: 32px;
39 right: -6px;
40 -ms-transform: rotate(45deg);
41 -webkit-transform: rotate(45deg);
42 transform: rotate(45deg);
43 z-index: 1;
44 }
45
46 .img-container .corner-ribbon:before,
47 .img-container .corner-ribbon:after {
48 content: '';
49 position: absolute;
50 top:0;
51 margin: 0 -1px; /* tweak */
52 width: 100%;
53 height: 100%;
54 background: #ffbc5d;
55 }
56
57 .img-container .corner-ribbon:before {
58 right:100%;
59 }
60
61 .img-container .corner-ribbon:after {
62 left:100%;
63 }
64
65 .img-container .external-url {
66 padding: 7px 35px;
67 border: 2px solid #1b9800;
68 background-color: #1b9800;
69 z-index: 1;
70 color: #fff !important;
71 text-decoration: none !important;
72 font-weight: bold;
73 font-size: 19px;
74 }
75
76 .img-container .date-text {
77 position: absolute;
78 z-index: 1;
79 top: 0;
80 background: #c50016;
81 left: 50px;
82 text-align: center;
83 padding: 5px 15px;
84 color: #dbde71;
85 font-weight: bold;
86 border-bottom-left-radius: 2px;
87 border-bottom-right-radius: 2px;
88 -webkit-box-shadow: 1px 1px 1px 1px rgb(0 0 0 / 20%);
89 -moz-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.2);
90 box-shadow: 1px 1px 1px 1px rgb(0 0 0 / 20%);
91 font-size: 16px;
92 text-shadow: 2px 2px rgb(0 0 0 / 20%);
93 }
94
95 .img-container .date-text .date-div {
96 font-size: 26px;
97 }
98
99 .img-container .offer-title {
100 position: absolute;
101 top: 40%;
102 left: 50%;
103 -webkit-transform: translate(-50%, -40%);
104 -moz-transform: translate(-50%, -40%);
105 -ms-transform: translate(-50%, -40%);
106 -o-transform: translate(-50%, -40%);
107 transform: translate(-50%, -40%);
108 color: #fff;
109 font-weight: bold;
110 font-size: 36px;
111 z-index: 1;
112 width: 80%;
113 text-align: center;
114 text-shadow: 2px 2px rgb(0 0 0 / 20%);
115 line-height: 1.1;
116 }
117
118 .img-container .offer-description {
119 color: #fff;
120 font-weight: 500;
121 font-size: 25px;
122 z-index: 1;
123 width: 90%;
124 text-align: center;
125 text-shadow: 2px 2px rgb(0 0 0 / 20%);
126 line-height: 1.1;
127 font-style: italic;
128 margin: 0 auto 30px;
129 }
130
131 .img-container .desc-url-container {
132 position: absolute;
133 bottom: 20px;
134 left: 50%;
135 -webkit-transform: translateX(-50%);
136 -moz-transform: translateX(-50%);
137 -ms-transform: translateX(-50%);
138 -o-transform: translateX(-50%);
139 transform: translateX(-50%);
140 z-index: 1;
141 width: 100%;
142 text-align: center;
143 padding: 10px 0;
144 }
145
146 .terms-container {
147 overflow: hidden;
148 margin-top: 20px;
149 color: #fff;
150 background-color: rgba(0,0,0,.6);
151 padding: 40px;
152 }
153
154 .terms-container .terms-title {
155 text-align: center;
156 font-weight: bold;
157 font-size: 21px;
158 margin-bottom: 40px;
159 }
160
161 .terms-container .terms-content {
162 overflow-y: scroll;
163 max-height: 350px;
164 padding-right: 16px;
165 }
166
167 .terms-container ::-webkit-scrollbar {
168 width: 12px;
169 }
170
171 /* Track */
172 .terms-container ::-webkit-scrollbar-track {
173 -webkit-box-shadow: inset 0 0 6px rgba(255,255,255,0.8);
174 border-radius: 10px;
175 background: rgba(255,255,255,0.8);
176 }
177
178 /* Handle */
179 .terms-container ::-webkit-scrollbar-thumb {
180 -webkit-border-radius: 10px;
181 border-radius: 10px;
182 background: rgba(0,2,16,.9);
183
184 }
185 .terms-container ::-webkit-scrollbar-thumb:window-inactive {
186 background: rgba(0,2,16,.9);
187 }
188
189 .terms-container .terms-content{
190 scrollbar-width: thin;
191 scrollbar-color: rgba(0,2,16,.9) rgba(255,255,255,0.8);
192 }
193
194 .terms-container .read-more,
195 .show-more-terms{
196 display: none;
197 }
198
199 .back-link-row {
200 margin: 30px 0 15px;
201 }
202
203 .back-link-row a {
204 color: #fff;
205 text-shadow: 2px 2px rgb(0 0 0 / 30%);
206 }
207
208 .back-link-row a span {
209 margin-right: 5px;
210 }
211
212 .img-container .corner-ribbon-image {
213 position: absolute;
214 z-index: 1;
215 top: -4px;
216 right: -4px;
217 }
218
219 abbr {
220 text-decoration: none !important;
221 border: none !important;
222 }
223
224 @media screen and (max-width: 767px) {
225 .terms-container {
226 padding: 20px;
227 }
228
229 .terms-container .terms-title {
230 text-align: left;
231 font-size: 19px;
232 margin-bottom: 20px;
233 }
234
235 .terms-container .terms-content {
236 overflow: hidden;
237 position: relative;
238 max-height: 250px;
239 padding-right: 0px;
240 -webkit-mask-image: -webkit-gradient(linear, left 50%, left bottom, from(rgba(0,0,0,1)), to(rgba(0,0,0,0)));
241 -webkit-transition: all 0.3s ease-in;
242 -moz-transition: all 0.3s ease-in;
243 -o-transition: all 0.3s ease-in;
244 transition: all 0.3s ease-in;
245 }
246
247 .show-more-terms {
248 display: block;
249 width: 100%;
250 text-align: center;
251 padding: 10px 0;
252 border: 1px solid #fff;
253 margin-top: 15px;
254 cursor: pointer;
255 }
256
257 .img-container{
258 border: 2px solid #c50016;
259 background-size: 200% 100% !important;
260 background-repeat: no-repeat !important;
261 }
262
263 .img-container:after {
264 background: -moz-linear-gradient(top, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.9) 110%); /* FF3.6+ */
265 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0.9)) color-stop(110%,transparent)); /* Chrome,Safari4+ */
266 background: -o-linear-gradient(top, rgba(0,0,0,0.6) 0%,rgba(0,0,0,0.9) 110%); /* Opera 11.10+ */
267 background: -ms-linear-gradient(top, rgba(0,0,0,0.6) 0%,rgba(0,0,0,0.9) 110%); /* IE10+ */
268 background: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%,rgba(0,0,0,0.9) 110%); /* W3C */
269 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#00000000',GradientType=0 );
270 }
271
272 .img-container .date-text {
273 padding: 5px 20px;
274 left: 25px;
275 font-size: 14px;
276 }
277
278 .img-container .date-text .date-div {
279 font-size: 23px;
280 }
281
282 .img-container .offer-title {
283 font-size: 25px;
284 top: 35%;
285 }
286
287 .img-container .desc-url-container {
288 bottom: 0;
289 padding: 15px;
290 background: #c50016;
291 }
292
293 .img-container .offer-description {
294 font-size: 17px;
295 width: 100%;
296 margin: 0 0 20px;
297 }
298
299 .img-container .external-url {
300 padding: 5px 30px;
301 font-size: 16px;
302 display: block;
303 }
304
305 .img-container .corner-ribbon {
306 width: 20%;
307 line-height: 25px;
308 }
309
310 .img-container .corner-ribbon-image {
311 max-width: 90px !important;
312 }
313 }
314
315</style>
316
317<#assign curLangId = themeDisplay.getLanguageId()>
318<#assign twoLettersLang = curLangId?split("_")[0]>
319<#assign backText = "Back to Calendar"/>
320<#assign externalUrlText = "CLICK HERE"/>
321<#assign termsTitle = "Description"/>
322<#assign termsButtonText = "SEE MORE"/>
323<#if twoLettersLang = "el">
324 <#assign backText = "Επιστροφή στο Ημερολόγιο"/>
325 <#assign externalUrlText = "ΠΑΤΗΣΕ ΕΔΩ"/>
326 <#assign termsTitle = "Περιγραφή"/>
327 <#assign termsButtonText = "ΔΕΙΤΕ ΠΕΡΙΣΣΟΤΕΡΑ"/>
328</#if>
329
330<#assign dateFormat1 = "EEE"/>
331<#assign dateFormat1Full = "EEEEE"/>
332<#assign dateFormat2 = "dd" />
333<#assign dateFormat3 = "MMM" />
334<#assign dateFormat3Full = "MMMMM" />
335<#assign offerDate_Data = getterUtil.getString(offerDate.getData())>
336
337<div class="container-fluid-1280">
338 <div class="row">
339 <div class="col-sm-12 back-link-row">
340 <a href="/xmas-offer-zone"><span class="glyphicon glyphicon-chevron-left"></span> ${backText}</a>
341 </div>
342 </div>
343 <div class="row">
344 <div class="col-sm-12">
345 <div class="img-container" style="background: url('${landingPageImage.getData()}')">
346 <img class="corner-ribbon-image" src="/documents/159260/552971/landing-page-ribbon.png/8f939290-b493-9672-08a9-8934b1693a12?t=1607005486897"/>
347 <div class="date-text">
348 <#if validator.isNotNull(offerDate_Data)>
349 <#assign offerDate_DateObj = dateUtil.parseDate("yyyy-MM-dd", offerDate_Data, locale)>
350
351 <div class="day-div"><abbr title="${dateUtil.getDate(offerDate_DateObj, dateFormat1Full, locale)}">${dateUtil.getDate(offerDate_DateObj, dateFormat1, locale)}</abbr></div>
352 <div class="date-div">${dateUtil.getDate(offerDate_DateObj, dateFormat2, locale)}</div>
353 <div class="month-div"><abbr title="${dateUtil.getDate(offerDate_DateObj, dateFormat3Full, locale)}">${dateUtil.getDate(offerDate_DateObj, dateFormat3, locale)}</abbr></div>
354 </#if>
355 </div>
356 <div class="offer-title">${offerTitle.getData()}</div>
357 <div class="desc-url-container">
358 <div class="offer-description">${offerDescription.getData()}</div>
359 <a href="#" class="external-url" target="_self">${externalUrlText}</a>
360 </div>
361 </div>
362 <div class="terms-container" id="terms-container">
363 <div class="terms-title">${termsTitle}</div>
364 <div class="terms-content">
365 ${offerTerms.getData()}
366 </div>
367 <div class="show-more-terms">${termsButtonText}</div>
368 </div>
369 </div>
370 </div>
371</div>
372
373<script>
374 $(document).on('click', '.show-more-terms', function() {
375 $('.terms-content').css('-webkit-mask-image', 'unset');
376 $('.terms-content').css('max-height', '9999px');
377 $(this).hide();
378 })
379
380 $(document).on('click', '.external-url', function(e) {
381 e.preventDefault();
382 if (window.outerWidth >= 768) {
383 window.location = '${offerURL.getData()}';
384 }
385 else {
386 if ('${offerURLMobile.getData()}' !== '') {
387 window.location = '${offerURLMobile.getData()}';
388 }
389 else {
390 window.location = '${offerURL.getData()}';
391 }
392 }
393 })
394</script>