View Full Version : Alternating Postbit Legacy Colours

23 Dec 2009, 19:31
On my current forum (running 3.8.4) I use the postbit legacy template with alternating colours. (post 1 is colour 1, post 2 is colour 2, post 3 is colour 1, post 4 is colour 2 etc) but the method I use for vB3 does not work for vB4, probably because of the need for variable registration.

Unfortunately PHP is not a language I am familiar with, but if somebody could tell me how to achieve alternating postbit colours I would be very grateful!

21 Jan 2010, 17:55
This is the code I am using under vB3.8.4. It goes into postbit_legacy.
<if condition="$GLOBALS[altclass] == '1'">
<if condition="$GLOBALS[altclass] = '2'"></if>
<else />
<if condition="$GLOBALS[altclass] = '1'"></if>

21 Jan 2010, 17:57
Well, if's are done differently in vb4 - <vb:if condition=""> and <vb: else /> and </vb:if> . Have you tried it with the new syntax?

21 Jan 2010, 18:07
Yes I have.

The top of my postbit legacy template looks like this

{vb:raw template_hook.postbit_start}
<vb:if condition="$GLOBALS[altclass] == '1'">
<vb:if condition="$GLOBALS[altclass] = '2'"></vb:if>
<vb:else />
<vb:if condition="$GLOBALS[altclass] = '1'"></vb:if>
<li class="postbitlegacy_$GLOBALS[altclass] postbitim" id="post_{vb:raw post.postid}">

The HTML that is output is <li class="postbitlegacy_$GLOBALS[altclass] postbitim" id="post_2">

Thanks for your reply :)

--------------- Added 1264102650 at 1264102650 ---------------

Ok, solved it.

Remove the postbit legacy code and replace with a plugin in postbit_display_start with this
if($GLOBALS[altclass] == '1')
$GLOBALS[altclass] = '2';
$GLOBALS[altclass] = '1';

And the top of postbit legacy becomes
<li class="postbitlegacy_{vb:raw GLOBALS[altclass]} postbitim postcontainer" id="post_{vb:raw post.postid}">

Sean James
19 Jul 2011, 06:43
Having problems getting this code to work in 4.1.4

19 Jul 2011, 18:26
Then post your *exact* code so we can see it and try it on our own test sites.