در حین انجام عملیات خطایی رخ داده است.
The following has evaluated to null or missing:
==> cur_images.getAttribute("alt")  [in template "20097#20123#37303" at line 121, column 37]

----
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: ${cur_images.getAttribute("alt")}  [in template "20097#20123#37303" at line 121, column 35]
----
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 hide"> 
58                <span class="icon-view"><span class="path1"></span><span class="path2"></span></span> 
59                <span class="main-c"></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> 
74<div> 
75${lead.getData()} 
76</div><div> 
77${author.getData()} 
78</div><div>${content.getData()} 
79</div> 
80<div class="col"> 
81<#if innerVideo??> 
82<#if innerVideo.getSiblings()?has_content> 
83	  <link href="/o/shahrdari-yazd-theme/css/video-js.min.css" rel="stylesheet" /> 
84 
85	<#list innerVideo.getSiblings() as cur_innerVideo> 
86 
87    	<video controls class="video-js"> 
88          <source src="${cur_innerVideo.getData()}" type="video/mp4"> 
89        </video> 
90	</#list> 
91	  <script src="/o/shahrdari-yazd-theme/js/video.min.js"></script> 
92      <script> 
93      videojs( 
94        document.querySelector('.video-js'), { 
95          autoplay: false, 
96          controls: true, 
97          fluid: true 
98        }); 
99      </script> 
100</#if> 
101<div> 
102${innerVideo.innerContent.getData()} 
103</div> 
104</#if> 
105</div> 
106 
107 
108<div> 
109<#if simpeImages?? && simpeImages.getSiblings()?has_content> 
110	<#list simpeImages.getSiblings() as cur_simpeImages> 
111		<#if (cur_simpeImages.getData())?? && cur_simpeImages.getData() != ""> 
112			<img alt="${cur_simpeImages.getAttribute("alt")}" data-fileentryid="${cur_simpeImages.getAttribute("fileEntryId")}" src="${cur_simpeImages.getData()}" /> 
113		</#if> 
114	</#list> 
115</#if> 
116</div> 
117<div> 
118<#if images?? && images.getSiblings()?has_content> 
119	<#list images.getSiblings() as cur_images> 
120		<#if (cur_images.getData())?? && cur_images.getData() != ""> 
121			<img alt="${cur_images.getAttribute("alt")}" data-fileentryid="${cur_images.getAttribute("fileEntryId")}" src="${cur_images.getData()}" /> 
122		</#if> 
123	</#list> 
124</#if> 
125</div> 
126<style> 
127.main-new-content { 
128  /*max-width: 925px;*/ 
129  margin: auto; 
130
131.video-js .vjs-big-play-button { 
132    left: 50%; 
133    right: auto; 
134    margin-left: -1.5em; 
135    margin-top: -0.81666em; 
136    top: 50%; 
137
138.video-js .vjs-big-play-button .vjs-icon-placeholder:before,.video-js .vjs-play-control .vjs-icon-placeholder:before,.vjs-icon-play:before { 
139    content: "\f04b "; 
140    font-family: 'FontAwesome'; 
141
142/* url */ 
143.main-new-content .url-box { 
144    margin: 1.5em 0 2em; 
145
146 
147.main-new-content .url-box input { 
148    position: absolute; 
149    visibility: hidden; 
150    opacity: 0; 
151
152 
153.main-new-content .url-box .btn-box button{ 
154    background: #2356ae; 
155    color: #FFF; 
156    padding: 0.55em 1.6em; 
157    border: 0; 
158    border-radius: 0.5em; 
159
160 
161.main-new-content .url-box .btn-box { 
162  position: relative; 
163  display: inline-block; 
164
165 
166.main-new-content .url-box .btn-box .tooltiptext { 
167  visibility: hidden; 
168    width: 140px; 
169    background-color: #555; 
170    color: #ffffff; 
171    text-align: center; 
172    border-radius: 6px; 
173    padding: 5px; 
174    position: absolute; 
175    z-index: 1; 
176    bottom: 150%; 
177    left: 50%; 
178    margin-left: -75px; 
179    opacity: 0; 
180    transition: opacity 0.3s; 
181
182 
183.main-new-content .url-box .btn-box .tooltiptext::after { 
184  content: ""; 
185  position: absolute; 
186  top: 100%; 
187  left: 50%; 
188  margin-left: -5px; 
189  border-width: 5px; 
190  border-style: solid; 
191  border-color: #555 transparent transparent transparent; 
192
193 
194.main-new-content .url-box .btn-box:hover .tooltiptext { 
195  visibility: visible; 
196  opacity: 1; 
197
198/* url */ 
199 
200 
201.main-new-content .tags { 
202    margin: 1.5em 0 1em 0; 
203
204 
205.main-new-content .tags h4 { 
206    color: #223a70; 
207
208 
209.main-new-content .header { 
210  width: 100%; 
211  display: flex; 
212  flex-direction: column; 
213
214.main-new-content .header .img-header {  
215    position: relative; 
216
217.main-new-content .header .img-header:before { 
218    content: ""; 
219    position: absolute; 
220    background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)); 
221    border-radius: 10px; 
222    left: 0; 
223    right: 0; 
224    height: 100%; 
225    width: 100%; 
226
227.main-new-content .header .img-header img { 
228  width: 100%; 
229  border-radius: 0.5em; 
230  /*box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15);*/ 
231
232.main-new-content .header .date--view { 
233  display: flex; 
234  justify-content: flex-end; 
235  margin-top: 0.5em; 
236  //margin-top: -2.7em; 
237  color: #223A70; 
238
239.main-new-content .header .date--view .date, 
240.main-new-content .header .date--view .view { 
241  font-size: 0.8em; 
242   
243
244.main-new-content .header .date--view .date .main-c { 
245    position: relative; 
246    top: -0.2em; 
247
248.main-new-content .header .tools { 
249  display: flex; 
250  margin-bottom: 0.7em; 
251  justify-content: flex-end; 
252
253.main-new-content .header .tools > div { 
254  cursor: pointer; 
255
256html.ltr .main-new-content .header .tools > div + div { 
257  margin-left: 1.5em; 
258
259html.rtl .main-new-content .header .tools > div + div { 
260  margin-right: 1.5em; 
261
262.main-new-content .header .tools > div:hover::before { 
263  color: #1b51b0; 
264
265.main-new-content .header .tools > div::before { 
266  font-size: 1.3em; 
267  transition: all ease-in-out 0.2s; 
268
269.main-new-content .header .tools .razi-icon-share { 
270  position: relative; 
271  padding-bottom: 0.8em; 
272
273.main-new-content .header .tools .razi-icon-print:before { 
274    color: #223A70; 
275
276.main-new-content .header .tools .razi-icon-share:hover .share-box { 
277  opacity: 1; 
278  visibility: visible; 
279
280.main-new-content .header .tools .razi-icon-share .share-box { 
281  display: flex; 
282  align-items: center; 
283  position: absolute; 
284  right: 0; 
285  top: calc(100%); 
286  border-radius: 0.5em; 
287  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); 
288  padding: 0.5em; 
289  z-index: 1; 
290  background: white; 
291  opacity: 0; 
292  visibility: collapse; 
293  transition: all ease-in-out 0.2s; 
294
295html.rtl .main-new-content .header .tools .razi-icon-share .share-box { 
296  right: unset; 
297  left: 0; 
298
299.main-new-content .header .tools .razi-icon-share .share-box a:hover img { 
300  transform: scale(1.1); 
301
302html.ltr .main-new-content .header .tools .razi-icon-share .share-box a + a { 
303  margin-left: 0.7em; 
304
305html.rtl .main-new-content .header .tools .razi-icon-share .share-box a + a { 
306  margin-right: 0.7em; 
307
308.main-new-content .header .tools .razi-icon-share .share-box a img { 
309  transition: all ease-in-out 0.2s; 
310  width: 1.8em; 
311  height: 1.8em; 
312
313.main-new-content .header h3 { 
314  font-size: 1.2em; 
315  margin: 0 0 1.93em 0; 
316  margin-bottom: 0.5em; 
317  color: #223A70; 
318  line-height: 1.8em; 
319
320.main-new-content .header .lead { 
321  font-size: 1.1em; 
322  margin: 1em 0 0 0; 
323  color: #726E6E; 
324  line-height: 1.8em; 
325
326.main-new-content .body p { 
327    margin: 1em 0; 
328    color: #726E6E; 
329    font-size: 1em; 
330    line-height: 2.18em; 
331
332.rtl .main-new-content .body p * { 
333    font-family: 'IRANSansFaNum' !important; 
334
335html.rtl .main-new-content .body .bold-img { 
336    float:left; 
337    margin-right:1.5em; 
338
339html.ltr .main-new-content .body .bold-img { 
340    float:right; 
341    margin-left:1.5em; 
342
343.main-new-content .body .bold-img { 
344  width: 25em; 
345  border-radius: 0.5em; 
346  //border: 2px solid #223a70; 
347
348.main-new-content .body img:not(.bold-img) { 
349  margin: 1em 0; 
350  border-radius: 0.5em; 
351  max-width: 100%; 
352
353.main-new-content .body .parent-video { 
354    text-align:center; 
355
356.main-new-content .body .parent-video video { 
357    max-width:100%; 
358    margin: 1em 0; 
359
360 
361.main-new-content .body .slide-show { 
362    max-width:100%; 
363    margin: 1em 0; 
364
365.main-new-content .body .slide-show .secondary-slider { 
366    margin-top: 0.7em; 
367
368.main-new-content .body .slide-show .secondary-slider .splide__slide  { 
369    border-radius: 0.5em; 
370    border: 2px solid #FFF; 
371
372.main-new-content .body .slide-show .secondary-slider .splide__slide.is-active { 
373    border-color: #1b51b0; 
374
375.main-new-content .body .slide-show .secondary-slider .splide__slide img  { 
376    width:100%; 
377    height:3.75em; 
378    object-fit: cover; 
379
380.main-new-content .body .slide-show .primary-slider .splide__track  { 
381    padding: 2px 0; 
382
383.main-new-content .body .slide-show .primary-slider .splide__track .splide__slide  { 
384    border-radius: 0.5em; 
385    border: 2px solid #1b51b0; 
386
387.main-new-content .body .slide-show .secondary-slider .splide__arrow { 
388    background: transparent; 
389    opacity: 1; 
390
391.main-new-content .body .slide-show .secondary-slider .splide__arrow > span { 
392    font-size: 1.7em; 
393
394 
395@media print { 
396    .footer, 
397    .razi-navbar, 
398    .main-new-content .header .tools, 
399    .dispaly-page-news, 
400    .parent-portlet-page-comments, 
401    .parent-breadcrumb { 
402        display: none !important; 
403
404
405@media only screen and (max-width: 768px) { 
406  .main-new-content { 
407    font-size: 14px; 
408
409  .main-new-content .header { 
410    flex-direction: row; 
411    flex-wrap: wrap; 
412
413  .main-new-content .header > img { 
414    order: 1; 
415    width: 100%; 
416    margin-top: 1.8em; 
417
418  .main-new-content .header > h3 { 
419    order: 4; 
420    margin-top: 0.7em; 
421
422  .main-new-content .header .date--view { 
423    order: 1; 
424    flex-grow: 1; 
425    margin-top: 1.6em; 
426    font-size: 16px; 
427
428  /*html.ltr .main-new-content .header .date--view { 
429    margin-right: 5em; 
430
431  html.rtl .main-new-content .header .date--view { 
432    margin-left: 5em; 
433  }*/ 
434  .main-new-content .header .tools { 
435    order: 2; 
436    margin-top: 1.6em; 
437
438  .main-new-content .header .tools .razi-icon-print { 
439    display: none; 
440
441  .main-new-content .header .lead { 
442    width: 100%; 
443    order: 3; 
444
445
446@media only screen and (max-width: 576px) { 
447  .main-new-content { 
448    font-size: 13px; 
449
450  .main-new-content .header > img { 
451    min-height: 176px; 
452
453  .main-new-content .header .date--view { 
454    font-size: 14px; 
455    /*margin-right: 2em;*/ 
456
457 
458  .main-new-content .body p { 
459    margin: 1em 0; 
460    font-size: 1em; 
461
462  .main-new-content .body img { 
463    width: 100%; 
464
465
466div#ShortURL-bottom { 
467    display: flex !important; 
468    padding: 40px 0 10px; 
469    justify-content: flex-end; 
470    align-items: center; 
471    clear: both; 
472    position: relative; 
473
474div#ShortURL-bottom svg { 
475    background-color: #285EFF; 
476    border-top-left-radius: 0; 
477    border-bottom-left-radius: 0; 
478    margin-top: 0; 
479    height: 40px; 
480    width: 40px; 
481    padding: 10px; 
482    fill: #fff; 
483    border-radius: 0 5px 5px 0; 
484
485div#ShortURL-bottom input { 
486    text-align: left; 
487    direction: ltr; 
488    background-color: #f1f2f5; 
489    border-color: #f1f2f5; 
490    color: #a7a9bc !important; 
491    font-size: 0.7em !important; 
492    opacity: 1; 
493    outline: none; 
494    background-color: #f1f2f5; 
495    border-color: #e7e7ed; 
496    border-style: solid; 
497    border-width: 0.0625rem; 
498    border-bottom-width: 0.0625rem; 
499    border-right-width: 0.0625rem; 
500    border-left-width: 0.0625rem; 
501    border-top-width: 0.0625rem; 
502    border-radius: 0.25rem; 
503    box-shadow: none; 
504    color: #272833; 
505    display: block; 
506    font-size: 1rem; 
507    font-weight: 400; 
508    height: 2.5rem; 
509    line-height: 1.5; 
510    min-width: 0; 
511    padding-bottom: 0.4375rem; 
512    padding-right: 1rem; 
513    padding-left: 1rem; 
514    padding-top: 0.4375rem; 
515    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; 
516
517div#ShortURL-bottom:before { 
518    content: 'کپی شد'; 
519    position: absolute; 
520    width: 217px; 
521    text-align: center; 
522    background: #003778; 
523    color: #fff; 
524    font-size: 0.75em; 
525    padding: 11px; 
526    border-radius: 5px; 
527    opacity: 0; 
528    visibility: hidden; 
529    transition: 300ms; 
530
531div#ShortURL-bottom.copy:before { 
532    opacity: 1; 
533    visibility: visible; 
534
535</style> 
536<script> 
537function selectAndCopy(element){ 
538    var copy=document.getElementById('ShortURL-bottom'); 
539    copy.classList.add('copy'); 
540    element.select(); 
541    navigator.clipboard.writeText(element.value); 
542    setTimeout(function() { copy.classList.remove('copy') }, 3000); 
543
544</script>