[opencms-dev]restrictingsearchwithorg.opencms.search.CmsSearch.setSearchRoot- shouldthismethod work?
Olli Aro
olli_aro at yahoo.co.uk
Thu May 3 09:59:50 CEST 2007
Hi Alex,
Sorry to bother you again but I just cannot get this working. Would you have
a quick look at the code below and tell me what I am doing wrong? It is
basically the default search code from TemplateOne and I have then just
customized it to add the searchRoot.
Thanks,
Olli
---
<%@ page session="false" buffer="none"
import="java.util.*,org.opencms.search.*,org.opencms.frontend.templateone.*,
org.opencms.util.*" %><%--
This is the search code page.
--%><%
// initialise the template bean
CmsTemplateSearch cms = new CmsTemplateSearch(pageContext, request,
response);
String searchRoot="/";
if(request.getParameter("uri")!=null)
searchRoot=request.getParameter("uri");
%><%--
--%><jsp:useBean id="search" scope="request"
class="org.opencms.search.CmsSearch"><%--
--%><jsp:setProperty name="search" property="*"/><%
search.init(cms.getCmsObject());
search.setMatchesPerPage(10);
search.setQueryLength(3);
search.setDisplayPages(11);
search.setSearchRoot(searchRoot);
search.init(cms.getCmsObject()); %><%--
--%></jsp:useBean><%--
--%>Olli debug: <%= search.getSearchRoots()[0] %>
<div id="searchpage">
<div
id="searchpageform">
<h3
title="Search again?"><label for="searchagainsearch"><span>Search
again?</span></label></h3>
<form
name="searchform" id="searchagainsearch" method="get" action="<%=
cms.link(searchRoot+"search.html") %>" onsubmit="return
parseSearchQuery(document.forms['searchform'], '<%=
cms.key("search.error.wordlength") %>');">
<fieldset>
<legend title="Type your search keywords and press 'SEARCH'"
class="hidden">Type your search keywords and press "Search"</legend>
<label for="searchagainkeywords" class="hidden">Keywords here:</label>
<input type="hidden" name="action" value="search" />
<input type="hidden" name="query" value="" />
<input type="hidden" name="index" value="Online project (VFS)" />
<input type="hidden" name="searchPage" value="1" />
<input type="hidden" name="<%= CmsTemplateBean.PARAM_URI %>" value="<%=
searchRoot %>" />
<input type="hidden" name="__locale" value="<%=
cms.getRequestContext().getLocale() %>" />
<input class="searchinput" type="text" id="searchagainkeywords"
name="query2" value="<%= CmsStringUtil.escapeHtml(search.getQuery()) %>"
onfocus="this.value=''" />
<input class="searchsubmit" type="submit" value="<%= cms.key("link.search")
%>" /><br />
<%
if (cms.isSearchAllDisplayed()) {
%>
<br />
<input type="checkbox" name="<%= CmsTemplateSearch.PARAM_SEARCHALL %>"
value="true"<%= cms.getSearchAllChecked() %>>
<%= cms.key("search.text.all") %><%
}
%>
</fieldset>
</form>
</div>
<div
id="searchpageresult">
<%
// get the search results for the page
List result = cms.getSearchResults(search);
out.print(cms.buildSearchErrorMessages(search, result));
if (result != null && result.size() > 0) {
// show the result list
out.print(cms.buildSearchResultList(result));
// show the links to other result pages
out.print(cms.buildSearchLinks(search));
}
%>
</div>
</div>
---
-----Original Message-----
From: opencms-dev-bounces at opencms.org
[mailto:opencms-dev-bounces at opencms.org] On Behalf Of Alexander Kandzior
Sent: 02 May 2007 15:27
To: 'The OpenCms mailing list'
Subject: RE:
[opencms-dev]restrictingsearchwithorg.opencms.search.CmsSearch.setSearchRoot
- shouldthismethod work?
Yes, this is the expected behaviour.
Kind Regards,
Alex.
-------------------
Alexander Kandzior
Alkacon Software GmbH - The OpenCms Experts
http://www.alkacon.com - http://www.opencms.org
More information about the opencms-dev
mailing list