SmartFAQ is developed by The SmartFactory (http://www.smartfactory.ca), a division of InBox Solutions (http://www.inboxsolutions.net)

How do I clean up the search results page?
Requested and Answered by Anonymous on 2005/4/11 10:44:57 (5543 reads)
Everyone with a lot of searchable modules on his site knows this problem. For every module the name is displayed plus the information that nothing was found inside this module. Why not displaying search results a different way? Only showing links in a module where results occur? Here a how-to to remove the negative information for the modules with no results.

Open xoopsroot/search and make some changes.

Look for the first appearance of
include XOOPS_ROOT_PATH."/header.php";

and insert after this this line:
$nothingthere 1;


Look for the first appearance of
<h4>...

and delete the line.

Two lines later delete this line:
echo "<p>"._SR_NOMATCH."</p>";


One line later after
} else {

insert the following lines:
$nothingthere++;
echo 
"<h4>".$myts->makeTboxData4Show($module->getVar('name'))."</h4>";


Look for the first appearance of:
include "include/searchform.php";

and insert the following lines before the above line:
if ($nothingthere == '1') {
    echo 
"<p>"._SR_NOMATCH."</p>";
    }


Now save the file and Voila! Now the search results page is tidied up.

There is one tiny HTML-bug inside search.php.

Look for line:
echo '<br /><a href="'.$search_url.'">'._SR_SHOWALLR.'</a></p>';

and replace with:
echo '<p><a href="'.$search_url.'">'._SR_SHOWALLR.'</a></p>';


The comments are owned by the author. We aren't responsible for their content.
Author
Thread
  • Home away from home

 Cleaning up search results

This looks like a very useful hack, thanks for your input. I'm looking forward to trying this one. Has it been submitted for future feature requests?

 

 Re: Cleaning up search results

Quote:

I'm looking forward to trying this one. Has it been submitted for future feature requests?


No. It seems to be, that noone (except me) was ever annoyed by the way search results were displayed.

But I will send the hack in.

 
  • Friend of XOOPS

 Re: Cleaning up search results

Many thanks...I'm building a 'Thai fish' site that probably sets a world record for the most instances of Tiny-D. The search results would have been unusable without this hack.

Please do submit your hack !

 
  • Quite a regular

 Re: Cleaning up search results

I just applied this hack on my site - it works nicely - great stuff!

One tip however, I found the line :

if ($nothingthere == '1') {
    echo 
"<p>"._SR_NOMATCH."</p>";
    }


that you add caused the text "No matches in your query" to appear above the search form before the user has entered a search term.

I removed it and the problem went away.

Why is that line necessary? it works fine without it.

anyway, great hack - thanks for the tip!

 

 Re: Cleaning up search results

Strange! Perhaps you made a mistake while changing the code. This:

if ($nothingthere == '1') {
    echo 
"<p>"._SR_NOMATCH."</p>";
    }


must be inserted BEFORE the first appearance of

include "include/searchform.php";


Perhaps you inserted the code BEFORE the first appearance of

include 'include/searchform.php';


There is a difference the way quotes are written.

 
  • Quite a regular

 Re: Cleaning up search results

this hack works great for us, really great hack.

 
  • Not too shy to talk

 Re: Cleaning up search results

I have followed all the instructions, and it works, but the module titles are all still there. This still makes the search results look a little messy.

Is there a way to clean up the search results completely, so that only the results are displayed (unless there are no results)

Also, Is there a way I can have a search box that searches both my site and Google?

Thanks for anyones help! Rob B

 
  • Just popping in

 Re: Cleaning up search results

Again, very useful hack.

This thread appears to have died, though, before the question of module names vs. block names on the Search Results page was addressed.

Obviously, the XOOPS site itself does this--the search results show the block name, not the actual module name, of the hits. How is this done?

 
  • Just popping in

 Re: Cleaning up search results

hOw about adding a radio button for a Whole word search? when I search for "war" I get warren beatty and schwarezenegger.

 
Design by: XOOPS UI/UX Team