PDA

View Full Version : Show Threads Sitewide by Prefix [Tutorial]


shlomot
07 Nov 2008, 06:13
Numerous questions have been posted throughout vB forums on how to perform a site-wide search (or filtering) and show only those threads with a specific prefix.

The goal is to construct a link - that is used as a tab, text-link, or even in the text-rich title box of the prefix itself - that once clicked it presents threads or posts with that prefix from all the forums on the board.

Principally, this is a complex task to perform because the search for the prefixed threads or posts should consider user and forum permissions, so once user is prohibited from viewing threads in one forum - threads from that forum shouldn't be displayed in the site-wide search, etc.

Luckily, VB provides us with great advance-search capabilities, and searching for threads or posts that are assigned a specific prefix is among them.

Thus, the search string: http://www.yoursite.com/search.php?prefixchoice[]=Video (http://www.yoursite.com/search.php?prefixchoice%5B%5D=Video) should do the trick.

However, the problem is that this link only leads users to the advanced search form, with the search criteria already in place, but users still have to activate the search.

The secret lays in adding the following parameter to the search string:

do=process

From now on, if you want a search criteria to be activated without showing the visitor that search form again, just add do=process to the string.

Before: search.php?prefixchoice[]=Video

After: search.php?do=process&prefixchoice[]=Video


About Clickable Prefix
Webmasters often plan on making their prefix clickable. Good MODs have been published to this effect, but if you just want to do it yourself, place the following text (or a similar one) in the Title (Rich Text) box of the prefix:

<span><a href="search.php?do=process&prefixchoice[]=Video" style="color: red;"><b>Video</b></a></span>

This coding answers also questions about how to assign different colors to an HTML link.

shlomot
07 Nov 2008, 06:32
Reserved for listing known bugs and issues.

Spank
07 Nov 2008, 10:59
Simple and useful. Thanks :)

Magnumutz
07 Nov 2008, 15:44
Isn't this just a template edit?
Why did you file it under products?

shlomot
07 Nov 2008, 16:02
It isn't even a template edit.

I filed it under products because:

Many members are looking for this solution throughout the site;
Ongoing support might be required;
The use of prefixes is under-rated and the post here may increase awareness to this important feature.


Isn't this just a template edit?
Why did you file it under products?

GrendelKhan{TSU
11 Nov 2008, 09:18
love it. will implement. :)

It isn't even a template edit.


I filed it under products because:
Many members are looking for this solution throughout the site;
Ongoing support might be required;
The use of prefixes is under-rated and the post here may increase awareness to this important feature.


agreed :)

punchbowl
11 Nov 2008, 10:21
Is it possible to hide threads of a specific prefix from a group?

e.g. MEMBERS ONLY: A thread for members only

won't show for guests?

shlomot
11 Nov 2008, 11:09
I'd love to say YES, but the answer is NO.

The prefix permissions (that can be set per prefix-set or each prefix individually) are directed at who can use that prefix in their threads, and are not about who can watch threads of a specific prefix.

Also, threads from forums that are not accessible to "non-members" won't show up in the search results.

But if you refer to filtering out of certain threads from the result-set, I'm afraid it's impossible.

I hope that vB 4 will allow permission management of prefixes for viewing also.

Is it possible to hide threads of a specific prefix from a group?

e.g. MEMBERS ONLY: A thread for members only

won't show for guests?

punchbowl
11 Nov 2008, 11:19
Cheers for the answer - pity!

Princeton
11 Nov 2008, 15:01
moved to Articles

esperone
25 Jul 2009, 17:32
thanks. this is very usefull.

acanuck
18 Feb 2010, 08:33
This doesn't seem to work with vb4 anymore. Any idea how I can get this to work with vb4?

MagicThemeParks
14 Jun 2011, 11:35
It didn't work for me if I have multiple words in the search term. Do I have to place a particular character into the search code to show correctly?