是否可以将搜索结果(portlet:$theme.journalContentSearch()
)重定向到另一个我的页面(例如“/ search”)?
.../taglib/ui/search/start.jsp
我试图改变:
portletURL.setParameter("redirect", currentURL);
在
portletURL.setParameter("redirect", "/results");
但没有奏效。你有什么建议吗?感谢。
答案 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
不是被传递到搜索结果字段。