مقام سومی در مسابقات شنای کلانشهر - سازمان آتشنشاني و خدمات ایمنی
در حین انجام عملیات خطایی رخ داده است.
The following has evaluated to null or missing: ==> slideshow [in template "20097#20123#37390" at line 107, column 48] ---- 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(slideshow.g... [in template "20097#20123#37390" at line 107, column 21] ----
1<#-- Retrieve the published date meta data field of the web content -->
2<#assign displaydate = .vars['reserved-article-display-date'].data>
3<#-- Save the original page locale for later -->
4<#assign originalLocale = .locale>
5
6<#-- Set the page locale to the portals default locale -->
7<#setting locale = localeUtil.getDefault()>
8
9<#-- Parse the date to a date object -->
10<#assign displaydate = displaydate?datetime("EEE, d MMM yyyy HH:mm:ss Z")>
11
12<#-- Set the page locale back to the original page locale -->
13<#--#assign locale = ''-->
14<#assign dateFormat = "dd MM yyyy" />
15<#assign publishDate=dateUtil.getDate(displaydate,dateFormat,locale)/>
16
17
18<!--publish view Count-->
19<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
20 <#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService" )>
21 <#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService" )>
22 <#assign getterUtil = staticUtil["com.liferay.portal.kernel.util.GetterUtil"] />
23 <#assign currentArticle = JournalArticleLocalService.getArticle(getterUtil.getLong(groupId),.vars['reserved-article-id'].data)>
24 <#assign currentArticleResourcePrimKey = currentArticle.getResourcePrimKey()>
25 <#assign currentArticleAssetEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", currentArticleResourcePrimKey)/>
26 <#assign viewCount = currentArticleAssetEntry.viewCount/>
27
28<div class="main-new-content">
29 <div class="header">
30 <div class="date--view">
31 <div class="date">
32 <span class="icon-calander"><span class="path1"></span><span class="path2"></span></span>
33 <span class="main-c" id="id-12-${.vars['reserved-article-id'].data}"></span>
34 <script>
35 //date
36 var lang = document.getElementsByTagName("html")[0].getAttribute("lang");
37 var date_element = document.getElementById("id-12-${.vars['reserved-article-id'].data}");
38 if( lang == "fa-IR"){
39 date_element.innerHTML =
40 moment('${publishDate}', 'DD MM YYYY')
41 .locale('fa')
42 .format('dddd DD MMMM YYYY');
43 }else if (lang == "ar-SA") {
44 date_element.innerHTML =
45 moment('${publishDate}', 'DD MM YYYY')
46 .locale('ar')
47 .format('dddd DD / MM / YYYY');
48 }else if (lang == "en-US") {
49 date_element.innerHTML =
50 moment('${publishDate}', 'DD MM YYYY')
51 .locale('en')
52 .format('dddd DD MMMM YYYY');
53 }
54 date_element.setAttribute("id", "");
55 </script>
56 </div>
57 <div class="view d-flex">
58 <span class="icon-view mr-1" style="position: relative;top: 3px;" ><span class="path1"></span><span class="path2"></span></span>
59 <span class="main-c">${viewCount}</span>
60 </div>
61 </div>
62 <#if lead?? && lead.getData() !="">
63 <h5 class="lead">
64 ${lead.getData()}
65 </h5>
66 </#if>
67 <a href="${friendlyURLs[themeDisplay.getLanguageId()]!""}">
68 <h3 class="title" id="title-sharing">
69 ${.vars['reserved-article-title'].data}
70 </h3>
71 </a>
72 </div>
73 <div class="body">
74
75 <#if .vars['reserved-article-small-image-url'].data != "">
76 <img class="bold-img" src="${.vars['reserved-article-small-image-url'].data}" alt="" />
77 </#if>
78
79 <p class="description">
80 ${.vars['reserved-article-description'].data}
81 </p>
82 <p>
83 ${content.getData()}
84 </p>
85
86 <#if images?? >
87 <#if images.getSiblings()?has_content>
88
89 <#if images.getSiblings()[0].getData() != "" >
90 <#assign
91 theme_display = themeDisplay
92 css_folder = theme_display.getPathThemeCss()
93 javascript_folder = theme_display.getPathThemeJavaScript()
94 />
95 <link type="text/css" rel="stylesheet" href="${css_folder}/lightgallery/css/lightgallery.css" />
96
97 <!-- lightgallery plugins -->
98 <link type="text/css" rel="stylesheet" href="${css_folder}/lightgallery/css/lg-zoom.css" />
99 <link type="text/css" rel="stylesheet" href="${css_folder}/lightgallery/css/lg-thumbnail.css" />
100 <script src="${javascript_folder}/lightgallery/lightgallery.umd.js"></script>
101 <!-- Or use the minified version -->
102 <script src="${javascript_folder}/lightgallery/lightgallery.min.js"></script>
103
104 <!-- lightgallery plugins -->
105 <script src="${javascript_folder}/lightgallery/plugins/thumbnail/lg-thumbnail.umd.js"></script>
106 <script src="${javascript_folder}/lightgallery/plugins/zoom/lg-zoom.umd.js"></script>
107 <#if getterUtil.getBoolean(slideshow.getData())>
108 <div id="inline-gallery-container" class="inline-gallery-container"></div>
109
110 <script>
111
112 const $lgContainer = document.getElementById("inline-gallery-container");
113 const inlineGallery = lightGallery($lgContainer, {
114 container: $lgContainer,
115 dynamic: true,
116 // Turn off hash plugin in case if you are using it
117 // as we don't want to change the url on slide change
118 hash: false,
119 // Do not allow users to close the gallery
120 closable: false,
121 // Add maximize icon to enlarge the gallery
122 showMaximizeIcon: true,
123 // Append caption inside the slide item
124 // to apply some animation for the captions (Optional)
125 appendSubHtmlTo: ".lg-item",
126 // Delay slide transition to complete captions animations
127 // before navigating to different slides (Optional)
128 // You can find caption animation demo on the captions demo page
129 slideDelay: 400,
130 plugins: [lgZoom, lgThumbnail],
131 animateThumb: 1,
132 pager: !1,
133 hash: !1,
134 zoomFromOrigin: !1,
135 toggleThumb: !0,
136 allowMediaOverlap: !0,
137 dynamicEl: [
138 <#list images.getSiblings() as cur_other_images>
139 {
140 src: '${cur_other_images.getData()}',
141 thumb: '${cur_other_images.getData()}&imageThumbnail=1',
142 subHtml: ``,
143 },
144 </#list>
145 ],
146 thumbWidth: 120,
147 thumbHeight: "80px",
148 thumbMargin: 4
149 });
150
151 // Since we are using dynamic mode, we need to programmatically open lightGallery
152 inlineGallery.openGallery();
153 </script>
154 <style>
155 .inline-gallery-container {
156 height: 500px;
157 }
158 .rtl .lg-outer {
159 text-align: right;
160 }
161 .rtl .inline-gallery-container .lg-outer .lg-thumb-outer.lg-thumb-align-middle {
162 direction: ltr;
163 }
164
165 .rtl .inline-gallery-container .lg-outer .lg-thumb-item {
166 float: left !important;
167 }
168
169 .lg-thumb-item img {
170 margin: 0 !important;
171 border-radius: 0 !important;
172 }
173
174 .lg-container {
175 font-family: inherit;
176 }
177 </style>
178 <#else>
179 <div id="animated-thumbnails" class="row">
180 <#list images.getSiblings() as cur_other_images>
181 <a href="${cur_other_images.getData()}" class="col-12 col-sm-6 col-md-4 mb-4">
182 <img src="${cur_other_images.getData()}&imageThumbnail=1" />
183 </a>
184 </#list>
185 </div>
186 <script>
187 lightGallery(document.getElementById('animated-thumbnails'), {
188 thumbnail: true,
189 animateThumb: !1,
190 pager: !1,
191 plugins: [lgZoom,lgThumbnail],
192 hash: !1,
193 zoomFromOrigin: !1,
194 toggleThumb: !0,
195 allowMediaOverlap: !0
196 });
197
198 </script>
199 <style>
200 #animated-thumbnails img {
201 margin: 0 !important;
202 border-radius: 0 !important;
203 max-width: 100%;
204 width: 100%;
205 height: 15em;
206 object-fit: cover;
207 }
208 .rtl .lg-outer {
209 text-align: right;
210 }
211 .lg-outer .lg-thumb-item {
212 float: right !important;
213 }
214 .lg-thumb-item img {
215 margin: 0 !important;
216 border-radius: 0 !important;
217 }
218 .lg-container {
219 font-family: inherit;
220 }
221 </style>
222 </#if>
223 </#if>
224 </#if>
225 </#if>
226 </div>
227</div>
228
229<style>
230.main-new-content {
231 /*max-width: 925px;*/
232 margin: auto;
233}
234
235
236/* url */
237.main-new-content .url-box {
238 margin: 1.5em 0 2em;
239}
240
241.main-new-content .url-box input {
242 position: absolute;
243 visibility: hidden;
244 opacity: 0;
245}
246
247.main-new-content .url-box .btn-box button{
248 background: #2356ae;
249 color: #FFF;
250 padding: 0.55em 1.6em;
251 border: 0;
252 border-radius: 0.5em;
253}
254
255.main-new-content .url-box .btn-box {
256 position: relative;
257 display: inline-block;
258}
259
260.main-new-content .url-box .btn-box .tooltiptext {
261 visibility: hidden;
262 width: 140px;
263 background-color: #555;
264 color: #ffffff;
265 text-align: center;
266 border-radius: 6px;
267 padding: 5px;
268 position: absolute;
269 z-index: 1;
270 bottom: 150%;
271 left: 50%;
272 margin-left: -75px;
273 opacity: 0;
274 transition: opacity 0.3s;
275}
276
277.main-new-content .url-box .btn-box .tooltiptext::after {
278 content: "";
279 position: absolute;
280 top: 100%;
281 left: 50%;
282 margin-left: -5px;
283 border-width: 5px;
284 border-style: solid;
285 border-color: #555 transparent transparent transparent;
286}
287
288.main-new-content .url-box .btn-box:hover .tooltiptext {
289 visibility: visible;
290 opacity: 1;
291}
292/* url */
293
294
295.main-new-content .tags {
296 margin: 1.5em 0 1em 0;
297}
298
299.main-new-content .tags h4 {
300 color: #223a70;
301}
302
303.main-new-content .header {
304 width: 100%;
305 display: flex;
306 flex-direction: column;
307}
308.main-new-content .header .img-header {
309 position: relative;
310}
311.main-new-content .header .img-header:before {
312 content: "";
313 position: absolute;
314 background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2));
315 border-radius: 10px;
316 left: 0;
317 right: 0;
318 height: 100%;
319 width: 100%;
320}
321.main-new-content .header .img-header img {
322 width: 100%;
323 border-radius: 0.5em;
324 /*box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15);*/
325}
326.main-new-content .header .date--view {
327 display: flex;
328 justify-content: space-between;
329 margin-top: 0.5em;
330 //margin-top: -2.7em;
331 color: #223A70;
332}
333.main-new-content .header .date--view .date,
334.main-new-content .header .date--view .view {
335 font-size: 0.8em;
336
337}
338.main-new-content .header .date--view .date .main-c {
339 position: relative;
340 top: -0.2em;
341}
342.main-new-content .header .tools {
343 display: flex;
344 margin-bottom: 0.7em;
345 justify-content: flex-end;
346}
347.main-new-content .header .tools > div {
348 cursor: pointer;
349}
350html.ltr .main-new-content .header .tools > div + div {
351 margin-left: 1.5em;
352}
353html.rtl .main-new-content .header .tools > div + div {
354 margin-right: 1.5em;
355}
356.main-new-content .header .tools > div:hover::before {
357 color: #1b51b0;
358}
359.main-new-content .header .tools > div::before {
360 font-size: 1.3em;
361 transition: all ease-in-out 0.2s;
362}
363.main-new-content .header .tools .razi-icon-share {
364 position: relative;
365 padding-bottom: 0.8em;
366}
367.main-new-content .header .tools .razi-icon-print:before {
368 color: #223A70;
369}
370.main-new-content .header .tools .razi-icon-share:hover .share-box {
371 opacity: 1;
372 visibility: visible;
373}
374.main-new-content .header .tools .razi-icon-share .share-box {
375 display: flex;
376 align-items: center;
377 position: absolute;
378 right: 0;
379 top: calc(100%);
380 border-radius: 0.5em;
381 box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
382 padding: 0.5em;
383 z-index: 1;
384 background: white;
385 opacity: 0;
386 visibility: collapse;
387 transition: all ease-in-out 0.2s;
388}
389html.rtl .main-new-content .header .tools .razi-icon-share .share-box {
390 right: unset;
391 left: 0;
392}
393.main-new-content .header .tools .razi-icon-share .share-box a:hover img {
394 transform: scale(1.1);
395}
396html.ltr .main-new-content .header .tools .razi-icon-share .share-box a + a {
397 margin-left: 0.7em;
398}
399html.rtl .main-new-content .header .tools .razi-icon-share .share-box a + a {
400 margin-right: 0.7em;
401}
402.main-new-content .header .tools .razi-icon-share .share-box a img {
403 transition: all ease-in-out 0.2s;
404 width: 1.8em;
405 height: 1.8em;
406}
407.main-new-content .header h3 {
408 font-size: 1.2em;
409 margin: 0 0 1.93em 0;
410 margin-bottom: 0.5em;
411 color: #223A70;
412 line-height: 1.8em;
413}
414.main-new-content .header .lead {
415 font-size: 1.1em;
416 margin: 1em 0 0 0;
417 color: #726E6E;
418 line-height: 1.8em;
419}
420.main-new-content .body p {
421 margin: 1em 0;
422 color: #726E6E;
423 font-size: 1em;
424 line-height: 2.18em;
425}
426.rtl .main-new-content .body p * {
427 font-family: 'IRANSansFaNum' !important;
428}
429html.rtl .main-new-content .body .bold-img {
430 float:left;
431 margin-right:1.5em;
432}
433html.ltr .main-new-content .body .bold-img {
434 float:right;
435 margin-left:1.5em;
436}
437.main-new-content .body .bold-img {
438 width: 25em;
439 border-radius: 0.5em;
440 //border: 2px solid #223a70;
441}
442.main-new-content .body img:not(.bold-img) {
443 margin: 1em 0;
444 border-radius: 0.5em;
445 max-width: 100%;
446}
447.main-new-content .body .parent-video {
448 text-align:center;
449}
450.main-new-content .body .parent-video video {
451 max-width:100%;
452 margin: 1em 0;
453}
454
455.main-new-content .body .slide-show {
456 max-width:100%;
457 margin: 1em 0;
458}
459.main-new-content .body .slide-show .secondary-slider {
460 margin-top: 0.7em;
461}
462.main-new-content .body .slide-show .secondary-slider .splide__slide {
463 border-radius: 0.5em;
464 border: 2px solid #FFF;
465}
466.main-new-content .body .slide-show .secondary-slider .splide__slide.is-active {
467 border-color: #1b51b0;
468}
469.main-new-content .body .slide-show .secondary-slider .splide__slide img {
470 width:100%;
471 height:3.75em;
472 object-fit: cover;
473}
474.main-new-content .body .slide-show .primary-slider .splide__track {
475 padding: 2px 0;
476}
477.main-new-content .body .slide-show .primary-slider .splide__track .splide__slide {
478 border-radius: 0.5em;
479 border: 2px solid #1b51b0;
480}
481.main-new-content .body .slide-show .secondary-slider .splide__arrow {
482 background: transparent;
483 opacity: 1;
484}
485.main-new-content .body .slide-show .secondary-slider .splide__arrow > span {
486 font-size: 1.7em;
487}
488
489@media print {
490 .footer,
491 .razi-navbar,
492 .main-new-content .header .tools,
493 .dispaly-page-news,
494 .parent-portlet-page-comments,
495 .parent-breadcrumb {
496 display: none !important;
497 }
498}
499@media only screen and (max-width: 768px) {
500 .main-new-content {
501 font-size: 14px;
502 }
503 .main-new-content .header {
504 flex-direction: row;
505 flex-wrap: wrap;
506 }
507 .main-new-content .header > img {
508 order: 1;
509 width: 100%;
510 margin-top: 1.8em;
511 }
512 .main-new-content .header > h3 {
513 order: 4;
514 margin-top: 0.7em;
515 }
516 .main-new-content .header .date--view {
517 order: 1;
518 flex-grow: 1;
519 margin-top: 1.6em;
520 font-size: 16px;
521 }
522 /*html.ltr .main-new-content .header .date--view {
523 margin-right: 5em;
524 }
525 html.rtl .main-new-content .header .date--view {
526 margin-left: 5em;
527 }*/
528 .main-new-content .header .tools {
529 order: 2;
530 margin-top: 1.6em;
531 }
532 .main-new-content .header .tools .razi-icon-print {
533 display: none;
534 }
535 .main-new-content .header .lead {
536 width: 100%;
537 order: 3;
538 }
539}
540@media only screen and (max-width: 576px) {
541 .main-new-content {
542 font-size: 13px;
543 }
544 .main-new-content .header > img {
545 min-height: 176px;
546 }
547 .main-new-content .header .date--view {
548 font-size: 14px;
549 /*margin-right: 2em;*/
550 }
551
552 .main-new-content .body p {
553 margin: 1em 0;
554 font-size: 1em;
555 }
556 .main-new-content .body img {
557 width: 100%;
558 }
559}
560</style>
A