1<#assign keywords= htmlUtil.escape(searchResultsPortletDisplayContext.getKeywords()?replace('"', '')) />
2
3
4<#if entries?has_content>
5 <div class="mb-10">
6 <h3 class="display-md"><@liferay.language key="search-keyword-for"/> “${keywords}”</h3>
7 <p class="text-secondary-paragraph d-none">
8 ${searchContainer.getTotal()} <@liferay.language key="results-found"/>
9 </p>
10 </div>
11
12 <#list entries as entry>
13 <span class="badge bg-gray-50 text-dark fw-500 border py-1.5 mb-3">${entry.getModelResource()}</span>
14
15 <a href="${entry.getViewURL()}" class="dl-link link-default fs-md fw-500 d-block">${entry.getHighlightedTitle()}</a>
16 <#if entry.isContentVisible()><p class="fs-sm text-secondary-paragraph mt-3">${entry.getContent()}</p></#if>
17 <#if entry.isCreationDateVisible()><p class="fs-sm text-secondary-paragraph mt-3">${entry.getCreationDateString()}</p></#if>
18
19 <hr class="my-6 border-secondary">
20 </#list>
21 <#else>
22 <h5 class="text-primary-paragraph text-center my-14"><@liferay.language key="no-results-found" /></h5>
23</#if>
24
25<#assign
26 currentPage = searchContainer.getCur()
27 totalItems = searchContainer.getTotal()
28 pageSize = searchContainer.getDelta()
29 totalPages = ((totalItems + pageSize - 1) / pageSize)?int
30/>
31
32<#if totalPages gt 1>
33
34 <#assign iteratorURL = searchContainer.getIteratorURL() />
35
36 <#-- Previous -->
37 <li class="page-item ${currentPage lte 1?then('disabled', '')}">
38 <#if currentPage gt 1>
39 <a
40 class="page-link"
41 href="${iteratorURL}&cur=${currentPage - 1}"
42 aria-label="Previous page"
43 >
44 <i class="dl-chevron-left-icon"></i>
45 </a>
46 <#else>
47 <button
48 class="page-link"
49 disabled
50 aria-label="Previous page"
51 >
52 <i class="dl-chevron-left-icon"></i>
53 </button>
54 </#if>
55 </li>
56
57
58 <#-- Pages -->
59 <#if totalPages lte 6>
60
61 <#-- Show every page -->
62 <#list 1..totalPages as page>
63
64 <li class="page-item ${page == currentPage?then('active', '')}">
65 <#if page == currentPage>
66 <button
67 class="page-link"
68 aria-current="page"
69 >
70 ${page}
71 </button>
72 <#else>
73 <a
74 class="page-link"
75 href="${iteratorURL}&cur=${page}"
76 >
77 ${page}
78 </a>
79 </#if>
80 </li>
81
82 </#list>
83
84 <#else>
85
86 <#-- First five pages -->
87 <#list 1..5 as page>
88
89 <li class="page-item ${page == currentPage?then('active', '')}">
90 <#if page == currentPage>
91 <button
92 class="page-link"
93 aria-current="page"
94 >
95 ${page}
96 </button>
97 <#else>
98 <a
99 class="page-link"
100 href="${iteratorURL}&cur=${page}"
101 >
102 ${page}
103 </a>
104 </#if>
105 </li>
106
107 </#list>
108
109
110 <#-- Hidden pages dropdown -->
111 <li class="page-item dropdown">
112
113 <button
114 class="dropdown-toggle page-link"
115 type="button"
116 data-toggle="dropdown"
117 aria-expanded="false"
118 aria-label="More pages"
119 >
120 ...
121 </button>
122
123 <ul class="dropdown-menu">
124
125 <#list 6..(totalPages - 1) as page>
126
127 <li>
128 <a
129 class="dropdown-item"
130 href="${iteratorURL}&cur=${page}"
131 >
132 ${page}
133 </a>
134 </li>
135
136 </#list>
137
138 </ul>
139
140 </li>
141
142
143 <#-- Last page -->
144 <li class="page-item ${totalPages == currentPage?then('active', '')}">
145
146 <#if totalPages == currentPage>
147
148 <button
149 class="page-link"
150 aria-current="page"
151 >
152 ${totalPages}
153 </button>
154
155 <#else>
156
157 <a
158 class="page-link"
159 href="${iteratorURL}&cur=${totalPages}"
160 >
161 ${totalPages}
162 </a>
163
164 </#if>
165
166 </li>
167
168 </#if>
169
170
171 <#-- Next -->
172 <li class="page-item ${currentPage gte totalPages?then('disabled', '')}">
173
174 <#if currentPage lt totalPages>
175
176 <a
177 class="page-link"
178 href="${iteratorURL}&cur=${currentPage + 1}"
179 aria-label="Next page"
180 >
181 <i class="dl-chevron-right-icon"></i>
182 </a>
183
184 <#else>
185
186 <button
187 class="page-link"
188 disabled
189 aria-label="Next page"
190 >
191 <i class="dl-chevron-right-icon"></i>
192 </button>
193
194 </#if>
195
196 </li>
197
198</#if>