[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