如何重定向搜索页面liferay 6.2?

时间:2015-03-30 11:05:32

标签: liferay-6

是否可以将搜索结果(portlet:$theme.journalContentSearch())重定向到另一个我的页面(例如“/ search”)?

.../taglib/ui/search/start.jsp 我试图改变:

portletURL.setParameter("redirect", currentURL);

portletURL.setParameter("redirect", "/results");

但没有奏效。你有什么建议吗?感谢。

1 个答案:

答案 0 :(得分:0)

  

我知道,这是一个过时的问题。但是,今天我有类似的任务要做   这是我的发现。

不幸的是,没有任何配置选项可用于重定向并在所需页面上显示搜索结果。

但是,我使用以下自定义jQuery hack:

解决了这个问题
if(jQuery('#p_p_id_77_') != null && jQuery('#p_p_id_77_').length > 0){
    var URL = jQuery('#p_p_id_77_').find('form').attr('action');

    var startURL = URL.substring(0, URL.lastIndexOf('/'));
    var middleURL = "/search";  // Page where you want to redirect and show search results
    var endURL = URL.substring(URL.indexOf('?'), URL.length);

    var finalURL = startURL + middleURL + endURL;
    jQuery('#p_p_id_77_').find('form').attr('action', finalURL);
}

这是HTML

portal_normal.vm部分
<div class="top-header-search">
    #set ($searchPortletId = "77")
    $velocityPortletPreferences.setValue("portlet-setup-show-borders", "false")
    #set($restoreRenderingPortletContent = $theme.runtime($searchPortletId, "", $velocityPortletPreferences.toString()))
    $restoreRenderingPortletContent
    $velocityPortletPreferences.reset()
</div>

我更喜欢使用$theme.runtime嵌入搜索portlet,因为我观察到使用$theme.journalContentSearch()重定向部分工作正常,但它返回搜索中的所有内容,因为标头字段的keyword不是被传递到搜索结果字段。