我正在使用 liferay 搜索容器来显示信息列表,但在该 liferay 搜索容器中默认显示记录数,例如"Showing 2 results"。但就我而言,我不想显示这个。我怎样才能删除这个?还附上了搜索容器的图像。
欢迎提出建议。
您可以按照Felix Christy的建议使用 Javascript 执行此操作:
以下是快速步骤:
转到 javascript 部分添加以下内容,它的Alloy UI javascript 框架与 liferay 捆绑在一起:
AUI().ready(
function(customA) {
customA.all('.taglib-page-iterator').hide(); // this would hide **all** the elements which have the class "taglib-page-iterator"
}
);
上面的 javascript 代码可以包含在自定义 portlet 的 JSP 本身中(注意我已更改的方法和选择器),例如:
<aui:script>
AUI().ready(
function(customA) {
customA.one('#my-portletID .taglib-page-iterator').hide(); // this would hide only **one** element (the first it finds) which has the css class "taglib-page-iterator" under an element with id="my-portletID".
}
);
</aui:script>
通过 Hook 的另一种可能的解决方案:
您可以像Sandeep Nair提到的那样创建一个挂钩来隐藏结果文本,但您可以设置一个条件来检查隐藏,仅当您想要隐藏此页面的 URL 或者可以有条件检查要隐藏此结果文本的特定 portlet。
所以它对其他页面和 portlet 可以正常工作,但会为您的页面和您定义的某些 portlet 隐藏。这是一个想法,还没有尝试过,但我认为它会奏效。您可以使用themeDisplay
JSP 页面上可用的对象来检索 portlet-id。
希望这可以帮助。
感谢Felix Christy通过 Javascript 提出解决方案。
我想将我的评论转换为答案,以便更好地了解这个精彩社区的其他成员。
这是因为您在搜索容器中使用了页面迭代器。当记录超过默认增量时,上面的消息将替换为显示 x-of-y-results 以及页码和导航到下一页的控件。
如果你不想要这个,那么你必须使用钩子修改jsp页面。jsp 的名称是showing_x_results.jspf,下面的代码片段就是您要在其中修改的内容。
<c:otherwise>
<c:choose>
<c:when test="<%= total != 1 %>">
<%= LanguageUtil.format(pageContext, "showing-x-results", numberFormat.format(total)) %>
</c:when>
<c:otherwise>
<%= LanguageUtil.format(pageContext, "showing-x-result", numberFormat.format(total)) %>
</c:otherwise>
</c:choose>
</c:otherwise>
目前,hook(或 ext,如果你想要一个极端的解决方案)是你可以做到的唯一方法。覆盖showing_x_results.jspf 片段并注释/删除不必要的内容。可通过 portal-ext.properties 配置的唯一“属性”是这些(LR 6.0.5)
#
# Set the available values for the number of entries to display per page. An
# empty value, or commenting out the value, will disable delta resizing.
# The default of 20 will apply in all cases.
#
# Always include 20, since it is the default page size when no delta is
# specified. The absolute maximum allowed delta is 200.
#
search.container.page.delta.values=5,10,20,30,50,75
#
# Set the maximum number of pages available above and below the currently
# displayed page.
#
search.container.page.iterator.max.pages=25
#
# Set this to false to remove the pagination controls above or below
# results.
#
search.container.show.pagination.top=true
search.container.show.pagination.bottom=true
您可以在此处找到最新的(LR 6.1GA)搜索容器属性:http ://www.liferay.com/es/documentation/liferay-portal/6.1/user-guide/-/ai/search-container
我不建议从客户端隐藏它,因为如果您决定升级 Liferay 安装,它很可能会中断。挂钩是安全的出路。
为了删除某些特定页面的字符串,请在页面上放置一个 jQuery/javascript,这将隐藏显示该文本的特定 div/span。
在这种情况下,它不会显示在该页面上,但它将可用并在其他地方呈现。
以下是快速步骤:
$('.taglib-page-iterator').hide();
这只有在您的主题中包含 jquery.js 时才有效。所以请这样做。