PDA

View Full Version : Better Sub-Forum Placement


Slave
13 Nov 2005, 11:37
Hack:
Better Sub-Forum Placement

Inspired by the "Better Similar Threads Placement" hack which can be found at the following URL:
http://www.vbulletin.org/forum/showthread.php?t=81453

Author:
Slave

vBulletin Version:
Tested on 3.5.1 - but should work on all 3.5 versions.

Problem:
If you have a large amount of Sub-Forums within a forum users have to scroll past them to view threads.

Solution:
This hack places the list of Sub-Forums within a drop-down menu meaning no more scolling for your users. If the forum in question has no threads and only Sub-Forums, the Sub-Forums are shown as normal.

Install time:
About 2 mins, if that! :)

Number of Templates to edit:
1

Instalation Instructions:

Open your default FORUMDISPLAY template ..

----------------------------

FIND:
<if condition="$show['forumslist']">
<!-- sub-forum list -->

ABOVE that add:
<if condition="$show['threadslist']">
<else />

----------------------------

FIND:
<br />
<!-- / sub-forum list -->

BELOW that add:
</if>

----------------------------

FIND:
<td class="vbmenu_control" id="forumsearch"><a href="#goto_forumsearch">$vbphrase[search_this_forum]</a> <script type="text/javascript"> vbmenu_register("forumsearch"); </script></td>
</if>

BELOW that add:
<if condition="$show['forumslist']"><td class="vbmenu_control" id="relatedtools"><a href="#goto_relatedtools">Sub Forums</a> <script type="text/javascript"> vbmenu_register("relatedtools"); </script></td></if>

----------------------------

FIND:
<!-- popup menu contents -->

BELOW that add:
<!-- related tools menu -->
<if condition="$show['forumslist']">
<div class="vbmenu_popup" id="relatedtools_menu" style="display:none">
<table cellpadding="4" cellspacing="1" border="0">
<tr></td>
<!-- sub-forum list -->

<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" align="center">
<thead>
<tr align="center">
<td class="thead">&nbsp;</td>
<td class="thead" align="$stylevar[left]">$vbphrase[forum]</td>
<td class="thead" width="175">$vbphrase[last_post]</td>
<td class="thead">$vbphrase[threads]</td>
<td class="thead">$vbphrase[posts]</td>
<if condition="$vboptions[showmoderatorcolumn]">
<td class="thead">$vbphrase[moderator]</td>
</if>
</tr>
</thead>
$forumbits
</table>
<!-- / sub-forum list -->
</td></tr>
</table>
</div>
</if>
<!-- / related tools menu -->

----------------------------

That it!
Save FORUMDISPLAY and you've done.

Slave
13 Nov 2005, 11:38
Here's a screen shot of how it looks once the hack is added ..

If you'd like to see it in action pop along to ..

http://www.savageforums.com

.. and pick any forum with a subforum within it ..

G-Force 199
13 Nov 2005, 11:48
Nice hack. Thank you
First clicked Install

Slave
13 Nov 2005, 11:58
Hey, thanks G-Force .. :)

This is my first "hack" .. so I'm glad you liked it.

Brent H
13 Nov 2005, 17:42
Any way to put this on the main forum index?

fyjpm
06 Dec 2005, 19:23
*NOTE* if you are using GARS, then the template you will need to change is GARS_forumdisplay not FORUMDISPLAY

First bug (well actually this is an instructions bug): for vB3.5.1 search phrase is wrong:

<td class="vbmenu_control" id="forumsearch"><a href="#goto_forumsearch">$vbphrase[search_this_forum]</a> <script type="text/javascript"> vbmenu_register("forumsearch"); </script></td>
</if>

Search for this instead:

<td class="vbmenu_control" id="forumsearch" nowrap="nowrap"><a href="$show[nojs_link]#goto_forumsearch" rel="nofollow">$vbphrase[search_this_forum]</a> <script type="text/javascript"> vbmenu_register("forumsearch"); </script></td>
</if>

Second bug: replace phrase is wrong:

<if condition="$show['forumslist']"><td class="vbmenu_control" id="relatedtools"><a href="#goto_relatedtools">Sub Forums</a> <script type="text/javascript"> vbmenu_register("relatedtools"); </script></td></if>

Replace with this instead:

<if condition="$show['forumslist']"><td class="vbmenu_control" id="relatedtools"><a href="$show[nojs_link]#goto_relatedtools">Sub Forums</a> <script type="text/javascript"> vbmenu_register("relatedtools"); </script></td></if>

Third bug: typo on <td> tag: the following is wrong (even check it on your board, does work right in FF)

<!-- related tools menu -->
<if condition="$show['forumslist']">
<div class="vbmenu_popup" id="relatedtools_menu" style="display:none">
<table cellpadding="4" cellspacing="1" border="0">
<tr></td>
<!-- sub-forum list -->

<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" align="center">
<thead>
<tr align="center">
<td class="thead">&nbsp;</td>
<td class="thead" align="$stylevar[left]">$vbphrase[forum]</td>
<td class="thead" width="175">$vbphrase[last_post]</td>
<td class="thead">$vbphrase[threads]</td>
<td class="thead">$vbphrase[posts]</td>
<if condition="$vboptions[showmoderatorcolumn]">
<td class="thead">$vbphrase[moderator]</td>
</if>
</tr>
</thead>
$forumbits
</table>
<!-- / sub-forum list -->
</td></tr>
</table>
</div>
</if>
<!-- / related tools menu -->

Add this instead:


<!-- related tools menu -->
<if condition="$show['forumslist']">
<div class="vbmenu_popup" id="relatedtools_menu" style="display:none">
<table cellpadding="4" cellspacing="1" border="0">
<tr><td>
<!-- sub-forum list -->

<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" align="center">
<thead>
<tr align="center">
<td class="thead">&nbsp;</td>
<td class="thead" align="$stylevar[left]">$vbphrase[forum]</td>
<td class="thead" width="175">$vbphrase[last_post]</td>
<td class="thead">$vbphrase[threads]</td>
<td class="thead">$vbphrase[posts]</td>
<if condition="$vboptions[showmoderatorcolumn]">
<td class="thead">$vbphrase[moderator]</td>
</if>
</tr>
</thead>
$forumbits
</table>
<!-- / sub-forum list -->
</td></tr>
</table>
</div>
</if>
<!-- / related tools menu -->

Now it works right! BTW, aside from the easy debugging, this script KICKS IT! Nice job!

-John

Oblivion Knight
06 Dec 2005, 19:49
Nice idea, but I'd imagine that a lot of users who are unfamiliar with forums (ok, so there's probably not going to be that many) wouldn't know those Sub-Forums existed.

Smiry Kin's
18 May 2006, 13:05
ermm looks kinda funny in FF, any chance on fixing?

Smiry Kin's
02 Jun 2006, 05:09
ermm looks kinda funny in FF, any chance on fixing?
any help?

Slave
04 Jun 2006, 22:19
any help?
I'm afriad I don't use FF .. so unless someone else has any suggestions ........

zippokid
03 Apr 2007, 14:22
Is there an easy way to add this as a dropdown on the navbar rather than in the obscure placement it has as it stands?


EDIT: nevermind, figured it out. also decided against this because my users are lazy and just want every topic dumped in one forum and this makes them more able to ignore subforums