در حین انجام عملیات خطایی رخ داده است.
The following has evaluated to null or missing: ==> assetEntry.getPublishDate() [in template "20098#20124#35318" at line 65, column 205] ---- 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: ${assetEntry.getPublishDate()?datetime} [in template "20098#20124#35318" at line 65, column 203] ----
1<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
3<div class="search-total-label">
4 ${languageUtil.format(locale, "x-results-for-x", [searchContainer.getTotal(), "<strong>" + htmlUtil.escape(searchResultsPortletDisplayContext.getKeywords()) + "</strong>"], false)}
5</div>
6
7<div class="display-list">
8 <ul class="list-group" id="search-results-display-list">
9 <#if entries?has_content>
10 <#list entries as entry>
11 <#assign assetEntry = assetEntryLocalService.getEntry(entry.getClassName(),entry.getClassPK()) />
12 <#assign assetRenderer = assetEntry.getAssetRenderer() />
13 <li class="list-group-item list-group-item-flex">
14 <#if !entry.isTemporarilyUnavailable()>
15 <div class="autofit-col">
16 <#if entry.isUserPortraitVisible()>
17 <@liferay_ui["user-portrait"] userId=entry.getAssetEntryUserId() />
18 </#if>
19
20 <#if entry.isThumbnailVisible()>
21 <img alt="${languageUtil.get(locale, "thumbnail")}" class="img-rounded search-result-thumbnail-img" src="${entry.getThumbnailURLString()}" />
22 </#if>
23
24 <#if entry.isIconVisible()>
25 <span class="search-asset-type-sticker sticker sticker-rounded sticker-secondary sticker-static">
26 <@clay.icon symbol="${entry.getIconId()}" />
27 </span>
28 </#if>
29 </div>
30
31 <div class="autofit-col autofit-col-expand">
32 <section class="autofit-section">
33 <div class="list-group-title">
34 <a href="${entry.getViewURL()}">
35 ${entry.getHighlightedTitle()}
36 </a>
37 </div>
38
39 <div class="search-results-metadata">
40 <p class="list-group-subtext">
41 <#if entry.isModelResourceVisible()>
42 <span class="subtext-item">
43 <strong>${entry.getModelResource()}</strong>
44 </span>
45 </#if>
46
47 <#if entry.isLocaleReminderVisible()>
48 <@liferay_ui["icon"]
49 icon="../language/${entry.getLocaleLanguageId()}"
50 message=entry.getLocaleReminder()
51 />
52 </#if>
53
54 <#if entry.isCreatorVisible()>
55 <span class="subtext-item">
56 ·
57
58 <@liferay.language key="written-by" />
59
60 <strong>${htmlUtil.escape(entry.getCreatorUserName())}</strong>
61 </span>
62 </#if>
63
64 <#if entry.isCreationDateVisible()>
65 <span class="subtext-item" style="display: inline-block !important;" id="pDate-u12u-id-${entry?index}" date-attr="${assetEntry.getPublishDate()?datetime}"></span>
66 <script>
67 var date = `${assetEntry.getPublishDate()?datetime}`;
68 //var ar_date = date.split(" ");
69 //ar_date[1]=ar_date[1].replace(",", "");
70 //console.log( ar_date[0] +" a "+ar_date[2]+" a "+ar_date[1]);
71 if(document.getElementsByTagName("html")[0].getAttribute("dir") == "rtl"){
72 //document.getElementById("pDate-u12u-id-${entry?index}").innerHTML = moment(ar_date[0]+" "+ar_date[2]+" "+ar_date[1], 'MMM YYYY DD').locale('fa').format('D MMMM YYYY');
73 document.getElementById("pDate-u12u-id-${entry?index}").innerHTML =moment(date).locale('fa').format('D MMM YYYY')
74 }else {
75 //document.getElementById("pDate-u12u-id-${entry?index}").innerHTML = `${entry.getCreationDateString()}`;
76 }
77 </script>
78 </#if>
79 </p>
80
81 <#if entry.isContentVisible()>
82 <p class="list-group-subtext">
83 <span class="subtext-item">
84 ${entry.getContent()}
85 </span>
86 </p>
87 </#if>
88
89 <#if entry.isFieldsVisible()>
90 <p class="list-group-subtext">
91 <#assign separate = false />
92
93 <#list entry.getFieldDisplayContexts() as fieldDisplayContext>
94 <#if separate>
95 ·
96 </#if>
97
98 <span class="badge">${fieldDisplayContext.getName()}</span>
99
100 <span>${fieldDisplayContext.getValuesToString()}</span>
101
102 <#assign separate = true />
103 </#list>
104 </p>
105 </#if>
106
107 <#if entry.isAssetCategoriesOrTagsVisible()>
108 <h6 class="search-document-tags text-default">
109 <@liferay_asset["asset-tags-summary"]
110 className=entry.getClassName()
111 classPK=entry.getClassPK()
112 paramName=entry.getFieldAssetTagNames()
113 portletURL=entry.getPortletURL()
114 />
115
116 <@liferay_asset["asset-categories-summary"]
117 className=entry.getClassName()
118 classPK=entry.getClassPK()
119 paramName=entry.getFieldAssetCategoryIds()
120 portletURL=entry.getPortletURL()
121 />
122 </h6>
123 </#if>
124
125 <#if entry.isDocumentFormVisible()>
126 <h6 class="expand-details text-default">
127 <span class="list-group-text" style="">
128 <a href="javascript:;">
129 <@liferay.language key="details" />...
130 </a>
131 </span>
132 </h6>
133
134 <div class="hide search-results-list table-details table-responsive">
135 <table class="table">
136 <thead>
137 <tr>
138 <th class="key-column">
139 <@liferay.language key="key" />
140 </th>
141 <th>
142 <@liferay.language key="value" />
143 </th>
144 </tr>
145 </thead>
146
147 <tbody>
148 <#list entry.getDocumentFormFieldDisplayContexts() as fieldDisplayContext>
149 <tr>
150 <td class="key-column table-details-content">
151 <strong>${htmlUtil.escape(fieldDisplayContext.getName())}</strong>
152 </td>
153 <td class="table-details-content">
154 <code>
155 ${fieldDisplayContext.getValuesToString()}
156 </code>
157 </td>
158 </tr>
159 </#list>
160 </tbody>
161 </table>
162 </div>
163 </#if>
164 </div>
165 </section>
166 </div>
167 <#else>
168 <div class="autofit-col">
169 <div class="alert alert-danger">
170 <@liferay.language_format
171 arguments="result"
172 key="is-temporarily-unavailable"
173 />
174 </div>
175 </div>
176 </#if>
177 </li>
178 </#list>
179 </#if>
180 </ul>
181</div>
182
183<@liferay_aui.script use="aui-base">
184 A.one('#search-results-display-list').delegate(
185 'click',
186 function(event) {
187 var currentTarget = event.currentTarget;
188
189 currentTarget.siblings('.search-results-list').toggleClass('hide');
190 },
191 '.expand-details'
192 );
193</@liferay_aui.script>