是否可以将搜索结果(portlet:$theme.journalContentSearch()
)重定向到另一个我的页面(例如"/search")?
在.../taglib/ui/search/start.jsp
中我试图改变:
portletURL.setParameter("redirect", currentURL);
在中
portletURL.setParameter("redirect", "/results");
但没用。你有什么建议吗?谢谢
我知道,这是一个过时的问题。但是,今天我有类似的任务要做以下是我的发现。
不幸的是,没有任何配置选项可用于重定向和在所需页面上显示搜索结果。
然而,我用以下自定义jQuery
破解解决了它:
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);
}
这是我的portal_normal.vm
的HTML
部分
<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
没有传递到搜索结果字段。