我有3个Solrsorts:
- 相关性
- A-Z
- Z-A
在搜索页面上,应该有三种可用的。但是在类别页面上只有A-Z和Z-A。那么如何在类别页面上隐藏相关性排序?
我已经覆盖了类 defaultsolroductsearchservice ,但是没有什么可以帮助我的。我认为Spring.xml中应该有类似的配置?
如果要从后端进行配置,以便明天您可以从HMC/backoffice隐藏另一个字段,那么您需要从模型中进行很多更改后端到前端。但是,如果您想简单地将此要求进行硬编码,则可以在前端侧轻松处理此要求。这样...
- 修改 searchResultSgridComponent.jsp 将附加标志传递给pagination.tag。这有助于我们确定搜索页面与类别页面。
请注意,您可以在该文件中找到两个参考 nav:分页,请使用isSearchPage="${true}"
进行修改。
<nav:pagination top="true" supportShowPaged="${isShowPageAllowed}" supportShowAll="${isShowAllAllowed}" searchPageData="${searchPageData}" searchUrl="${searchPageData.currentQuery.url}" numberPagesShown="${numberPagesShown}" isSearchPage="${true}"/>
重复上述步骤 searchResultslistComponent.jsp
在pagination.tag中,删除
isSearchPage
属性,并在此标志的帮助下处理sort选项渲染登录。
类似这样的东西
<%@ attribute name="isSearchPage" required="false" type="java.lang.Boolean" %>
<c:set var="isSeachPg" value="${empty isSearchPage ? false : isSearchPage}"/>
让我们仅允许与搜索页面相关。
<select id="sortOptions${top ? '1' : '2'}" name="sort" class="form-control">
<option disabled><spring:theme code="${themeMsgKey}.sortTitle"/></option>
<c:forEach items="${searchPageData.sorts}" var="sort">
<c:if test="${isSeachPg || (not isSeachPg && fn:escapeXml(sort.code) != 'relevance')}">
<option value="${fn:escapeXml(sort.code)}" ${sort.selected? 'selected="selected"' : ''}>
<c:choose>
<c:when test="${not empty sort.name}">
${fn:escapeXml(sort.name)}
</c:when>
<c:otherwise>
<spring:theme code="${themeMsgKey}.sort.${sort.code}"/>
</c:otherwise>
</c:choose>
</option>
</c:if>
</c:forEach>
</select>