Search
"Hello, you are now in the beta version of the site. Work is still underway on the final version.”
Menu Display
Breadcrumb
Search
Search Bar
GUP Chatbot
Category Filter
Content Type
Category Filter
Categories
Category Filter
Entity
Modified Facet
Category Facet
Type Facet
Category Facet
Category Facet
Category Facet
Search Results
An error occurred while processing the template.
Can't convert boolean to string automatically, because the "boolean_format" setting was "true,false", which is the legacy deprecated default, and we treat it as if no format was set. This is the default configuration; you should provide the format explicitly for each place where you print a boolean. ---- Tip: Write something like myBool?string('yes', 'no') to specify boolean formatting in place. ---- Tip: If you want "true"/"false" result as you are generating computer-language output (not for direct human consumption), then use "?c", like ${myBool?c}. (If you always generate computer-language output, then it's might be reasonable to set the "boolean_format" setting to "c" instead.) ---- Tip: If you need the same two values on most places, the programmers can set the "boolean_format" setting to something like "yes,no". However, then it will be easy to unwillingly format booleans like that. ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${isDownload} [in template "70645677960193#20119#33728" at line 49, column 88] ----
1<#assign monthArr = ['january','february','march','april','may','june','july','august','september','october','november','december'] />
2
3<div class="search-result">
4 <div class="gup-filterchip-wrapper mb-4 d-none">
5 <span class="label"><@liferay.language key="search-in" /></span>
6 <div class="gup-filter-tags">
7 </div>
8 <div class="gup-filter-chip ">
9 <button class="filter-chip btn btn-secondary clear-all">
10 <span class="icon d-flex">
11 <i class="ri-refresh-line"></i>
12 </span>
13 <@liferay.language key="gup.clear.all" />
14 </button>
15 </div>
16 </div>
17 <div class="result-found search-total-label">
18 <h3 class="h4">${languageUtil.format(locale, "gup-x-result-found", [searchContainer.getTotal()], false)}</h3>
19 <div class="result-sort">
20 <@liferay_portlet["runtime"]
21 instanceId="search_result_sort_search"
22 portletName="com_liferay_portal_search_web_internal_sort_portlet_SortPortlet_INSTANCE_nndp_sortSelection"
23 />
24 </div>
25 </div>
26 <hr class="mb-5 mt-0 d-none">
27 <div class="search-list">
28 <#assign list = entries?size />
29 <ul class="list-group">
30 <#if entries?has_content>
31 <#list entries as entry>
32 <#assign
33 viewUrl = entry.getViewURL()
34 isDownload = false
35 />
36
37 <#if entry.getClassName() == "com.liferay.document.library.kernel.model.DLFileEntry">
38 <#assign dlAppLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService") />
39 <#assign fileEntry = dlAppLocalService.getFileEntry(entry.getClassPK()) />
40 <#assign fileTitle = htmlUtil.unescape(fileEntry.getTitle()) />
41 <#assign fileEntryURL = themeDisplay.getPathContext() + "/documents/" + fileEntry.getRepositoryId()?c + "/" + fileEntry.getFolderId()?c + "/" + urlCodec.encodeURL(fileTitle, true) + "/" + fileEntry.getUuid() />
42 <#assign viewUrl = fileEntryURL
43 isDownload = true
44 />
45
46</#if>
47 <li class="result-item">
48 <div class="result-item-title">
49 <a href="${viewUrl}" download="${isDownload}">
50 ${entry.getHighlightedTitle()}
51 </a>
52 <#if entry.isAssetCategoriesOrTagsVisible()>
53 <#assign vocabLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") />
54 <#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
55 <#assign assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
56
57 <#assign assetEntry = assetEntryLocalService.fetchEntry(entry.getClassName(), entry.getClassPK()) />
58 <#assign catIds = assetEntry.getCategoryIds() />
59
60 <#list catIds as catID>
61 <#if catID = 33116>
62 <p class="result-badge flex-shrink-0 align-self-start"><@liferay.language key="step-by-step" /></p>
63 </#if>
64 </#list>
65 </#if>
66 </div>
67
68 <div class="search-item-description">
69 <#if entry.isContentVisible()>
70 <p>
71 ${entry.getContent()}
72 </p>
73 </#if>
74 </div>
75
76 <#setting locale=locale.toString()>
77 <#setting time_zone=timeZone.ID>
78
79 <#assign Date_DateObj = entry.getModifiedDateString()?date>
80 <#assign month = dateUtil.getDate(Date_DateObj, "MM", locale) />
81 <#assign day = dateUtil.getDate(Date_DateObj, "dd", locale) />
82 <#assign year = dateUtil.getDate(Date_DateObj, "yyyy", locale) />
83 <#assign monthName = monthArr[month?number-1] />
84 <#assign formattedDate = day+" "+languageUtil.get(locale, monthName)+" "+year />
85
86 <span class="search-item-date c-gap-2">
87 <#if entry?has_content>
88 <@liferay.language key="updated" />:
89
90 <#assign parsedDate = formattedDate?date("dd MMMM yyyy")>
91 <#assign dateString = parsedDate?string("yyyy-MM-dd")>
92
93 <time class="ml-0 p-0 text-dark" datetime="${dateString}">
94 ${formattedDate}
95 </time>
96 </#if>
97 </span>
98
99 </li>
100 </#list>
101 <#else>
102 <div class="no-result-found">
103 <h4 class="mb-0">${languageUtil.get(locale, "gup.no.results.found")}</h4>
104 <p class="mt-3 primary-content mb-0">${languageUtil.get(locale, "gup.no.results.found.description")}</p>
105 </div>
106 </#if>
107 </ul>
108 </div>
109</div>
110
111<script>
112 let listSize = ${list};
113 if(listSize === 0){
114 $(".result-found.search-total-label").addClass("d-none");
115 $(".search-result hr").removeClass("d-none");
116 $(".gup-filterchip-wrapper").removeClass("mb-4");
117 $(".gup-filterchip-wrapper").addClass("mb-0");
118 }else{
119 $(".result-found.search-total-label").removeClass("d-none");
120 $(".search-result hr").addClass("d-none");
121 $(".gup-filterchip-wrapper").addClass("mb-4");
122 $(".gup-filterchip-wrapper").removeClass("mb-0");
123 }
124 const links = document.querySelectorAll('.search-list .result-item-title a');
125 links.forEach(link => {
126 const url = new URL(link.href);
127 url.search = '';
128 link.href = url.toString();
129 });
130
131</script>
Thank you for your feedback.
Are you satisfied with this page?
Thank you
Thank you for taking the time to participate in this survey.
Return to homepage
Emergency numbers
Emergency numbers
View all numbers
Service categories
Available Services - Footer
Digital OMAN
© Oman Government