الرقم القياسي لأسعار المستهلك-شهري يناير 2025
إحصاءات سجل المصدرين والموردين الربع الرابع 2024
الرقم القياسي لأسعار الفنادق- شهري ديسمبر 2024
إحصاءات المناخ-شهري ديسمبر 2024
إحصاءات المناخ- سنوي 2024
The following has evaluated to null or missing:
==> themeIconId [in template "20098#20124#2513884" at line 62, column 60]
----
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: ${themeIconId} [in template "20098#20124#2513884" at line 62, column 58]
----
1<div data-analytics-asset-type="document"
2 data-analytics-asset-id="publications-downloaded"
3 data-analytics-asset-title="Publications Downloaded"
4 data-analytics-asset-action="download">
5
6<#assign catLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")
7 JournalArticleService=serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")
8 resourcePrimKey=JournalArticleService.getArticleResourcePrimKey(groupId, .vars['reserved-article-id'].data)
9 articleCatNames=catLocalService.getCategories("com.liferay.journal.model.JournalArticle", resourcePrimKey)
10 dlFileEntryService=serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryService')
11 assetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")
12 dlAppLocalServiceUtil=staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
13 dlUtil=staticUtil["com.liferay.document.library.kernel.util.DLUtil"]
14 statisticVocabulary=assetVocabularyLocalService.getGroupVocabulary(groupId?long,"statistics")
15 assetCategoryPropService=serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
16 <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
17
18
19<#assign journalArticleTitle=.vars['reserved-article-title'].data />
20
21<#assign journalArticlele = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
22<#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("UIIssueDate")/>
23
24
25<#assign themeColor="d29c4b" imgUrl="${themeDisplay.getPathThemeImages()}/publications/005.jpg"
26 categoryDisplay="Economic" />
27<#if (articleCatNames?size > 0)>
28 <#list articleCatNames as category>
29 <#if category.parentCategoryId==0>
30 <#if category.getVocabularyId()==statisticVocabulary.getVocabularyId()>
31 <#assign assetThemeCategoryId=category.categoryId?long />
32 <#assign
33 themeColor=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_color").getValue()
34 themeIconId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_icon_id").getValue()
35 themeImgId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"portfolio-image").getValue() />
36
37 <#if themeImgId!="0">
38 <#assign imgDlFile=dlAppLocalServiceUtil.getFileEntry(themeImgId?number)
39 imgUrl=dlUtil.getPreviewURL(imgDlFile, imgDlFile.getFileVersion(), themeDisplay, '' ) />
40 </#if>
41 <#list category.name?split(" ") as catWords>
42 <#assign categoryDisplay = catWords/>
43 <#break>
44 </#list>
45 <#assign categoryDisplay = category.titleCurrentValue/>
46 </#if>
47 </#if>
48 </#list>
49
50 </#if>
51
52
53<#if file_upload.getSiblings()?has_content>
54
55 <#list file_upload.getSiblings() as medias>
56 <#if medias.getData()?has_content >
57
58 <div class=" row mb-3 mx-0 bg-white d-flex w-100 align-items-center h-100 border rounded">
59 <div class="col-lg-1 p-0 ">
60 <div class="icon d-flex text-center px-2 py-3" style="background: #eee">
61 <div class="align-self-center mx-auto d-flex flex-column">
62 <img src="/documents/d/guest/${themeIconId}" height="30">
63 <label class="small mx-auto mb-0" style="color: #${themeColor} ;">
64 ${categoryDisplay}
65 </label>
66 </div>
67 </div>
68 </div>
69
70 <div class="col-8">
71 <p class="mb-0 py-3 publication-p">${journalArticleTitle}</p>
72 <div class="dates_inside_wrapper">
73
74<div class="dates_inside">
75<img height="16" src="/documents/d/guest/release_icon" class="pe-2" style="filter: invert(1); padding-inline-end: 2px; padding-bottom:3px;">
76
77 <div>
78 Release Date: <#assign releaseArticle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
79 <#assign releaseDate = releaseArticle.getExpandoBridge().getAttribute("UIIssueDate")/>
80${releaseDate?string("yyyy-MM-dd")}
81 </div>
82 </div>
83 <#assign publicationArticle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
84<#assign revisionDate = publicationArticle.getExpandoBridge().getAttribute("revisionDate")/>
85 <#assign formattedRevDate = revisionDate?string("yyyy-MM-dd")>
86 <#if formattedRevDate != "1888-01-01">
87 <div class="dates_inside">
88 <img height="16" src="/documents/d/guest/revision_icon" class="pe-2" style="filter: invert(1); padding-inline-end: 2px; padding-bottom:3px;">
89
90<div>Revision Date:
91 ${revisionDate?string("yyyy-MM-dd")}
92 </div>
93 </div>
94 </#if>
95
96
97
98
99 </div>
100
101 <#assign articleId = .vars["reserved-article-id"].data?number>
102 <#if .vars['publicationNote']?? && .vars['publicationNote'].getData()?has_content>
103 <div class="dates_inside_wrapper p-1">
104 <img src="/documents/d/guest/information-circle-svgrepo-com" height="20" width="20">
105 ${.vars['publicationNote'].getData()}
106 </div>
107</#if>
108
109
110
111
112 </div>
113
114 <div class="col-3 d-flex align-items-center justify-content-end">
115
116
117 <div class="my-2 right-icons d-flex align-items-center ">
118 <#if file_upload.getSiblings()?has_content>
119 <#list file_upload.getSiblings() as media>
120 <#if media.getData()?has_content>
121
122 <#assign counter=0>
123 <#list "${media.getData()}" ?split("/") as mediaDataSplit>
124 <#if counter==5>
125 <#list mediaDataSplit?split("?") as uuId>
126 <#assign uuid=uuId />
127 <#break>
128 </#list>
129 </#if>
130 <#assign counter=counter+1>
131 </#list>
132 <#if uuid??>
133 <#assign file=dlFileEntryService.getFileEntryByUuidAndGroupId(uuid,groupId)>
134 <#assign fileExtension=file.extension>
135 <#assign fileSize = file.size >
136 <#assign fileSizeInMB = (file.size / 1024 / 1024)?string('0.##')>
137 <#if fileExtension=="">
138 <#list "${file.fileName}" ?split(".") as extention>
139 <#if extention?is_last>
140 <#assign fileExtension=extention>
141 <#break>
142 </#if>
143 </#list>
144 </#if>
145 <#if media.getData()?has_content>
146
147
148 <#if fileExtension=="pdf" || fileExtension=="PDF">
149 <a class="ml-2" href="${media.getData()}" target="blank"
150 style="order:1" onclick="trackDownload(event, '${file.fileName}')">
151 <li class="list-item list-inline-item d-flex flex-column">
152 <img src=${themeDisplay.getPathThemeImages()}/publications/pdf-svgrepo-com.svg
153 class="d-flex mx-auto align-self-center" />
154 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
155 </li>
156 </a>
157
158 <#elseif fileExtension=="xls" || fileExtension=="XLS" ||
159 fileExtension=="xlsx" || fileExtension=="XLSX">
160 <a class="ml-2" href="${media.getData()}" target="blank"
161 style="order:2" onclick="trackDownload(event, '${file.fileName}')">
162 <li class="list-item list-inline-item d-flex flex-column">
163
164 <img src=${themeDisplay.getPathThemeImages()}/publications/excel-svgrepo-com.svg
165 class="d-flex mx-auto align-self-center" />
166 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
167 </li>
168 </a>
169
170 <#else>
171
172 <a class="ml-2" href="${media.getData()}" target="blank"
173 style="order:3" onclick="trackDownload(event, '${file.fileName}')">
174 <li class="list-item list-inline-item d-flex flex-column">
175
176 <img src="/documents/d/guest/docx-1-"
177 class="d-flex mx-auto align-self-center" style="height:25px;" />
178 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
179
180 </li>
181 </a>
182
183 </#if>
184
185
186 </#if>
187 </#if>
188 </#if>
189 </#list>
190 </#if>
191 </div>
192 </div>
193 </div>
194
195
196
197<#break>
198
199 </#if>
200</#list>
201</#if>
202<style>.dates_inside_wrapper{
203
204display: flex;
205 gap: 5px;
206 align-items: center;
207 font-size: 13px;
208 flex-direction: row;
209 gap: 20px;
210}
211
212.dates_inside {
213
214 display: flex;
215 gap: 5px;
216 align-items: center;
217
218 padding: 4px 10px;
219 color: #616060;
220 border-radius: 5px;
221
222}
223.file-size{padding :5px;}</style>
224<script>
225<#assign JArticleTitle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
226<#assign JDisplayDate = JArticleTitle.getExpandoBridge().getAttribute("UIIssueDate")/>
227var dateString = '${JDisplayDate?string("yyyy-MM-dd")}';
228
229// Convert the string into a Date object
230var date = new Date(dateString);
231
232// Format the date to "dd MMM yyyy" (e.g., "02 Feb 2024")
233var formattedDate = date.toLocaleDateString('en-GB', {
234 day: '2-digit',
235 month: 'short',
236 year: 'numeric'
237});
238
239// Set the formatted date into the HTML
240document.querySelector('.publications-display').innerHTML = formattedDate;
241function trackDownload(event, fileName) {
242 console.log("INSIDE TRACKING DOWNLOADS");
243
244 // Check if fileName is correctly passed
245 if (fileName) {
246 console.log("File Name: " + fileName);
247 Analytics.track('trackPublicationDownloads', {
248 'fileName': fileName
249 });
250 } else {
251 console.log("Error: File name is missing or incorrect.");
252 }
253
254 console.log("INSIDE TRACKER");
255}
256</script>
الرقم القياسي لأسعار المستهلك-ربع سنوي الربع الرابع 2024
الرقم القياسي لأسعار المستهلك-شهري ديسمبر 2024
إحصاءات المنشآت الفندقية نوفمبر 2024
الرقم القياسي لأسعار الفنادق نوفمبر 2024
إحصاءات المناخ-شهري نوفمبر 2024
إحصاءات التعليم 2023
الناتج المحلي الإجمالي الربع الثالث 2024
الرقم القياسي لأسعار المستهلك-شهري نوفمبر 2024
إحصاءات المناخ-شهري أكتوبر 2024
جدول الحوادث والصحة البيئية-ربع سنوي الربع الثالث 2024
إحصاءات نوعية المياه البحرية الربع الثالث 2024
إحصاءات التنوع الحيوي والمناطق المحمية 2023
نشرة الثروة السمكية والأحياء المائية 2023
إحصاءات الطاقة والمياه 2023
إحصاءات جودة الهواء الربع الثالث 2024
تقرير الملخص السنوي لجودة الهواء 2023
لمحة عن الإحصاءات الزراعية 2023
إحصاءات البنوك الربع الثالث 2024
The following has evaluated to null or missing:
==> themeIconId [in template "20098#20124#2513884" at line 62, column 60]
----
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: ${themeIconId} [in template "20098#20124#2513884" at line 62, column 58]
----
1<div data-analytics-asset-type="document"
2 data-analytics-asset-id="publications-downloaded"
3 data-analytics-asset-title="Publications Downloaded"
4 data-analytics-asset-action="download">
5
6<#assign catLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")
7 JournalArticleService=serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")
8 resourcePrimKey=JournalArticleService.getArticleResourcePrimKey(groupId, .vars['reserved-article-id'].data)
9 articleCatNames=catLocalService.getCategories("com.liferay.journal.model.JournalArticle", resourcePrimKey)
10 dlFileEntryService=serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryService')
11 assetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")
12 dlAppLocalServiceUtil=staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
13 dlUtil=staticUtil["com.liferay.document.library.kernel.util.DLUtil"]
14 statisticVocabulary=assetVocabularyLocalService.getGroupVocabulary(groupId?long,"statistics")
15 assetCategoryPropService=serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
16 <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
17
18
19<#assign journalArticleTitle=.vars['reserved-article-title'].data />
20
21<#assign journalArticlele = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
22<#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("UIIssueDate")/>
23
24
25<#assign themeColor="d29c4b" imgUrl="${themeDisplay.getPathThemeImages()}/publications/005.jpg"
26 categoryDisplay="Economic" />
27<#if (articleCatNames?size > 0)>
28 <#list articleCatNames as category>
29 <#if category.parentCategoryId==0>
30 <#if category.getVocabularyId()==statisticVocabulary.getVocabularyId()>
31 <#assign assetThemeCategoryId=category.categoryId?long />
32 <#assign
33 themeColor=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_color").getValue()
34 themeIconId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_icon_id").getValue()
35 themeImgId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"portfolio-image").getValue() />
36
37 <#if themeImgId!="0">
38 <#assign imgDlFile=dlAppLocalServiceUtil.getFileEntry(themeImgId?number)
39 imgUrl=dlUtil.getPreviewURL(imgDlFile, imgDlFile.getFileVersion(), themeDisplay, '' ) />
40 </#if>
41 <#list category.name?split(" ") as catWords>
42 <#assign categoryDisplay = catWords/>
43 <#break>
44 </#list>
45 <#assign categoryDisplay = category.titleCurrentValue/>
46 </#if>
47 </#if>
48 </#list>
49
50 </#if>
51
52
53<#if file_upload.getSiblings()?has_content>
54
55 <#list file_upload.getSiblings() as medias>
56 <#if medias.getData()?has_content >
57
58 <div class=" row mb-3 mx-0 bg-white d-flex w-100 align-items-center h-100 border rounded">
59 <div class="col-lg-1 p-0 ">
60 <div class="icon d-flex text-center px-2 py-3" style="background: #eee">
61 <div class="align-self-center mx-auto d-flex flex-column">
62 <img src="/documents/d/guest/${themeIconId}" height="30">
63 <label class="small mx-auto mb-0" style="color: #${themeColor} ;">
64 ${categoryDisplay}
65 </label>
66 </div>
67 </div>
68 </div>
69
70 <div class="col-8">
71 <p class="mb-0 py-3 publication-p">${journalArticleTitle}</p>
72 <div class="dates_inside_wrapper">
73
74<div class="dates_inside">
75<img height="16" src="/documents/d/guest/release_icon" class="pe-2" style="filter: invert(1); padding-inline-end: 2px; padding-bottom:3px;">
76
77 <div>
78 Release Date: <#assign releaseArticle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
79 <#assign releaseDate = releaseArticle.getExpandoBridge().getAttribute("UIIssueDate")/>
80${releaseDate?string("yyyy-MM-dd")}
81 </div>
82 </div>
83 <#assign publicationArticle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
84<#assign revisionDate = publicationArticle.getExpandoBridge().getAttribute("revisionDate")/>
85 <#assign formattedRevDate = revisionDate?string("yyyy-MM-dd")>
86 <#if formattedRevDate != "1888-01-01">
87 <div class="dates_inside">
88 <img height="16" src="/documents/d/guest/revision_icon" class="pe-2" style="filter: invert(1); padding-inline-end: 2px; padding-bottom:3px;">
89
90<div>Revision Date:
91 ${revisionDate?string("yyyy-MM-dd")}
92 </div>
93 </div>
94 </#if>
95
96
97
98
99 </div>
100
101 <#assign articleId = .vars["reserved-article-id"].data?number>
102 <#if .vars['publicationNote']?? && .vars['publicationNote'].getData()?has_content>
103 <div class="dates_inside_wrapper p-1">
104 <img src="/documents/d/guest/information-circle-svgrepo-com" height="20" width="20">
105 ${.vars['publicationNote'].getData()}
106 </div>
107</#if>
108
109
110
111
112 </div>
113
114 <div class="col-3 d-flex align-items-center justify-content-end">
115
116
117 <div class="my-2 right-icons d-flex align-items-center ">
118 <#if file_upload.getSiblings()?has_content>
119 <#list file_upload.getSiblings() as media>
120 <#if media.getData()?has_content>
121
122 <#assign counter=0>
123 <#list "${media.getData()}" ?split("/") as mediaDataSplit>
124 <#if counter==5>
125 <#list mediaDataSplit?split("?") as uuId>
126 <#assign uuid=uuId />
127 <#break>
128 </#list>
129 </#if>
130 <#assign counter=counter+1>
131 </#list>
132 <#if uuid??>
133 <#assign file=dlFileEntryService.getFileEntryByUuidAndGroupId(uuid,groupId)>
134 <#assign fileExtension=file.extension>
135 <#assign fileSize = file.size >
136 <#assign fileSizeInMB = (file.size / 1024 / 1024)?string('0.##')>
137 <#if fileExtension=="">
138 <#list "${file.fileName}" ?split(".") as extention>
139 <#if extention?is_last>
140 <#assign fileExtension=extention>
141 <#break>
142 </#if>
143 </#list>
144 </#if>
145 <#if media.getData()?has_content>
146
147
148 <#if fileExtension=="pdf" || fileExtension=="PDF">
149 <a class="ml-2" href="${media.getData()}" target="blank"
150 style="order:1" onclick="trackDownload(event, '${file.fileName}')">
151 <li class="list-item list-inline-item d-flex flex-column">
152 <img src=${themeDisplay.getPathThemeImages()}/publications/pdf-svgrepo-com.svg
153 class="d-flex mx-auto align-self-center" />
154 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
155 </li>
156 </a>
157
158 <#elseif fileExtension=="xls" || fileExtension=="XLS" ||
159 fileExtension=="xlsx" || fileExtension=="XLSX">
160 <a class="ml-2" href="${media.getData()}" target="blank"
161 style="order:2" onclick="trackDownload(event, '${file.fileName}')">
162 <li class="list-item list-inline-item d-flex flex-column">
163
164 <img src=${themeDisplay.getPathThemeImages()}/publications/excel-svgrepo-com.svg
165 class="d-flex mx-auto align-self-center" />
166 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
167 </li>
168 </a>
169
170 <#else>
171
172 <a class="ml-2" href="${media.getData()}" target="blank"
173 style="order:3" onclick="trackDownload(event, '${file.fileName}')">
174 <li class="list-item list-inline-item d-flex flex-column">
175
176 <img src="/documents/d/guest/docx-1-"
177 class="d-flex mx-auto align-self-center" style="height:25px;" />
178 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
179
180 </li>
181 </a>
182
183 </#if>
184
185
186 </#if>
187 </#if>
188 </#if>
189 </#list>
190 </#if>
191 </div>
192 </div>
193 </div>
194
195
196
197<#break>
198
199 </#if>
200</#list>
201</#if>
202<style>.dates_inside_wrapper{
203
204display: flex;
205 gap: 5px;
206 align-items: center;
207 font-size: 13px;
208 flex-direction: row;
209 gap: 20px;
210}
211
212.dates_inside {
213
214 display: flex;
215 gap: 5px;
216 align-items: center;
217
218 padding: 4px 10px;
219 color: #616060;
220 border-radius: 5px;
221
222}
223.file-size{padding :5px;}</style>
224<script>
225<#assign JArticleTitle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
226<#assign JDisplayDate = JArticleTitle.getExpandoBridge().getAttribute("UIIssueDate")/>
227var dateString = '${JDisplayDate?string("yyyy-MM-dd")}';
228
229// Convert the string into a Date object
230var date = new Date(dateString);
231
232// Format the date to "dd MMM yyyy" (e.g., "02 Feb 2024")
233var formattedDate = date.toLocaleDateString('en-GB', {
234 day: '2-digit',
235 month: 'short',
236 year: 'numeric'
237});
238
239// Set the formatted date into the HTML
240document.querySelector('.publications-display').innerHTML = formattedDate;
241function trackDownload(event, fileName) {
242 console.log("INSIDE TRACKING DOWNLOADS");
243
244 // Check if fileName is correctly passed
245 if (fileName) {
246 console.log("File Name: " + fileName);
247 Analytics.track('trackPublicationDownloads', {
248 'fileName': fileName
249 });
250 } else {
251 console.log("Error: File name is missing or incorrect.");
252 }
253
254 console.log("INSIDE TRACKER");
255}
256</script>
احصاءات المباني المنجزة الربع الثالث 2024
إحصاءات سجل المصدرين والموردين الربع الثالث 2024
إحصاءات المناخ-شهري سبتمبر 2024
الرقم القياسي لأسعار المستهلك-شهري أكتوبر 2024
تقرير الملخص السنوي لنوعية المياه البحرية 2023
الرقم القياسي لأسعار الفنادق أكتوبر 2024
إحصاءات المناخ-شهري أغسطس 2024
الرقم القياسي لأسعار المستهلك-ربع سنوي الربع الثالث 2024
الناتج المحلي الإجمالي الربع الثاني 2024
إحصاءات جودة الهواء الربع الثاني 2024
جدول الحوادث والصحة البيئية-ربع سنوي الربع الثاني 2024
إحصاءات الثروة السمكية الربع الثاني 2024
إحصاءات المناخ-شهري يوليو 2024
الرقم القياسي لأسعار الفنادق سبتمبر 2024
إحصاءات نوعية المياه البحرية الربع الثاني 2024
الرقم القياسي لأسعار المستهلك-شهري سبتمبر 2024
إحصاءات الثروة السمكية الربع الثالث 2024
إحصاءات البنوك الربع الثاني 2024
The following has evaluated to null or missing:
==> themeIconId [in template "20098#20124#2513884" at line 62, column 60]
----
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: ${themeIconId} [in template "20098#20124#2513884" at line 62, column 58]
----
1<div data-analytics-asset-type="document"
2 data-analytics-asset-id="publications-downloaded"
3 data-analytics-asset-title="Publications Downloaded"
4 data-analytics-asset-action="download">
5
6<#assign catLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")
7 JournalArticleService=serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")
8 resourcePrimKey=JournalArticleService.getArticleResourcePrimKey(groupId, .vars['reserved-article-id'].data)
9 articleCatNames=catLocalService.getCategories("com.liferay.journal.model.JournalArticle", resourcePrimKey)
10 dlFileEntryService=serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryService')
11 assetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")
12 dlAppLocalServiceUtil=staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
13 dlUtil=staticUtil["com.liferay.document.library.kernel.util.DLUtil"]
14 statisticVocabulary=assetVocabularyLocalService.getGroupVocabulary(groupId?long,"statistics")
15 assetCategoryPropService=serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
16 <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
17
18
19<#assign journalArticleTitle=.vars['reserved-article-title'].data />
20
21<#assign journalArticlele = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
22<#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("UIIssueDate")/>
23
24
25<#assign themeColor="d29c4b" imgUrl="${themeDisplay.getPathThemeImages()}/publications/005.jpg"
26 categoryDisplay="Economic" />
27<#if (articleCatNames?size > 0)>
28 <#list articleCatNames as category>
29 <#if category.parentCategoryId==0>
30 <#if category.getVocabularyId()==statisticVocabulary.getVocabularyId()>
31 <#assign assetThemeCategoryId=category.categoryId?long />
32 <#assign
33 themeColor=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_color").getValue()
34 themeIconId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_icon_id").getValue()
35 themeImgId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"portfolio-image").getValue() />
36
37 <#if themeImgId!="0">
38 <#assign imgDlFile=dlAppLocalServiceUtil.getFileEntry(themeImgId?number)
39 imgUrl=dlUtil.getPreviewURL(imgDlFile, imgDlFile.getFileVersion(), themeDisplay, '' ) />
40 </#if>
41 <#list category.name?split(" ") as catWords>
42 <#assign categoryDisplay = catWords/>
43 <#break>
44 </#list>
45 <#assign categoryDisplay = category.titleCurrentValue/>
46 </#if>
47 </#if>
48 </#list>
49
50 </#if>
51
52
53<#if file_upload.getSiblings()?has_content>
54
55 <#list file_upload.getSiblings() as medias>
56 <#if medias.getData()?has_content >
57
58 <div class=" row mb-3 mx-0 bg-white d-flex w-100 align-items-center h-100 border rounded">
59 <div class="col-lg-1 p-0 ">
60 <div class="icon d-flex text-center px-2 py-3" style="background: #eee">
61 <div class="align-self-center mx-auto d-flex flex-column">
62 <img src="/documents/d/guest/${themeIconId}" height="30">
63 <label class="small mx-auto mb-0" style="color: #${themeColor} ;">
64 ${categoryDisplay}
65 </label>
66 </div>
67 </div>
68 </div>
69
70 <div class="col-8">
71 <p class="mb-0 py-3 publication-p">${journalArticleTitle}</p>
72 <div class="dates_inside_wrapper">
73
74<div class="dates_inside">
75<img height="16" src="/documents/d/guest/release_icon" class="pe-2" style="filter: invert(1); padding-inline-end: 2px; padding-bottom:3px;">
76
77 <div>
78 Release Date: <#assign releaseArticle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
79 <#assign releaseDate = releaseArticle.getExpandoBridge().getAttribute("UIIssueDate")/>
80${releaseDate?string("yyyy-MM-dd")}
81 </div>
82 </div>
83 <#assign publicationArticle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
84<#assign revisionDate = publicationArticle.getExpandoBridge().getAttribute("revisionDate")/>
85 <#assign formattedRevDate = revisionDate?string("yyyy-MM-dd")>
86 <#if formattedRevDate != "1888-01-01">
87 <div class="dates_inside">
88 <img height="16" src="/documents/d/guest/revision_icon" class="pe-2" style="filter: invert(1); padding-inline-end: 2px; padding-bottom:3px;">
89
90<div>Revision Date:
91 ${revisionDate?string("yyyy-MM-dd")}
92 </div>
93 </div>
94 </#if>
95
96
97
98
99 </div>
100
101 <#assign articleId = .vars["reserved-article-id"].data?number>
102 <#if .vars['publicationNote']?? && .vars['publicationNote'].getData()?has_content>
103 <div class="dates_inside_wrapper p-1">
104 <img src="/documents/d/guest/information-circle-svgrepo-com" height="20" width="20">
105 ${.vars['publicationNote'].getData()}
106 </div>
107</#if>
108
109
110
111
112 </div>
113
114 <div class="col-3 d-flex align-items-center justify-content-end">
115
116
117 <div class="my-2 right-icons d-flex align-items-center ">
118 <#if file_upload.getSiblings()?has_content>
119 <#list file_upload.getSiblings() as media>
120 <#if media.getData()?has_content>
121
122 <#assign counter=0>
123 <#list "${media.getData()}" ?split("/") as mediaDataSplit>
124 <#if counter==5>
125 <#list mediaDataSplit?split("?") as uuId>
126 <#assign uuid=uuId />
127 <#break>
128 </#list>
129 </#if>
130 <#assign counter=counter+1>
131 </#list>
132 <#if uuid??>
133 <#assign file=dlFileEntryService.getFileEntryByUuidAndGroupId(uuid,groupId)>
134 <#assign fileExtension=file.extension>
135 <#assign fileSize = file.size >
136 <#assign fileSizeInMB = (file.size / 1024 / 1024)?string('0.##')>
137 <#if fileExtension=="">
138 <#list "${file.fileName}" ?split(".") as extention>
139 <#if extention?is_last>
140 <#assign fileExtension=extention>
141 <#break>
142 </#if>
143 </#list>
144 </#if>
145 <#if media.getData()?has_content>
146
147
148 <#if fileExtension=="pdf" || fileExtension=="PDF">
149 <a class="ml-2" href="${media.getData()}" target="blank"
150 style="order:1" onclick="trackDownload(event, '${file.fileName}')">
151 <li class="list-item list-inline-item d-flex flex-column">
152 <img src=${themeDisplay.getPathThemeImages()}/publications/pdf-svgrepo-com.svg
153 class="d-flex mx-auto align-self-center" />
154 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
155 </li>
156 </a>
157
158 <#elseif fileExtension=="xls" || fileExtension=="XLS" ||
159 fileExtension=="xlsx" || fileExtension=="XLSX">
160 <a class="ml-2" href="${media.getData()}" target="blank"
161 style="order:2" onclick="trackDownload(event, '${file.fileName}')">
162 <li class="list-item list-inline-item d-flex flex-column">
163
164 <img src=${themeDisplay.getPathThemeImages()}/publications/excel-svgrepo-com.svg
165 class="d-flex mx-auto align-self-center" />
166 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
167 </li>
168 </a>
169
170 <#else>
171
172 <a class="ml-2" href="${media.getData()}" target="blank"
173 style="order:3" onclick="trackDownload(event, '${file.fileName}')">
174 <li class="list-item list-inline-item d-flex flex-column">
175
176 <img src="/documents/d/guest/docx-1-"
177 class="d-flex mx-auto align-self-center" style="height:25px;" />
178 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
179
180 </li>
181 </a>
182
183 </#if>
184
185
186 </#if>
187 </#if>
188 </#if>
189 </#list>
190 </#if>
191 </div>
192 </div>
193 </div>
194
195
196
197<#break>
198
199 </#if>
200</#list>
201</#if>
202<style>.dates_inside_wrapper{
203
204display: flex;
205 gap: 5px;
206 align-items: center;
207 font-size: 13px;
208 flex-direction: row;
209 gap: 20px;
210}
211
212.dates_inside {
213
214 display: flex;
215 gap: 5px;
216 align-items: center;
217
218 padding: 4px 10px;
219 color: #616060;
220 border-radius: 5px;
221
222}
223.file-size{padding :5px;}</style>
224<script>
225<#assign JArticleTitle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
226<#assign JDisplayDate = JArticleTitle.getExpandoBridge().getAttribute("UIIssueDate")/>
227var dateString = '${JDisplayDate?string("yyyy-MM-dd")}';
228
229// Convert the string into a Date object
230var date = new Date(dateString);
231
232// Format the date to "dd MMM yyyy" (e.g., "02 Feb 2024")
233var formattedDate = date.toLocaleDateString('en-GB', {
234 day: '2-digit',
235 month: 'short',
236 year: 'numeric'
237});
238
239// Set the formatted date into the HTML
240document.querySelector('.publications-display').innerHTML = formattedDate;
241function trackDownload(event, fileName) {
242 console.log("INSIDE TRACKING DOWNLOADS");
243
244 // Check if fileName is correctly passed
245 if (fileName) {
246 console.log("File Name: " + fileName);
247 Analytics.track('trackPublicationDownloads', {
248 'fileName': fileName
249 });
250 } else {
251 console.log("Error: File name is missing or incorrect.");
252 }
253
254 console.log("INSIDE TRACKER");
255}
256</script>
The following has evaluated to null or missing:
==> themeIconId [in template "20098#20124#2513884" at line 62, column 60]
----
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: ${themeIconId} [in template "20098#20124#2513884" at line 62, column 58]
----
1<div data-analytics-asset-type="document"
2 data-analytics-asset-id="publications-downloaded"
3 data-analytics-asset-title="Publications Downloaded"
4 data-analytics-asset-action="download">
5
6<#assign catLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")
7 JournalArticleService=serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")
8 resourcePrimKey=JournalArticleService.getArticleResourcePrimKey(groupId, .vars['reserved-article-id'].data)
9 articleCatNames=catLocalService.getCategories("com.liferay.journal.model.JournalArticle", resourcePrimKey)
10 dlFileEntryService=serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryService')
11 assetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")
12 dlAppLocalServiceUtil=staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
13 dlUtil=staticUtil["com.liferay.document.library.kernel.util.DLUtil"]
14 statisticVocabulary=assetVocabularyLocalService.getGroupVocabulary(groupId?long,"statistics")
15 assetCategoryPropService=serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
16 <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
17
18
19<#assign journalArticleTitle=.vars['reserved-article-title'].data />
20
21<#assign journalArticlele = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
22<#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("UIIssueDate")/>
23
24
25<#assign themeColor="d29c4b" imgUrl="${themeDisplay.getPathThemeImages()}/publications/005.jpg"
26 categoryDisplay="Economic" />
27<#if (articleCatNames?size > 0)>
28 <#list articleCatNames as category>
29 <#if category.parentCategoryId==0>
30 <#if category.getVocabularyId()==statisticVocabulary.getVocabularyId()>
31 <#assign assetThemeCategoryId=category.categoryId?long />
32 <#assign
33 themeColor=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_color").getValue()
34 themeIconId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_icon_id").getValue()
35 themeImgId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"portfolio-image").getValue() />
36
37 <#if themeImgId!="0">
38 <#assign imgDlFile=dlAppLocalServiceUtil.getFileEntry(themeImgId?number)
39 imgUrl=dlUtil.getPreviewURL(imgDlFile, imgDlFile.getFileVersion(), themeDisplay, '' ) />
40 </#if>
41 <#list category.name?split(" ") as catWords>
42 <#assign categoryDisplay = catWords/>
43 <#break>
44 </#list>
45 <#assign categoryDisplay = category.titleCurrentValue/>
46 </#if>
47 </#if>
48 </#list>
49
50 </#if>
51
52
53<#if file_upload.getSiblings()?has_content>
54
55 <#list file_upload.getSiblings() as medias>
56 <#if medias.getData()?has_content >
57
58 <div class=" row mb-3 mx-0 bg-white d-flex w-100 align-items-center h-100 border rounded">
59 <div class="col-lg-1 p-0 ">
60 <div class="icon d-flex text-center px-2 py-3" style="background: #eee">
61 <div class="align-self-center mx-auto d-flex flex-column">
62 <img src="/documents/d/guest/${themeIconId}" height="30">
63 <label class="small mx-auto mb-0" style="color: #${themeColor} ;">
64 ${categoryDisplay}
65 </label>
66 </div>
67 </div>
68 </div>
69
70 <div class="col-8">
71 <p class="mb-0 py-3 publication-p">${journalArticleTitle}</p>
72 <div class="dates_inside_wrapper">
73
74<div class="dates_inside">
75<img height="16" src="/documents/d/guest/release_icon" class="pe-2" style="filter: invert(1); padding-inline-end: 2px; padding-bottom:3px;">
76
77 <div>
78 Release Date: <#assign releaseArticle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
79 <#assign releaseDate = releaseArticle.getExpandoBridge().getAttribute("UIIssueDate")/>
80${releaseDate?string("yyyy-MM-dd")}
81 </div>
82 </div>
83 <#assign publicationArticle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
84<#assign revisionDate = publicationArticle.getExpandoBridge().getAttribute("revisionDate")/>
85 <#assign formattedRevDate = revisionDate?string("yyyy-MM-dd")>
86 <#if formattedRevDate != "1888-01-01">
87 <div class="dates_inside">
88 <img height="16" src="/documents/d/guest/revision_icon" class="pe-2" style="filter: invert(1); padding-inline-end: 2px; padding-bottom:3px;">
89
90<div>Revision Date:
91 ${revisionDate?string("yyyy-MM-dd")}
92 </div>
93 </div>
94 </#if>
95
96
97
98
99 </div>
100
101 <#assign articleId = .vars["reserved-article-id"].data?number>
102 <#if .vars['publicationNote']?? && .vars['publicationNote'].getData()?has_content>
103 <div class="dates_inside_wrapper p-1">
104 <img src="/documents/d/guest/information-circle-svgrepo-com" height="20" width="20">
105 ${.vars['publicationNote'].getData()}
106 </div>
107</#if>
108
109
110
111
112 </div>
113
114 <div class="col-3 d-flex align-items-center justify-content-end">
115
116
117 <div class="my-2 right-icons d-flex align-items-center ">
118 <#if file_upload.getSiblings()?has_content>
119 <#list file_upload.getSiblings() as media>
120 <#if media.getData()?has_content>
121
122 <#assign counter=0>
123 <#list "${media.getData()}" ?split("/") as mediaDataSplit>
124 <#if counter==5>
125 <#list mediaDataSplit?split("?") as uuId>
126 <#assign uuid=uuId />
127 <#break>
128 </#list>
129 </#if>
130 <#assign counter=counter+1>
131 </#list>
132 <#if uuid??>
133 <#assign file=dlFileEntryService.getFileEntryByUuidAndGroupId(uuid,groupId)>
134 <#assign fileExtension=file.extension>
135 <#assign fileSize = file.size >
136 <#assign fileSizeInMB = (file.size / 1024 / 1024)?string('0.##')>
137 <#if fileExtension=="">
138 <#list "${file.fileName}" ?split(".") as extention>
139 <#if extention?is_last>
140 <#assign fileExtension=extention>
141 <#break>
142 </#if>
143 </#list>
144 </#if>
145 <#if media.getData()?has_content>
146
147
148 <#if fileExtension=="pdf" || fileExtension=="PDF">
149 <a class="ml-2" href="${media.getData()}" target="blank"
150 style="order:1" onclick="trackDownload(event, '${file.fileName}')">
151 <li class="list-item list-inline-item d-flex flex-column">
152 <img src=${themeDisplay.getPathThemeImages()}/publications/pdf-svgrepo-com.svg
153 class="d-flex mx-auto align-self-center" />
154 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
155 </li>
156 </a>
157
158 <#elseif fileExtension=="xls" || fileExtension=="XLS" ||
159 fileExtension=="xlsx" || fileExtension=="XLSX">
160 <a class="ml-2" href="${media.getData()}" target="blank"
161 style="order:2" onclick="trackDownload(event, '${file.fileName}')">
162 <li class="list-item list-inline-item d-flex flex-column">
163
164 <img src=${themeDisplay.getPathThemeImages()}/publications/excel-svgrepo-com.svg
165 class="d-flex mx-auto align-self-center" />
166 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
167 </li>
168 </a>
169
170 <#else>
171
172 <a class="ml-2" href="${media.getData()}" target="blank"
173 style="order:3" onclick="trackDownload(event, '${file.fileName}')">
174 <li class="list-item list-inline-item d-flex flex-column">
175
176 <img src="/documents/d/guest/docx-1-"
177 class="d-flex mx-auto align-self-center" style="height:25px;" />
178 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
179
180 </li>
181 </a>
182
183 </#if>
184
185
186 </#if>
187 </#if>
188 </#if>
189 </#list>
190 </#if>
191 </div>
192 </div>
193 </div>
194
195
196
197<#break>
198
199 </#if>
200</#list>
201</#if>
202<style>.dates_inside_wrapper{
203
204display: flex;
205 gap: 5px;
206 align-items: center;
207 font-size: 13px;
208 flex-direction: row;
209 gap: 20px;
210}
211
212.dates_inside {
213
214 display: flex;
215 gap: 5px;
216 align-items: center;
217
218 padding: 4px 10px;
219 color: #616060;
220 border-radius: 5px;
221
222}
223.file-size{padding :5px;}</style>
224<script>
225<#assign JArticleTitle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
226<#assign JDisplayDate = JArticleTitle.getExpandoBridge().getAttribute("UIIssueDate")/>
227var dateString = '${JDisplayDate?string("yyyy-MM-dd")}';
228
229// Convert the string into a Date object
230var date = new Date(dateString);
231
232// Format the date to "dd MMM yyyy" (e.g., "02 Feb 2024")
233var formattedDate = date.toLocaleDateString('en-GB', {
234 day: '2-digit',
235 month: 'short',
236 year: 'numeric'
237});
238
239// Set the formatted date into the HTML
240document.querySelector('.publications-display').innerHTML = formattedDate;
241function trackDownload(event, fileName) {
242 console.log("INSIDE TRACKING DOWNLOADS");
243
244 // Check if fileName is correctly passed
245 if (fileName) {
246 console.log("File Name: " + fileName);
247 Analytics.track('trackPublicationDownloads', {
248 'fileName': fileName
249 });
250 } else {
251 console.log("Error: File name is missing or incorrect.");
252 }
253
254 console.log("INSIDE TRACKER");
255}
256</script>
احصاءات المباني المنجزة الربع الثاني 2024
الرقم القياسي لأسعار المستهلك-شهري يوليو 2024
إحصاءات سجل المصدرين والموردين الربع الثاني 2024
إحصاءات أسعار مواد البناء-شهري يوليو 2024
الرقم القياسي لأسعار الفنادق أغسطس 2024
الرقم القياسي لأسعار المستهلك-شهري أغسطس 2024
التجارة الخارجية غير النفطية عبر منافذ إمارة أبوظبي حسب النظام المنسق - شهري يونيو 2024
إحصاءات المناخ-شهري يونيو 2024
The following has evaluated to null or missing:
==> themeIconId [in template "20098#20124#2513884" at line 62, column 60]
----
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: ${themeIconId} [in template "20098#20124#2513884" at line 62, column 58]
----
1<div data-analytics-asset-type="document"
2 data-analytics-asset-id="publications-downloaded"
3 data-analytics-asset-title="Publications Downloaded"
4 data-analytics-asset-action="download">
5
6<#assign catLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")
7 JournalArticleService=serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")
8 resourcePrimKey=JournalArticleService.getArticleResourcePrimKey(groupId, .vars['reserved-article-id'].data)
9 articleCatNames=catLocalService.getCategories("com.liferay.journal.model.JournalArticle", resourcePrimKey)
10 dlFileEntryService=serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryService')
11 assetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")
12 dlAppLocalServiceUtil=staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
13 dlUtil=staticUtil["com.liferay.document.library.kernel.util.DLUtil"]
14 statisticVocabulary=assetVocabularyLocalService.getGroupVocabulary(groupId?long,"statistics")
15 assetCategoryPropService=serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
16 <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
17
18
19<#assign journalArticleTitle=.vars['reserved-article-title'].data />
20
21<#assign journalArticlele = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
22<#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("UIIssueDate")/>
23
24
25<#assign themeColor="d29c4b" imgUrl="${themeDisplay.getPathThemeImages()}/publications/005.jpg"
26 categoryDisplay="Economic" />
27<#if (articleCatNames?size > 0)>
28 <#list articleCatNames as category>
29 <#if category.parentCategoryId==0>
30 <#if category.getVocabularyId()==statisticVocabulary.getVocabularyId()>
31 <#assign assetThemeCategoryId=category.categoryId?long />
32 <#assign
33 themeColor=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_color").getValue()
34 themeIconId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_icon_id").getValue()
35 themeImgId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"portfolio-image").getValue() />
36
37 <#if themeImgId!="0">
38 <#assign imgDlFile=dlAppLocalServiceUtil.getFileEntry(themeImgId?number)
39 imgUrl=dlUtil.getPreviewURL(imgDlFile, imgDlFile.getFileVersion(), themeDisplay, '' ) />
40 </#if>
41 <#list category.name?split(" ") as catWords>
42 <#assign categoryDisplay = catWords/>
43 <#break>
44 </#list>
45 <#assign categoryDisplay = category.titleCurrentValue/>
46 </#if>
47 </#if>
48 </#list>
49
50 </#if>
51
52
53<#if file_upload.getSiblings()?has_content>
54
55 <#list file_upload.getSiblings() as medias>
56 <#if medias.getData()?has_content >
57
58 <div class=" row mb-3 mx-0 bg-white d-flex w-100 align-items-center h-100 border rounded">
59 <div class="col-lg-1 p-0 ">
60 <div class="icon d-flex text-center px-2 py-3" style="background: #eee">
61 <div class="align-self-center mx-auto d-flex flex-column">
62 <img src="/documents/d/guest/${themeIconId}" height="30">
63 <label class="small mx-auto mb-0" style="color: #${themeColor} ;">
64 ${categoryDisplay}
65 </label>
66 </div>
67 </div>
68 </div>
69
70 <div class="col-8">
71 <p class="mb-0 py-3 publication-p">${journalArticleTitle}</p>
72 <div class="dates_inside_wrapper">
73
74<div class="dates_inside">
75<img height="16" src="/documents/d/guest/release_icon" class="pe-2" style="filter: invert(1); padding-inline-end: 2px; padding-bottom:3px;">
76
77 <div>
78 Release Date: <#assign releaseArticle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
79 <#assign releaseDate = releaseArticle.getExpandoBridge().getAttribute("UIIssueDate")/>
80${releaseDate?string("yyyy-MM-dd")}
81 </div>
82 </div>
83 <#assign publicationArticle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
84<#assign revisionDate = publicationArticle.getExpandoBridge().getAttribute("revisionDate")/>
85 <#assign formattedRevDate = revisionDate?string("yyyy-MM-dd")>
86 <#if formattedRevDate != "1888-01-01">
87 <div class="dates_inside">
88 <img height="16" src="/documents/d/guest/revision_icon" class="pe-2" style="filter: invert(1); padding-inline-end: 2px; padding-bottom:3px;">
89
90<div>Revision Date:
91 ${revisionDate?string("yyyy-MM-dd")}
92 </div>
93 </div>
94 </#if>
95
96
97
98
99 </div>
100
101 <#assign articleId = .vars["reserved-article-id"].data?number>
102 <#if .vars['publicationNote']?? && .vars['publicationNote'].getData()?has_content>
103 <div class="dates_inside_wrapper p-1">
104 <img src="/documents/d/guest/information-circle-svgrepo-com" height="20" width="20">
105 ${.vars['publicationNote'].getData()}
106 </div>
107</#if>
108
109
110
111
112 </div>
113
114 <div class="col-3 d-flex align-items-center justify-content-end">
115
116
117 <div class="my-2 right-icons d-flex align-items-center ">
118 <#if file_upload.getSiblings()?has_content>
119 <#list file_upload.getSiblings() as media>
120 <#if media.getData()?has_content>
121
122 <#assign counter=0>
123 <#list "${media.getData()}" ?split("/") as mediaDataSplit>
124 <#if counter==5>
125 <#list mediaDataSplit?split("?") as uuId>
126 <#assign uuid=uuId />
127 <#break>
128 </#list>
129 </#if>
130 <#assign counter=counter+1>
131 </#list>
132 <#if uuid??>
133 <#assign file=dlFileEntryService.getFileEntryByUuidAndGroupId(uuid,groupId)>
134 <#assign fileExtension=file.extension>
135 <#assign fileSize = file.size >
136 <#assign fileSizeInMB = (file.size / 1024 / 1024)?string('0.##')>
137 <#if fileExtension=="">
138 <#list "${file.fileName}" ?split(".") as extention>
139 <#if extention?is_last>
140 <#assign fileExtension=extention>
141 <#break>
142 </#if>
143 </#list>
144 </#if>
145 <#if media.getData()?has_content>
146
147
148 <#if fileExtension=="pdf" || fileExtension=="PDF">
149 <a class="ml-2" href="${media.getData()}" target="blank"
150 style="order:1" onclick="trackDownload(event, '${file.fileName}')">
151 <li class="list-item list-inline-item d-flex flex-column">
152 <img src=${themeDisplay.getPathThemeImages()}/publications/pdf-svgrepo-com.svg
153 class="d-flex mx-auto align-self-center" />
154 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
155 </li>
156 </a>
157
158 <#elseif fileExtension=="xls" || fileExtension=="XLS" ||
159 fileExtension=="xlsx" || fileExtension=="XLSX">
160 <a class="ml-2" href="${media.getData()}" target="blank"
161 style="order:2" onclick="trackDownload(event, '${file.fileName}')">
162 <li class="list-item list-inline-item d-flex flex-column">
163
164 <img src=${themeDisplay.getPathThemeImages()}/publications/excel-svgrepo-com.svg
165 class="d-flex mx-auto align-self-center" />
166 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
167 </li>
168 </a>
169
170 <#else>
171
172 <a class="ml-2" href="${media.getData()}" target="blank"
173 style="order:3" onclick="trackDownload(event, '${file.fileName}')">
174 <li class="list-item list-inline-item d-flex flex-column">
175
176 <img src="/documents/d/guest/docx-1-"
177 class="d-flex mx-auto align-self-center" style="height:25px;" />
178 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
179
180 </li>
181 </a>
182
183 </#if>
184
185
186 </#if>
187 </#if>
188 </#if>
189 </#list>
190 </#if>
191 </div>
192 </div>
193 </div>
194
195
196
197<#break>
198
199 </#if>
200</#list>
201</#if>
202<style>.dates_inside_wrapper{
203
204display: flex;
205 gap: 5px;
206 align-items: center;
207 font-size: 13px;
208 flex-direction: row;
209 gap: 20px;
210}
211
212.dates_inside {
213
214 display: flex;
215 gap: 5px;
216 align-items: center;
217
218 padding: 4px 10px;
219 color: #616060;
220 border-radius: 5px;
221
222}
223.file-size{padding :5px;}</style>
224<script>
225<#assign JArticleTitle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
226<#assign JDisplayDate = JArticleTitle.getExpandoBridge().getAttribute("UIIssueDate")/>
227var dateString = '${JDisplayDate?string("yyyy-MM-dd")}';
228
229// Convert the string into a Date object
230var date = new Date(dateString);
231
232// Format the date to "dd MMM yyyy" (e.g., "02 Feb 2024")
233var formattedDate = date.toLocaleDateString('en-GB', {
234 day: '2-digit',
235 month: 'short',
236 year: 'numeric'
237});
238
239// Set the formatted date into the HTML
240document.querySelector('.publications-display').innerHTML = formattedDate;
241function trackDownload(event, fileName) {
242 console.log("INSIDE TRACKING DOWNLOADS");
243
244 // Check if fileName is correctly passed
245 if (fileName) {
246 console.log("File Name: " + fileName);
247 Analytics.track('trackPublicationDownloads', {
248 'fileName': fileName
249 });
250 } else {
251 console.log("Error: File name is missing or incorrect.");
252 }
253
254 console.log("INSIDE TRACKER");
255}
256</script>
The following has evaluated to null or missing:
==> themeIconId [in template "20098#20124#2513884" at line 62, column 60]
----
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: ${themeIconId} [in template "20098#20124#2513884" at line 62, column 58]
----
1<div data-analytics-asset-type="document"
2 data-analytics-asset-id="publications-downloaded"
3 data-analytics-asset-title="Publications Downloaded"
4 data-analytics-asset-action="download">
5
6<#assign catLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")
7 JournalArticleService=serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")
8 resourcePrimKey=JournalArticleService.getArticleResourcePrimKey(groupId, .vars['reserved-article-id'].data)
9 articleCatNames=catLocalService.getCategories("com.liferay.journal.model.JournalArticle", resourcePrimKey)
10 dlFileEntryService=serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryService')
11 assetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")
12 dlAppLocalServiceUtil=staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
13 dlUtil=staticUtil["com.liferay.document.library.kernel.util.DLUtil"]
14 statisticVocabulary=assetVocabularyLocalService.getGroupVocabulary(groupId?long,"statistics")
15 assetCategoryPropService=serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
16 <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
17
18
19<#assign journalArticleTitle=.vars['reserved-article-title'].data />
20
21<#assign journalArticlele = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
22<#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("UIIssueDate")/>
23
24
25<#assign themeColor="d29c4b" imgUrl="${themeDisplay.getPathThemeImages()}/publications/005.jpg"
26 categoryDisplay="Economic" />
27<#if (articleCatNames?size > 0)>
28 <#list articleCatNames as category>
29 <#if category.parentCategoryId==0>
30 <#if category.getVocabularyId()==statisticVocabulary.getVocabularyId()>
31 <#assign assetThemeCategoryId=category.categoryId?long />
32 <#assign
33 themeColor=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_color").getValue()
34 themeIconId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_icon_id").getValue()
35 themeImgId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"portfolio-image").getValue() />
36
37 <#if themeImgId!="0">
38 <#assign imgDlFile=dlAppLocalServiceUtil.getFileEntry(themeImgId?number)
39 imgUrl=dlUtil.getPreviewURL(imgDlFile, imgDlFile.getFileVersion(), themeDisplay, '' ) />
40 </#if>
41 <#list category.name?split(" ") as catWords>
42 <#assign categoryDisplay = catWords/>
43 <#break>
44 </#list>
45 <#assign categoryDisplay = category.titleCurrentValue/>
46 </#if>
47 </#if>
48 </#list>
49
50 </#if>
51
52
53<#if file_upload.getSiblings()?has_content>
54
55 <#list file_upload.getSiblings() as medias>
56 <#if medias.getData()?has_content >
57
58 <div class=" row mb-3 mx-0 bg-white d-flex w-100 align-items-center h-100 border rounded">
59 <div class="col-lg-1 p-0 ">
60 <div class="icon d-flex text-center px-2 py-3" style="background: #eee">
61 <div class="align-self-center mx-auto d-flex flex-column">
62 <img src="/documents/d/guest/${themeIconId}" height="30">
63 <label class="small mx-auto mb-0" style="color: #${themeColor} ;">
64 ${categoryDisplay}
65 </label>
66 </div>
67 </div>
68 </div>
69
70 <div class="col-8">
71 <p class="mb-0 py-3 publication-p">${journalArticleTitle}</p>
72 <div class="dates_inside_wrapper">
73
74<div class="dates_inside">
75<img height="16" src="/documents/d/guest/release_icon" class="pe-2" style="filter: invert(1); padding-inline-end: 2px; padding-bottom:3px;">
76
77 <div>
78 Release Date: <#assign releaseArticle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
79 <#assign releaseDate = releaseArticle.getExpandoBridge().getAttribute("UIIssueDate")/>
80${releaseDate?string("yyyy-MM-dd")}
81 </div>
82 </div>
83 <#assign publicationArticle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
84<#assign revisionDate = publicationArticle.getExpandoBridge().getAttribute("revisionDate")/>
85 <#assign formattedRevDate = revisionDate?string("yyyy-MM-dd")>
86 <#if formattedRevDate != "1888-01-01">
87 <div class="dates_inside">
88 <img height="16" src="/documents/d/guest/revision_icon" class="pe-2" style="filter: invert(1); padding-inline-end: 2px; padding-bottom:3px;">
89
90<div>Revision Date:
91 ${revisionDate?string("yyyy-MM-dd")}
92 </div>
93 </div>
94 </#if>
95
96
97
98
99 </div>
100
101 <#assign articleId = .vars["reserved-article-id"].data?number>
102 <#if .vars['publicationNote']?? && .vars['publicationNote'].getData()?has_content>
103 <div class="dates_inside_wrapper p-1">
104 <img src="/documents/d/guest/information-circle-svgrepo-com" height="20" width="20">
105 ${.vars['publicationNote'].getData()}
106 </div>
107</#if>
108
109
110
111
112 </div>
113
114 <div class="col-3 d-flex align-items-center justify-content-end">
115
116
117 <div class="my-2 right-icons d-flex align-items-center ">
118 <#if file_upload.getSiblings()?has_content>
119 <#list file_upload.getSiblings() as media>
120 <#if media.getData()?has_content>
121
122 <#assign counter=0>
123 <#list "${media.getData()}" ?split("/") as mediaDataSplit>
124 <#if counter==5>
125 <#list mediaDataSplit?split("?") as uuId>
126 <#assign uuid=uuId />
127 <#break>
128 </#list>
129 </#if>
130 <#assign counter=counter+1>
131 </#list>
132 <#if uuid??>
133 <#assign file=dlFileEntryService.getFileEntryByUuidAndGroupId(uuid,groupId)>
134 <#assign fileExtension=file.extension>
135 <#assign fileSize = file.size >
136 <#assign fileSizeInMB = (file.size / 1024 / 1024)?string('0.##')>
137 <#if fileExtension=="">
138 <#list "${file.fileName}" ?split(".") as extention>
139 <#if extention?is_last>
140 <#assign fileExtension=extention>
141 <#break>
142 </#if>
143 </#list>
144 </#if>
145 <#if media.getData()?has_content>
146
147
148 <#if fileExtension=="pdf" || fileExtension=="PDF">
149 <a class="ml-2" href="${media.getData()}" target="blank"
150 style="order:1" onclick="trackDownload(event, '${file.fileName}')">
151 <li class="list-item list-inline-item d-flex flex-column">
152 <img src=${themeDisplay.getPathThemeImages()}/publications/pdf-svgrepo-com.svg
153 class="d-flex mx-auto align-self-center" />
154 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
155 </li>
156 </a>
157
158 <#elseif fileExtension=="xls" || fileExtension=="XLS" ||
159 fileExtension=="xlsx" || fileExtension=="XLSX">
160 <a class="ml-2" href="${media.getData()}" target="blank"
161 style="order:2" onclick="trackDownload(event, '${file.fileName}')">
162 <li class="list-item list-inline-item d-flex flex-column">
163
164 <img src=${themeDisplay.getPathThemeImages()}/publications/excel-svgrepo-com.svg
165 class="d-flex mx-auto align-self-center" />
166 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
167 </li>
168 </a>
169
170 <#else>
171
172 <a class="ml-2" href="${media.getData()}" target="blank"
173 style="order:3" onclick="trackDownload(event, '${file.fileName}')">
174 <li class="list-item list-inline-item d-flex flex-column">
175
176 <img src="/documents/d/guest/docx-1-"
177 class="d-flex mx-auto align-self-center" style="height:25px;" />
178 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
179
180 </li>
181 </a>
182
183 </#if>
184
185
186 </#if>
187 </#if>
188 </#if>
189 </#list>
190 </#if>
191 </div>
192 </div>
193 </div>
194
195
196
197<#break>
198
199 </#if>
200</#list>
201</#if>
202<style>.dates_inside_wrapper{
203
204display: flex;
205 gap: 5px;
206 align-items: center;
207 font-size: 13px;
208 flex-direction: row;
209 gap: 20px;
210}
211
212.dates_inside {
213
214 display: flex;
215 gap: 5px;
216 align-items: center;
217
218 padding: 4px 10px;
219 color: #616060;
220 border-radius: 5px;
221
222}
223.file-size{padding :5px;}</style>
224<script>
225<#assign JArticleTitle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
226<#assign JDisplayDate = JArticleTitle.getExpandoBridge().getAttribute("UIIssueDate")/>
227var dateString = '${JDisplayDate?string("yyyy-MM-dd")}';
228
229// Convert the string into a Date object
230var date = new Date(dateString);
231
232// Format the date to "dd MMM yyyy" (e.g., "02 Feb 2024")
233var formattedDate = date.toLocaleDateString('en-GB', {
234 day: '2-digit',
235 month: 'short',
236 year: 'numeric'
237});
238
239// Set the formatted date into the HTML
240document.querySelector('.publications-display').innerHTML = formattedDate;
241function trackDownload(event, fileName) {
242 console.log("INSIDE TRACKING DOWNLOADS");
243
244 // Check if fileName is correctly passed
245 if (fileName) {
246 console.log("File Name: " + fileName);
247 Analytics.track('trackPublicationDownloads', {
248 'fileName': fileName
249 });
250 } else {
251 console.log("Error: File name is missing or incorrect.");
252 }
253
254 console.log("INSIDE TRACKER");
255}
256</script>
التجارة الخارجية غير النفطية عبر منافذ إمارة أبوظبي حسب النظام المنسق - شهري مايو 2024
الرقم القياسي لأسعار المستهلك-ربع سنوي الربع الثاني 2024
إحصاءات أسعار مواد البناء-شهري يونيو 2024
الرقم القياسي لأسعار المستهلك-شهري يونيو 2024
إحصاءات المناخ-شهري مايو 2024
هل وجدت هذا المحتوى مفيدًا؟
يسعدنا أن نتلقى ملاحظاتك حتى نتمكن من تحسين تجربتك.