REQ: Alternating row colors without relying on PHP

Alternating rows without relying on PHP

code:
Code:
<if condition="$bg++"><!-- Row: $bg --></if>

Now for each row that you need to have alternate colors place the following code where the class name would go.

code:
Code:
<if condition="$bg%2 == 0">alt2<else />alt1</if>

Below is a complete example using one of the forumbit templates.

Code:
<if condition="$bg++"><!-- Row: $bg --></if>
<tr align="center">
	<td class="<if condition="$bg%2 == 0">alt2<else />alt1</if>"><img src="$stylevar[imgdir_statusicon]/forum_$forum[statusicon].png" alt="" border="0" id="forum_statusicon_$forum[forumid]" /></td>
	<td class="<if condition="$bg%2 == 0">alt2<else />alt1</if>" align="$stylevar[align=left]" id="f$forum[forumid]">
		<div>
			<a href="forumdisplay.php?$session[sessionurl]f=$forum[forumid]"><strong>$forum[title]</strong></a>
			<if condition="$show['browsers']"><span class="smallfont">(<phrase 1="$forum[browsers]">$vbphrase[x_viewing]</phrase>)</span></if>
		</div>
		<if condition="$show['forumdescription']"><div class="smallfont">$forum[description]</div></if>
		<if condition="$show['forumsubscription']"><div class="smallfont"><strong><a href="subscription.php?$session[sessionurl]do=removesubscription&f=$forum[forumid]" rel="nofollow">$vbphrase[unsubscribe_from_this_forum]</a></strong></div></if>
		<if condition="$show['subforums']"><div class="smallfont" style="margin-top:$stylevar[cellpadding]px"><strong>$vbphrase[subforums]</strong>: $forum[subforums]</div></if>
	</td>
	<td class="<if condition="$bg%2 == 0">alt2<else />alt1</if>" nowrap="nowrap">$forum[lastpostinfo]</td>
	<td class="<if condition="$bg%2 == 0">alt2<else />alt1</if>">$forum[threadcount]</td>
	<td class="<if condition="$bg%2 == 0">alt2<else />alt1</if>">$forum[replycount]</td>
	<if condition="$vboptions['showmoderatorcolumn']">
	<td class="<if condition="$bg%2 == 0">alt2<else />alt1</if>"><div class="smallfont">$forum[moderators]&nbsp;</div></td>
	</if>
</tr>
$childforumbits
 
This worked great in a couple of places, but when it came to postbit_legacy it didn't work anymore.

Whatever function calls the postbit template seems to be called "once" then again, instead of running the template in a loop. As a result, you need to make the variable global. Use this line before the others to make the $bg variable global:
<if condition="$bg =& $GLOBALS['bg']"></if>
 
Back
Top