Ministry of Foreign Affairs
مسار التنقل
وزارة الخارجية
وزارة الخارجية
شريط البحث
المحتوى الأخيرة
Popular services
ناشر الأصول
Documents
ناشر الأصول
The following has evaluated to null or missing: ==> andKey [in template "70645677960193#20119#73365" at line 27, column 29] ---- 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: #assign matchedKey = " " + andKey + " " [in template "70645677960193#20119#73365" at line 27, column 3] ----
1<#assign vocabLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") />
2 <#assign categoryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
3
4 <#assign constVocabOfEntity="Content Type" />
5 <#assign monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] />
6 <#assign arabicMonthArr = ['ديسمبر', 'نوفمبر', 'أكتوبر', 'سبتمبر', 'أغسطس', 'يوليو', 'يونيو', 'يمكن', 'أبريل', 'مارس', 'فبراير', 'يناير']>
7 <#assign searchURL="" />
8 <#assign contentTypeURL="" />
9 <#assign documentURL="" />
10 <#assign catName="" />
11 <#assign addedContentTypeCategories = [] />
12
13 <#list portletPreferences?keys as preference>
14 <#if portletPreferences[preference] ??>
15 <#assign mapValues = portletPreferences[preference] />
16 <#list mapValues as value >
17 <#if preference == "queryValues0">
18 <#assign documentURL = documentURL + "document=" + value + "&" />
19 <#assign categoryObject = categoryLocalService.getCategory(value?number) />
20 <#assign categoryName = categoryObject.getTitle(locale) />
21 <#assign andKey = languageUtil.get(locale,"gup-and") />
22 <#assign catName = catName + categoryName + " " + andKey + " " />
23 </#if>
24 </#list>
25 </#if>
26 </#list>
27 <#assign matchedKey = " "+andKey+" " />
28 <#if catName?ends_with(matchedKey)>
29 <#if themeDisplay.getLanguageId() == "en_US">
30 <#assign catNameString = catName?substring(0, catName?length - 5)>
31 <#else>
32 <#assign catNameString = catName?substring(0, catName?length - 3)>
33 </#if>
34 <#else>
35 <#assign catNameString = catName>
36</#if>
37
38<#if entries?has_content>
39 <div class="document-ministry-warpper card-without-image">
40 <div class="document-ministry-list card-body">
41 <h3 class="h5">${catNameString}</h3>
42 <ul class="list-unstyled pl-0 mb-0">
43 <#list entries as curEntry>
44 <#assign
45 assetRenderer = curEntry.getAssetRenderer()
46 fileEntry = assetRenderer.getAssetObject()
47 />
48
49 <#assign fields = curEntry.getAssetRenderer().getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValues()/>
50
51 <#assign fileEntryURL = themeDisplay.getPathContext() + "/documents/" + fileEntry.getRepositoryId()?c + "/" + fileEntry.getFolderId()?c + "/" + urlCodec.encodeURL(htmlUtil.unescape(fileEntry.getTitle()), true) + "/" + fileEntry.getUuid() />
52 <li class="mb-3">
53
54 <div class="card-title-wrapper">
55 <a class="d-flex" href="${fileEntryURL}" download="true">
56 <i class="ri-download-2-fill"></i>
57 <#if (fields?size gt 0)>
58 <#assign fileName = fields[0].getValue().getString(locale) />
59 <#assign truncatedText = fileName?substring(0, (fileName?length > 60)?then(60, fileName?length))>
60 <h4 class="h6"> ${truncatedText}<#if fileName?length gt 60>...</#if></h4>
61 <#else>
62 <#if (fileEntry.title)??>
63 <#assign text= fileEntry.title />
64 <#assign truncatedText = text?substring(0, (text?length > 60)?then(60, text?length))>
65 <h4 class="h6"> ${truncatedText}<#if text?length gt 60>...</#if></h4>
66 </#if>
67 </#if>
68 </a>
69 </div>
70 <div class="doc-content card-description mb-2">
71
72 <#if (fields?size gt 0) && fields[1]?? && fields[1].getValue().getString(locale) != "">
73 <#assign fileDescription = fields[1].getValue().getString(locale) />
74 <#assign truncatedText = fileDescription?substring(0, (fileDescription?length > 60)?then(60, fileDescription?length))>
75 <h4 class="h6"> ${truncatedText}<#if fileDescription?length gt 60>...</#if></h4>
76 <#else>
77 <#if fileEntry.description?has_content>
78 <#if (fileEntry.description)??>
79 <#assign text= fileEntry.description />
80 <#assign truncatedText = text?substring(0, (text?length > 60)?then(60, text?length))>
81 ${truncatedText}<#if text?length gt 60>...</#if>,
82 </#if>
83 </#if>
84 </#if>
85
86 <#if fileEntry.description?has_content>
87 <#if (fileEntry.description)??>
88 <#assign text= fileEntry.description />
89 <#assign truncatedText = text?substring(0, (text?length > 60)?then(60, text?length))>
90 ${truncatedText}<#if text?length gt 60>...</#if>,
91 </#if>
92 </#if>
93 <span>
94
95 ${fileEntry.extension},
96 </span>
97 <#assign fileSizeInKB = (fileEntry.size / 1024)?string("0") />
98 ${fileSizeInKB} ${languageUtil.get(locale,"storage.size.suffix.kb")}
99 </div>
100 <div class="doc-bottom card-description d-flex mb-3">
101 <#assign dateString = fileEntry.createDate?string("yyyy-MM-dd")>
102 <#assign year = dateString?split("-")[0]>
103 <#assign monthIndex = dateString?split("-")[1]?number - 1>
104 <#assign day = dateString?split("-")[2]>
105 <#assign currentLocale = locale.language>
106 <#if currentLocale == "ar">
107 <#assign monthName = arabicMonthArr[monthIndex]>
108 <#else>
109 <#assign monthName = monthArr[monthIndex]>
110 </#if>
111 <div class="doc-date">${monthName} ${day}, ${year}</div>
112 <div class="doc-categoty">
113 <#list curEntry.categories as category>
114 <#assign vocabName = vocabLocalService.getVocabulary(category.vocabularyId).getTitle("en_US") />
115 <#assign vocabId = vocabLocalService.getVocabulary(category.vocabularyId) />
116 <#assign categoryName = category.getTitle(themeDisplay.getLocale()) />
117
118 <#if vocabName == constVocabOfEntity>
119 <#if (addedContentTypeCategories?seq_contains(category.categoryId)?c) == "false">
120 <#assign contentTypeURL = contentTypeURL + "content-type=" + category.categoryId + "&" />
121 <#assign addedContentTypeCategories = addedContentTypeCategories + [category.categoryId] />
122 </#if>
123 <#else>
124 <#if (category.name)?? && vocabName != "Entity">
125 <#assign text= categoryName />
126 <#assign truncatedText = text?substring(0, (text?length > 60)?then(60, text?length))>
127 <span class="asset-category"> ${truncatedText}<#if text?length gt 60>...</#if></span>
128 </#if>
129 </#if>
130 </#list>
131 </div>
132 </div>
133 </li>
134 </#list>
135 <#assign searchURL="search?" + contentTypeURL + documentURL />
136 <#if searchURL?ends_with("&")>
137 <#assign searchURLString = searchURL?substring(0, searchURL?length - 1)>
138 <#else>
139 <#assign searchURLString = searchURL>
140 </#if>
141 </ul>
142 </div>
143 </div>
144</#if>
145
146
147
148<script>
149$(document).ready(function() {
150 var child = $('.document-ministry-warpper');
151
152 if (child.length > 0) {
153 var parent = child.parent();
154
155 while (parent.length > 0 && !parent.hasClass('lfr-layout-structure-item-row')) {
156 parent = parent.parent();
157 }
158
159 if (parent.length > 0 && !parent.hasClass('document-section')) {
160 parent.addClass('document-section');
161 }
162 }
163
164
165});
166</script>
167
168<style>
169 @media (min-width: 768px) {
170.lfr-layout-structure-item-row.document-section .row.align-items-lg-start.align-items-sm-start{
171 display:grid;
172 grid-template-columns: 1fr 1fr;
173 height:100%
174 }
175 .lfr-layout-structure-item-row.document-section .row.align-items-lg-start.align-items-sm-start div,
176 .lfr-layout-structure-item-row.document-section .row.align-items-lg-start.align-items-sm-start section{
177 height:100%
178 }
179 .lfr-layout-structure-item-row.document-section .row.align-items-lg-start.align-items-sm-start .col.col-lg-6.col-sm-12{
180 max-width:100%;
181 }
182 }
183 .document-ministry-warpper .document-ministry-list li:last-child{
184 margin-bottom:0 !important;
185 }
186 .document-ministry-list {
187 display:block !important;
188 }
189</style>
ناشر الأصول
The following has evaluated to null or missing: ==> andKey [in template "70645677960193#20119#73365" at line 27, column 29] ---- 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: #assign matchedKey = " " + andKey + " " [in template "70645677960193#20119#73365" at line 27, column 3] ----
1<#assign vocabLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") />
2 <#assign categoryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
3
4 <#assign constVocabOfEntity="Content Type" />
5 <#assign monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] />
6 <#assign arabicMonthArr = ['ديسمبر', 'نوفمبر', 'أكتوبر', 'سبتمبر', 'أغسطس', 'يوليو', 'يونيو', 'يمكن', 'أبريل', 'مارس', 'فبراير', 'يناير']>
7 <#assign searchURL="" />
8 <#assign contentTypeURL="" />
9 <#assign documentURL="" />
10 <#assign catName="" />
11 <#assign addedContentTypeCategories = [] />
12
13 <#list portletPreferences?keys as preference>
14 <#if portletPreferences[preference] ??>
15 <#assign mapValues = portletPreferences[preference] />
16 <#list mapValues as value >
17 <#if preference == "queryValues0">
18 <#assign documentURL = documentURL + "document=" + value + "&" />
19 <#assign categoryObject = categoryLocalService.getCategory(value?number) />
20 <#assign categoryName = categoryObject.getTitle(locale) />
21 <#assign andKey = languageUtil.get(locale,"gup-and") />
22 <#assign catName = catName + categoryName + " " + andKey + " " />
23 </#if>
24 </#list>
25 </#if>
26 </#list>
27 <#assign matchedKey = " "+andKey+" " />
28 <#if catName?ends_with(matchedKey)>
29 <#if themeDisplay.getLanguageId() == "en_US">
30 <#assign catNameString = catName?substring(0, catName?length - 5)>
31 <#else>
32 <#assign catNameString = catName?substring(0, catName?length - 3)>
33 </#if>
34 <#else>
35 <#assign catNameString = catName>
36</#if>
37
38<#if entries?has_content>
39 <div class="document-ministry-warpper card-without-image">
40 <div class="document-ministry-list card-body">
41 <h3 class="h5">${catNameString}</h3>
42 <ul class="list-unstyled pl-0 mb-0">
43 <#list entries as curEntry>
44 <#assign
45 assetRenderer = curEntry.getAssetRenderer()
46 fileEntry = assetRenderer.getAssetObject()
47 />
48
49 <#assign fields = curEntry.getAssetRenderer().getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValues()/>
50
51 <#assign fileEntryURL = themeDisplay.getPathContext() + "/documents/" + fileEntry.getRepositoryId()?c + "/" + fileEntry.getFolderId()?c + "/" + urlCodec.encodeURL(htmlUtil.unescape(fileEntry.getTitle()), true) + "/" + fileEntry.getUuid() />
52 <li class="mb-3">
53
54 <div class="card-title-wrapper">
55 <a class="d-flex" href="${fileEntryURL}" download="true">
56 <i class="ri-download-2-fill"></i>
57 <#if (fields?size gt 0)>
58 <#assign fileName = fields[0].getValue().getString(locale) />
59 <#assign truncatedText = fileName?substring(0, (fileName?length > 60)?then(60, fileName?length))>
60 <h4 class="h6"> ${truncatedText}<#if fileName?length gt 60>...</#if></h4>
61 <#else>
62 <#if (fileEntry.title)??>
63 <#assign text= fileEntry.title />
64 <#assign truncatedText = text?substring(0, (text?length > 60)?then(60, text?length))>
65 <h4 class="h6"> ${truncatedText}<#if text?length gt 60>...</#if></h4>
66 </#if>
67 </#if>
68 </a>
69 </div>
70 <div class="doc-content card-description mb-2">
71
72 <#if (fields?size gt 0) && fields[1]?? && fields[1].getValue().getString(locale) != "">
73 <#assign fileDescription = fields[1].getValue().getString(locale) />
74 <#assign truncatedText = fileDescription?substring(0, (fileDescription?length > 60)?then(60, fileDescription?length))>
75 <h4 class="h6"> ${truncatedText}<#if fileDescription?length gt 60>...</#if></h4>
76 <#else>
77 <#if fileEntry.description?has_content>
78 <#if (fileEntry.description)??>
79 <#assign text= fileEntry.description />
80 <#assign truncatedText = text?substring(0, (text?length > 60)?then(60, text?length))>
81 ${truncatedText}<#if text?length gt 60>...</#if>,
82 </#if>
83 </#if>
84 </#if>
85
86 <#if fileEntry.description?has_content>
87 <#if (fileEntry.description)??>
88 <#assign text= fileEntry.description />
89 <#assign truncatedText = text?substring(0, (text?length > 60)?then(60, text?length))>
90 ${truncatedText}<#if text?length gt 60>...</#if>,
91 </#if>
92 </#if>
93 <span>
94
95 ${fileEntry.extension},
96 </span>
97 <#assign fileSizeInKB = (fileEntry.size / 1024)?string("0") />
98 ${fileSizeInKB} ${languageUtil.get(locale,"storage.size.suffix.kb")}
99 </div>
100 <div class="doc-bottom card-description d-flex mb-3">
101 <#assign dateString = fileEntry.createDate?string("yyyy-MM-dd")>
102 <#assign year = dateString?split("-")[0]>
103 <#assign monthIndex = dateString?split("-")[1]?number - 1>
104 <#assign day = dateString?split("-")[2]>
105 <#assign currentLocale = locale.language>
106 <#if currentLocale == "ar">
107 <#assign monthName = arabicMonthArr[monthIndex]>
108 <#else>
109 <#assign monthName = monthArr[monthIndex]>
110 </#if>
111 <div class="doc-date">${monthName} ${day}, ${year}</div>
112 <div class="doc-categoty">
113 <#list curEntry.categories as category>
114 <#assign vocabName = vocabLocalService.getVocabulary(category.vocabularyId).getTitle("en_US") />
115 <#assign vocabId = vocabLocalService.getVocabulary(category.vocabularyId) />
116 <#assign categoryName = category.getTitle(themeDisplay.getLocale()) />
117
118 <#if vocabName == constVocabOfEntity>
119 <#if (addedContentTypeCategories?seq_contains(category.categoryId)?c) == "false">
120 <#assign contentTypeURL = contentTypeURL + "content-type=" + category.categoryId + "&" />
121 <#assign addedContentTypeCategories = addedContentTypeCategories + [category.categoryId] />
122 </#if>
123 <#else>
124 <#if (category.name)?? && vocabName != "Entity">
125 <#assign text= categoryName />
126 <#assign truncatedText = text?substring(0, (text?length > 60)?then(60, text?length))>
127 <span class="asset-category"> ${truncatedText}<#if text?length gt 60>...</#if></span>
128 </#if>
129 </#if>
130 </#list>
131 </div>
132 </div>
133 </li>
134 </#list>
135 <#assign searchURL="search?" + contentTypeURL + documentURL />
136 <#if searchURL?ends_with("&")>
137 <#assign searchURLString = searchURL?substring(0, searchURL?length - 1)>
138 <#else>
139 <#assign searchURLString = searchURL>
140 </#if>
141 </ul>
142 </div>
143 </div>
144</#if>
145
146
147
148<script>
149$(document).ready(function() {
150 var child = $('.document-ministry-warpper');
151
152 if (child.length > 0) {
153 var parent = child.parent();
154
155 while (parent.length > 0 && !parent.hasClass('lfr-layout-structure-item-row')) {
156 parent = parent.parent();
157 }
158
159 if (parent.length > 0 && !parent.hasClass('document-section')) {
160 parent.addClass('document-section');
161 }
162 }
163
164
165});
166</script>
167
168<style>
169 @media (min-width: 768px) {
170.lfr-layout-structure-item-row.document-section .row.align-items-lg-start.align-items-sm-start{
171 display:grid;
172 grid-template-columns: 1fr 1fr;
173 height:100%
174 }
175 .lfr-layout-structure-item-row.document-section .row.align-items-lg-start.align-items-sm-start div,
176 .lfr-layout-structure-item-row.document-section .row.align-items-lg-start.align-items-sm-start section{
177 height:100%
178 }
179 .lfr-layout-structure-item-row.document-section .row.align-items-lg-start.align-items-sm-start .col.col-lg-6.col-sm-12{
180 max-width:100%;
181 }
182 }
183 .document-ministry-warpper .document-ministry-list li:last-child{
184 margin-bottom:0 !important;
185 }
186 .document-ministry-list {
187 display:block !important;
188 }
189</style>
ناشر الأصول
The following has evaluated to null or missing: ==> andKey [in template "70645677960193#20119#73365" at line 27, column 29] ---- 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: #assign matchedKey = " " + andKey + " " [in template "70645677960193#20119#73365" at line 27, column 3] ----
1<#assign vocabLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") />
2 <#assign categoryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
3
4 <#assign constVocabOfEntity="Content Type" />
5 <#assign monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] />
6 <#assign arabicMonthArr = ['ديسمبر', 'نوفمبر', 'أكتوبر', 'سبتمبر', 'أغسطس', 'يوليو', 'يونيو', 'يمكن', 'أبريل', 'مارس', 'فبراير', 'يناير']>
7 <#assign searchURL="" />
8 <#assign contentTypeURL="" />
9 <#assign documentURL="" />
10 <#assign catName="" />
11 <#assign addedContentTypeCategories = [] />
12
13 <#list portletPreferences?keys as preference>
14 <#if portletPreferences[preference] ??>
15 <#assign mapValues = portletPreferences[preference] />
16 <#list mapValues as value >
17 <#if preference == "queryValues0">
18 <#assign documentURL = documentURL + "document=" + value + "&" />
19 <#assign categoryObject = categoryLocalService.getCategory(value?number) />
20 <#assign categoryName = categoryObject.getTitle(locale) />
21 <#assign andKey = languageUtil.get(locale,"gup-and") />
22 <#assign catName = catName + categoryName + " " + andKey + " " />
23 </#if>
24 </#list>
25 </#if>
26 </#list>
27 <#assign matchedKey = " "+andKey+" " />
28 <#if catName?ends_with(matchedKey)>
29 <#if themeDisplay.getLanguageId() == "en_US">
30 <#assign catNameString = catName?substring(0, catName?length - 5)>
31 <#else>
32 <#assign catNameString = catName?substring(0, catName?length - 3)>
33 </#if>
34 <#else>
35 <#assign catNameString = catName>
36</#if>
37
38<#if entries?has_content>
39 <div class="document-ministry-warpper card-without-image">
40 <div class="document-ministry-list card-body">
41 <h3 class="h5">${catNameString}</h3>
42 <ul class="list-unstyled pl-0 mb-0">
43 <#list entries as curEntry>
44 <#assign
45 assetRenderer = curEntry.getAssetRenderer()
46 fileEntry = assetRenderer.getAssetObject()
47 />
48
49 <#assign fields = curEntry.getAssetRenderer().getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValues()/>
50
51 <#assign fileEntryURL = themeDisplay.getPathContext() + "/documents/" + fileEntry.getRepositoryId()?c + "/" + fileEntry.getFolderId()?c + "/" + urlCodec.encodeURL(htmlUtil.unescape(fileEntry.getTitle()), true) + "/" + fileEntry.getUuid() />
52 <li class="mb-3">
53
54 <div class="card-title-wrapper">
55 <a class="d-flex" href="${fileEntryURL}" download="true">
56 <i class="ri-download-2-fill"></i>
57 <#if (fields?size gt 0)>
58 <#assign fileName = fields[0].getValue().getString(locale) />
59 <#assign truncatedText = fileName?substring(0, (fileName?length > 60)?then(60, fileName?length))>
60 <h4 class="h6"> ${truncatedText}<#if fileName?length gt 60>...</#if></h4>
61 <#else>
62 <#if (fileEntry.title)??>
63 <#assign text= fileEntry.title />
64 <#assign truncatedText = text?substring(0, (text?length > 60)?then(60, text?length))>
65 <h4 class="h6"> ${truncatedText}<#if text?length gt 60>...</#if></h4>
66 </#if>
67 </#if>
68 </a>
69 </div>
70 <div class="doc-content card-description mb-2">
71
72 <#if (fields?size gt 0) && fields[1]?? && fields[1].getValue().getString(locale) != "">
73 <#assign fileDescription = fields[1].getValue().getString(locale) />
74 <#assign truncatedText = fileDescription?substring(0, (fileDescription?length > 60)?then(60, fileDescription?length))>
75 <h4 class="h6"> ${truncatedText}<#if fileDescription?length gt 60>...</#if></h4>
76 <#else>
77 <#if fileEntry.description?has_content>
78 <#if (fileEntry.description)??>
79 <#assign text= fileEntry.description />
80 <#assign truncatedText = text?substring(0, (text?length > 60)?then(60, text?length))>
81 ${truncatedText}<#if text?length gt 60>...</#if>,
82 </#if>
83 </#if>
84 </#if>
85
86 <#if fileEntry.description?has_content>
87 <#if (fileEntry.description)??>
88 <#assign text= fileEntry.description />
89 <#assign truncatedText = text?substring(0, (text?length > 60)?then(60, text?length))>
90 ${truncatedText}<#if text?length gt 60>...</#if>,
91 </#if>
92 </#if>
93 <span>
94
95 ${fileEntry.extension},
96 </span>
97 <#assign fileSizeInKB = (fileEntry.size / 1024)?string("0") />
98 ${fileSizeInKB} ${languageUtil.get(locale,"storage.size.suffix.kb")}
99 </div>
100 <div class="doc-bottom card-description d-flex mb-3">
101 <#assign dateString = fileEntry.createDate?string("yyyy-MM-dd")>
102 <#assign year = dateString?split("-")[0]>
103 <#assign monthIndex = dateString?split("-")[1]?number - 1>
104 <#assign day = dateString?split("-")[2]>
105 <#assign currentLocale = locale.language>
106 <#if currentLocale == "ar">
107 <#assign monthName = arabicMonthArr[monthIndex]>
108 <#else>
109 <#assign monthName = monthArr[monthIndex]>
110 </#if>
111 <div class="doc-date">${monthName} ${day}, ${year}</div>
112 <div class="doc-categoty">
113 <#list curEntry.categories as category>
114 <#assign vocabName = vocabLocalService.getVocabulary(category.vocabularyId).getTitle("en_US") />
115 <#assign vocabId = vocabLocalService.getVocabulary(category.vocabularyId) />
116 <#assign categoryName = category.getTitle(themeDisplay.getLocale()) />
117
118 <#if vocabName == constVocabOfEntity>
119 <#if (addedContentTypeCategories?seq_contains(category.categoryId)?c) == "false">
120 <#assign contentTypeURL = contentTypeURL + "content-type=" + category.categoryId + "&" />
121 <#assign addedContentTypeCategories = addedContentTypeCategories + [category.categoryId] />
122 </#if>
123 <#else>
124 <#if (category.name)?? && vocabName != "Entity">
125 <#assign text= categoryName />
126 <#assign truncatedText = text?substring(0, (text?length > 60)?then(60, text?length))>
127 <span class="asset-category"> ${truncatedText}<#if text?length gt 60>...</#if></span>
128 </#if>
129 </#if>
130 </#list>
131 </div>
132 </div>
133 </li>
134 </#list>
135 <#assign searchURL="search?" + contentTypeURL + documentURL />
136 <#if searchURL?ends_with("&")>
137 <#assign searchURLString = searchURL?substring(0, searchURL?length - 1)>
138 <#else>
139 <#assign searchURLString = searchURL>
140 </#if>
141 </ul>
142 </div>
143 </div>
144</#if>
145
146
147
148<script>
149$(document).ready(function() {
150 var child = $('.document-ministry-warpper');
151
152 if (child.length > 0) {
153 var parent = child.parent();
154
155 while (parent.length > 0 && !parent.hasClass('lfr-layout-structure-item-row')) {
156 parent = parent.parent();
157 }
158
159 if (parent.length > 0 && !parent.hasClass('document-section')) {
160 parent.addClass('document-section');
161 }
162 }
163
164
165});
166</script>
167
168<style>
169 @media (min-width: 768px) {
170.lfr-layout-structure-item-row.document-section .row.align-items-lg-start.align-items-sm-start{
171 display:grid;
172 grid-template-columns: 1fr 1fr;
173 height:100%
174 }
175 .lfr-layout-structure-item-row.document-section .row.align-items-lg-start.align-items-sm-start div,
176 .lfr-layout-structure-item-row.document-section .row.align-items-lg-start.align-items-sm-start section{
177 height:100%
178 }
179 .lfr-layout-structure-item-row.document-section .row.align-items-lg-start.align-items-sm-start .col.col-lg-6.col-sm-12{
180 max-width:100%;
181 }
182 }
183 .document-ministry-warpper .document-ministry-list li:last-child{
184 margin-bottom:0 !important;
185 }
186 .document-ministry-list {
187 display:block !important;
188 }
189</style>
ناشر الأصول
The following has evaluated to null or missing: ==> andKey [in template "70645677960193#20119#73365" at line 27, column 29] ---- 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: #assign matchedKey = " " + andKey + " " [in template "70645677960193#20119#73365" at line 27, column 3] ----
1<#assign vocabLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") />
2 <#assign categoryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
3
4 <#assign constVocabOfEntity="Content Type" />
5 <#assign monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] />
6 <#assign arabicMonthArr = ['ديسمبر', 'نوفمبر', 'أكتوبر', 'سبتمبر', 'أغسطس', 'يوليو', 'يونيو', 'يمكن', 'أبريل', 'مارس', 'فبراير', 'يناير']>
7 <#assign searchURL="" />
8 <#assign contentTypeURL="" />
9 <#assign documentURL="" />
10 <#assign catName="" />
11 <#assign addedContentTypeCategories = [] />
12
13 <#list portletPreferences?keys as preference>
14 <#if portletPreferences[preference] ??>
15 <#assign mapValues = portletPreferences[preference] />
16 <#list mapValues as value >
17 <#if preference == "queryValues0">
18 <#assign documentURL = documentURL + "document=" + value + "&" />
19 <#assign categoryObject = categoryLocalService.getCategory(value?number) />
20 <#assign categoryName = categoryObject.getTitle(locale) />
21 <#assign andKey = languageUtil.get(locale,"gup-and") />
22 <#assign catName = catName + categoryName + " " + andKey + " " />
23 </#if>
24 </#list>
25 </#if>
26 </#list>
27 <#assign matchedKey = " "+andKey+" " />
28 <#if catName?ends_with(matchedKey)>
29 <#if themeDisplay.getLanguageId() == "en_US">
30 <#assign catNameString = catName?substring(0, catName?length - 5)>
31 <#else>
32 <#assign catNameString = catName?substring(0, catName?length - 3)>
33 </#if>
34 <#else>
35 <#assign catNameString = catName>
36</#if>
37
38<#if entries?has_content>
39 <div class="document-ministry-warpper card-without-image">
40 <div class="document-ministry-list card-body">
41 <h3 class="h5">${catNameString}</h3>
42 <ul class="list-unstyled pl-0 mb-0">
43 <#list entries as curEntry>
44 <#assign
45 assetRenderer = curEntry.getAssetRenderer()
46 fileEntry = assetRenderer.getAssetObject()
47 />
48
49 <#assign fields = curEntry.getAssetRenderer().getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValues()/>
50
51 <#assign fileEntryURL = themeDisplay.getPathContext() + "/documents/" + fileEntry.getRepositoryId()?c + "/" + fileEntry.getFolderId()?c + "/" + urlCodec.encodeURL(htmlUtil.unescape(fileEntry.getTitle()), true) + "/" + fileEntry.getUuid() />
52 <li class="mb-3">
53
54 <div class="card-title-wrapper">
55 <a class="d-flex" href="${fileEntryURL}" download="true">
56 <i class="ri-download-2-fill"></i>
57 <#if (fields?size gt 0)>
58 <#assign fileName = fields[0].getValue().getString(locale) />
59 <#assign truncatedText = fileName?substring(0, (fileName?length > 60)?then(60, fileName?length))>
60 <h4 class="h6"> ${truncatedText}<#if fileName?length gt 60>...</#if></h4>
61 <#else>
62 <#if (fileEntry.title)??>
63 <#assign text= fileEntry.title />
64 <#assign truncatedText = text?substring(0, (text?length > 60)?then(60, text?length))>
65 <h4 class="h6"> ${truncatedText}<#if text?length gt 60>...</#if></h4>
66 </#if>
67 </#if>
68 </a>
69 </div>
70 <div class="doc-content card-description mb-2">
71
72 <#if (fields?size gt 0) && fields[1]?? && fields[1].getValue().getString(locale) != "">
73 <#assign fileDescription = fields[1].getValue().getString(locale) />
74 <#assign truncatedText = fileDescription?substring(0, (fileDescription?length > 60)?then(60, fileDescription?length))>
75 <h4 class="h6"> ${truncatedText}<#if fileDescription?length gt 60>...</#if></h4>
76 <#else>
77 <#if fileEntry.description?has_content>
78 <#if (fileEntry.description)??>
79 <#assign text= fileEntry.description />
80 <#assign truncatedText = text?substring(0, (text?length > 60)?then(60, text?length))>
81 ${truncatedText}<#if text?length gt 60>...</#if>,
82 </#if>
83 </#if>
84 </#if>
85
86 <#if fileEntry.description?has_content>
87 <#if (fileEntry.description)??>
88 <#assign text= fileEntry.description />
89 <#assign truncatedText = text?substring(0, (text?length > 60)?then(60, text?length))>
90 ${truncatedText}<#if text?length gt 60>...</#if>,
91 </#if>
92 </#if>
93 <span>
94
95 ${fileEntry.extension},
96 </span>
97 <#assign fileSizeInKB = (fileEntry.size / 1024)?string("0") />
98 ${fileSizeInKB} ${languageUtil.get(locale,"storage.size.suffix.kb")}
99 </div>
100 <div class="doc-bottom card-description d-flex mb-3">
101 <#assign dateString = fileEntry.createDate?string("yyyy-MM-dd")>
102 <#assign year = dateString?split("-")[0]>
103 <#assign monthIndex = dateString?split("-")[1]?number - 1>
104 <#assign day = dateString?split("-")[2]>
105 <#assign currentLocale = locale.language>
106 <#if currentLocale == "ar">
107 <#assign monthName = arabicMonthArr[monthIndex]>
108 <#else>
109 <#assign monthName = monthArr[monthIndex]>
110 </#if>
111 <div class="doc-date">${monthName} ${day}, ${year}</div>
112 <div class="doc-categoty">
113 <#list curEntry.categories as category>
114 <#assign vocabName = vocabLocalService.getVocabulary(category.vocabularyId).getTitle("en_US") />
115 <#assign vocabId = vocabLocalService.getVocabulary(category.vocabularyId) />
116 <#assign categoryName = category.getTitle(themeDisplay.getLocale()) />
117
118 <#if vocabName == constVocabOfEntity>
119 <#if (addedContentTypeCategories?seq_contains(category.categoryId)?c) == "false">
120 <#assign contentTypeURL = contentTypeURL + "content-type=" + category.categoryId + "&" />
121 <#assign addedContentTypeCategories = addedContentTypeCategories + [category.categoryId] />
122 </#if>
123 <#else>
124 <#if (category.name)?? && vocabName != "Entity">
125 <#assign text= categoryName />
126 <#assign truncatedText = text?substring(0, (text?length > 60)?then(60, text?length))>
127 <span class="asset-category"> ${truncatedText}<#if text?length gt 60>...</#if></span>
128 </#if>
129 </#if>
130 </#list>
131 </div>
132 </div>
133 </li>
134 </#list>
135 <#assign searchURL="search?" + contentTypeURL + documentURL />
136 <#if searchURL?ends_with("&")>
137 <#assign searchURLString = searchURL?substring(0, searchURL?length - 1)>
138 <#else>
139 <#assign searchURLString = searchURL>
140 </#if>
141 </ul>
142 </div>
143 </div>
144</#if>
145
146
147
148<script>
149$(document).ready(function() {
150 var child = $('.document-ministry-warpper');
151
152 if (child.length > 0) {
153 var parent = child.parent();
154
155 while (parent.length > 0 && !parent.hasClass('lfr-layout-structure-item-row')) {
156 parent = parent.parent();
157 }
158
159 if (parent.length > 0 && !parent.hasClass('document-section')) {
160 parent.addClass('document-section');
161 }
162 }
163
164
165});
166</script>
167
168<style>
169 @media (min-width: 768px) {
170.lfr-layout-structure-item-row.document-section .row.align-items-lg-start.align-items-sm-start{
171 display:grid;
172 grid-template-columns: 1fr 1fr;
173 height:100%
174 }
175 .lfr-layout-structure-item-row.document-section .row.align-items-lg-start.align-items-sm-start div,
176 .lfr-layout-structure-item-row.document-section .row.align-items-lg-start.align-items-sm-start section{
177 height:100%
178 }
179 .lfr-layout-structure-item-row.document-section .row.align-items-lg-start.align-items-sm-start .col.col-lg-6.col-sm-12{
180 max-width:100%;
181 }
182 }
183 .document-ministry-warpper .document-ministry-list li:last-child{
184 margin-bottom:0 !important;
185 }
186 .document-ministry-list {
187 display:block !important;
188 }
189</style>
عن الوزارة
عن الوزارة
وزارة الخارجية هي المؤسسة الحكومية المسؤولة عن إدارة وتنفيذ السياسة الخارجية لسلطنة عمان، وتعزيز علاقاتها مع المجتمع الدولي. تأسست الوزارة بهدف تمثيل سلطنة عمان في المحافل الإقليمية والدولية، وحماية مصالحها الوطنية، وتعزيز التعاون الدبلوماسي والاقتصادي والثقافي مع دول العالم لتعزيز مكانتها بين الدول والدفاع عن حقوق مواطنيها في الخارج.
منصات التواصل الاجتماعي
"الدبلوماسية الحكيمة هي الطريق الأمثل لتحقيق السلام والاستقرار، وتعزيز علاقات قائمة على الاحترام المتبادل والتعاون البنّاء مع دول العالم."
- معالي بدر البوسعيدي، وزير الخارجية
الموقع الجغرافي
Our Management
الهيكل الإداري
وزير الخارجية
وكيل وزارة الخارجية للشؤون السياسية
وكيل وزارة الخارجية للشؤون الإدارية والمالية