如何在liferay中自定义搜索容器空结果消息?

时间:2013-10-22 13:08:07

标签: liferay portlet liferay-6 liferay-aui

我想在搜索容器emptyResultsMessage中显示带有jsp页面的消息。

目前我的代码是:

<liferay-ui:search-container delta="10" emptyResultsMessage="There are no results." iteratorURL="<%=iteratorURL %>" deltaConfigurable="true" var="searchContainer" >

现在我要显示

  

没有结果。+ button.jsp

在emptyResultsMessage中。

在button.jsp中我有一个按钮。当emptyResultsMessage为空时必须显示它。

任何人都可以告诉我如何显示它吗?

<liferay-ui:search-container delta="10" emptyResultsMessage="there were no courses found please <jsp:include page='subscribeSearch.jsp' /> with us" iteratorURL="<%=iteratorURL %>" deltaConfigurable="true" var="searchContainer" >

1 个答案:

答案 0 :(得分:1)

<liferay-util:buffer .../>是你的朋友。您似乎并不关心国际化,因此简单的方法是:在构建消息之前,然后使用它:

(untested pseudocode, don't expect it to work out of the box)

<liferay-util:buffer var="emptyMessage">
    there were no courses found please 
    <liferay-util:include
        page="subscribeSearch.jsp"
    />
    with us
</liferay-util:buffer>

<liferay-ui:search-container delta="10" 
     emptyResultsMessage="<%=emptyMessage%>" 
     iteratorURL="<%=iteratorURL %>" 
     deltaConfigurable="true" 
     var="searchContainer" 
>

....

恕我直言,我会在jsp页面上构建整个消息而不仅仅是片段。但是我也会使用合适的i18n,但你从中得到了基本的想法。

另外,检查是否需要转义字符串(例如使用<%=HtmlUtil.escape(emptyMessage)%>)。我不确定处理的顺序是从头顶开始的(目前无法测试)