17 April, 2012

Use of liferay-ui:search-toggle - with Basic or Advanced Search

Hello Guys,
I met with a interesting scenario, I was using <liferay-ui:search-toggle> tag, and my requirement was to show only advanced search and no basic search.
But by default <liferay-ui:search-toggle> will show basic search unless and until user clicks the advanced search at least once. I tried all possible ways and finally found the solution, this what i did to make my <liferay-ui:search-toggle> show only "Advanced Search" without "Basic" search toggle link.

So what we need to do is,

  1. We need to override the isAdvancedSearch method of the XDisplayTerms class to always return true, where "X" your class prefix e.g.ArticleDisplayTerms which extends form com.liferay.portal.kernel.dao.search.DisplayTerms
  2. Update your *_search.jsp which has the <liferay-ui:search-toggle> with the following piece of code

style type="text/css">
.toggle-link {
    display: none;
This style overriding will prevent the "<<Basic" search link form being displayed, the next piece of  code snippet will make the "Advanced" search displayed by default, we are a kind of triggering the Search link click
String key = "<replace with the id of your <liferay-ui:search-toggle> tag";
SessionClicks.put(request, key,"advanced");
The key piece of code which does sends signal to the underlying liferay code to show only "advanced" is SessionClicks.put(request, key,"advanced");

The same could be achieved when we want to display only basic search and no advanced search just by changing the "advanced" to "basic"

That is it, once we have done with this our <liferay-ui:search-toggle> will always display only "Advanced"  or  "Basic" search

Hope this will be very useful when you come across the same scenario.

Rate Me:

0 Discussion:

Post a Comment

Your Comments on this post

Buy Bing Coupon $100 For New Ad Accounts Worldwide Working Whatsapp +91-8586875020

You can  Buy Bing Coupon  For new ad accounts . It is $100 coupon worldwide working for new ad accounts. Buy Bing Coupon today and start ads...