PDA

View Full Version : Better Forum Layout


pein87
05 Jan 2009, 18:42
How to seperate your forums for a cleaner, more appealing skin/style.

To start for those who arent good with xhtml never fear no additional coding will be used its pretty much a search, move, and delete deal.

Open you forumhome template to your default theme. I noticed that some skins had it so each forum was seperateed so with a bit of playing around and code reading I figured out how to do it and I would like to share with with my fellow members.

Search for
<!-- main -->
take note of all the code between the <!--main --> <!--/main --> comments thats the code will be changing, feel free to copy this to a txt file if you wanna play with it later on.


Notice the $forumbits variable, that is what maks up your entire forum on forumhome. Now copy this to a text document and save the file. DO NOT CUT AND PASTE! When you save you`ll see a bunch of forumhome templates.

Search for this template:

forumhome_forumbit_level1_nopost
open this template this is what we will be mostly editing.

See how incomplete this template is? Thats because its what your software prints each time you make a new forum.

Ok I`ve already done the edit for you but to explain it the standard vbulletin skin has the $forumbits variable evaled to the forumhome_forumbit_level1_nopost template.

Clear the entire forumhome_forumbit_level1_nopost template and add this code:

<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<thead>
<tr>
<td class="tcat" colspan="<if condition="$vboptions[showmoderatorcolumn]">6<else />5</if>">
<if condition="$childforumbits">
<a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('forumbit_$forumid')"><img id="collapseimg_forumbit_$forumid" src="$stylevar[imgdir_button]/collapse_tcat{$collapseimg_forumid}.gif" alt="" border="0" /></a>
</if>
<a href="forumdisplay.php?$session[sessionurl]f=$forum[forumid]">$forum[title]</a>
<if condition="$show['forumdescription']"><div class="smallfont">$forum[description]</div></if>
<if condition="$show['subforums']"><div class="smallfont"><strong>$vbphrase[subforums]</strong>: $forum[subforums]</div></if>
</td>
</tr>
</thead>
<tbody>
<tr align="center">
<td class="thead">&nbsp;</td>
<td class="thead" width="100%" align="$stylevar[left]">$vbphrase[forum]</td>
<td class="thead">$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>
</tbody>
<if condition="$childforumbits">
<tbody id="collapseobj_forumbit_$forumid" style="{$collapseobj_forumid}">
$childforumbits
</tbody>
</if>
</table><br />
This code adds the the colum name to the top of the table making it a table head instead of a table body and the post/forumname display is not a table head, its instead been switched to a table body. You bascilly just moved a few things around changed the tags around and deleted some useless code. Now you have the forum leaders colum. Its not good to place this in the forumbits template because each forum would have it at the end, we can add it below it as a seperate table but it would just be floating there since after each forum a space is included. TO fix it we will move it to the bottom of the whats going on area.

Open forumhome template and find:

$template_hook[forumhome_wgo_pos5]

This is near the end right before this:

</table>
<br />
<!-- end what's going on box -->

Place this code right above it:(After the </if>)


<tbody>
<tr>
<td class="tfoot" align="center" colspan="<if condition="$vboptions['showmoderatorcolumn']">6<else />5</if>"><div class="smallfont"><strong>
<a href="forumdisplay.php?$session[sessionurl]do=markread" rel="nofollow">$vbphrase[mark_forums_read]</a>
<if condition="$vboptions['forumleaders']">&nbsp; &nbsp;
<a href="showgroups.php$session[sessionurl_q]">$vbphrase[view_forum_leaders]</a></if>
</strong></div></td>
</tr>
</tbody>
This moves the forum leaders colum below the whats going on box to cap it off and makes your forum look nicer.


Code should look like this:

</if>
<tbody>
<tr>
<td class="tfoot" align="center" colspan="<if condition="$vboptions['showmoderatorcolumn']">6<else />5</if>"><div class="smallfont"><strong>
<a href="forumdisplay.php?$session[sessionurl]do=markread" rel="nofollow">$vbphrase[mark_forums_read]</a>
<if condition="$vboptions['forumleaders']">&nbsp; &nbsp;
<a href="showgroups.php$session[sessionurl_q]">$vbphrase[view_forum_leaders]</a></if>
</strong></div></td>
</tr>
</tbody>
$template_hook[forumhome_wgo_pos5]
</table>
<br />
<!-- end what's going on box -->

Now to finish out this project when you save use the save and reload option so your brought back to the template.

Find:

<!-- main -->

Delete everything after this all the way till you see:

<!--/main -->

Next add this in between the <!--main --> and <!-- /main --> comments.

$forumbits
$forumhome_markread_script

so it should look like this:

<!--main -->
$forumbits
$forumhome_markread_script
<!-- /main -->

Next save and enjoy your newly styled forum now you can make your defaut theme into a nice new skin using vbulletin's built in style manager.
Images provided to see the final out come and attached txt file with info aswell for easy access for those like me and cant be online much. Also tiny green check marks in images means valid xhtml transitional. I use a firefox plugin with and sgml and xml/xhtml validater.

UPDATED

If your making the change to 3.7.5 or any of the 3.8.x versions use this instead of the above forumhome_forumbit_level1_nopost

<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<thead>
<tr>
<td class="tcat" colspan="<if condition="$vboptions[showmoderatorcolumn]">6<else />5</if>">
<if condition="$childforumbits">
<a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('forumbit_$forumid')"><img id="collapseimg_forumbit_$forumid" src="$stylevar[imgdir_button]/collapse_tcat{$collapseimg_forumid}.gif" alt="" border="0" /></a>
</if>
<a href="forumdisplay.php?$session[sessionurl]f=$forum[forumid]">$forum[title]</a>
<if condition="$show['forumdescription']"><div class="smallfont">$forum[description]</div></if>
<if condition="$show['subforums']"><div class="smallfont"><strong>$vbphrase[subforums]</strong>: $forum[subforums]</div></if>
</td>
</tr>
</thead>
<if condition="!$show['collapsable_forums']">
<tbody>
</if>
<tr align="center">
<td class="thead">&nbsp;</td>
<td class="thead" width="100%" align="$stylevar[left]">$vbphrase[forum]</td>
<td class="thead">$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>
<if condition="!$show['collapsable_forums']">
</tbody>
</if>
<if condition="$childforumbits">
<if condition="!$show['collapsable_forums']">
<tbody id="collapseobj_forumbit_$forumid" style="{$collapseobj_forumid}">
</if>
$childforumbits
<if condition="!$show['collapsable_forums']">
</tbody>
</if>
</if>
</table><br />

You will still need to do the part with the forum leader part but this is a replacement to fix template upgrades in those versions.

StuntFactoryX
08 Jan 2009, 03:41
doesnt this change alot on upgrades? so im assuming this is only good for certain versions?

sensimilla
08 Jan 2009, 10:28
There is a simple plugin that does it, what for editing templates...

pein87
09 Jan 2009, 17:55
It will stay the same on all versions except the newest havent had time to fix it ti work with 3.7.5 and 3.8.x I will and will update this if you added it notice when you upgrade it says revert templates.

Mike-D
15 Jan 2009, 16:36
There is a simple plugin that does it, what for editing templates...TMS would be more better than using a Plugin instead of ;)

doesnt this change alot on upgrades? Once you have TMS installed and the Code has been modified you've never to worry about Upgrades or something like that :)

gazzak
19 Jan 2009, 15:11
Can someone please point to this TMS mod as it's impossible to search for 3 letter variables :mad:

dyna88
19 Jan 2009, 15:37
Can someone please point to this TMS mod as it's impossible to search for 3 letter variables :mad:

http://www.vbulletin.org/forum/showthread.php?t=152931

ali7118
30 Jan 2009, 01:09
Thank you ..

--------------- Added 1233277810 at 1233277810 ---------------

Thank you

Raug
31 Jan 2009, 08:06
What determines the width of the "Last Post" column on the forumhome? I noticed that on my board as well as others with a similar layout have varying widths. Is there a way to make it uniform?

Nevermind, I found a way to get close to making them even.

yoksito
06 Feb 2009, 21:15
thanks.... I wanted to put this code in my style

TimberFloorAu
18 Feb 2009, 20:04
Ok been working thru this.

However I only wish to get one feature...

That being in $forumbits

I wish to add at the end of each displayed forum on forumhome, a collapseobj button. So that each forum, can be expanded and contracted on forum home, allowing our users to customize the forum as they require.

If I can get that working, I can then set about moo-tooling it to concertina up and down as is needed.


Any suggestions please.

pein87
21 Feb 2009, 21:40
Wait let me get this right you wont to add a new collaspable object icon to your forums so that your users can customize which forums tehy wont to view?

Jasem
08 Mar 2009, 03:24
Good One, Thank you

Lautaro
09 May 2009, 07:47
great, thanks for the tut.