Wiele templakow po macoszemu traktuje znikanie prawej kolumny i zostawia tam pusta celke <td>, jednak bez globalnego resetu marginesow w css i kilku dopiskow (cellpadding="0" cellspacing="0") w tabeli-matce ta pusta kolumna bedzie miala 1-10 pikseli szerokosci.
Najelegantszym chyba rozwiazaniem dla szablonow table-based jest "policzenie" ile modułów jest aktualnie publikowanych na danej pozycji (funkcja mosCountModules('right')), ewentualne zsumowanie z innymi pozycjami w prawej kolumnie. Dalej od niezerowej ilosci modulow uzalezniamy to czy srodkowa komorka z mainBody bedzie ladowana normalnie i obok kolejna komorka z naszymi modulami "right" (plus jakies inne), czy bedzie poszerzona na 2 kolumny a pozycja "right" nie zostanie zaladowana".
podaje kod alternatywny całego <tr>
Kod PHP:
<tr>
<?php if(mosCountModules('right') > 0) { ?>
<!-- Jezeli na pozycji right cos jest -->
<td bgcolor="#FFFFFF" >
<?php mosMainBody(); ?>
</td>
<td bgcolor="#4C4849">
<?php mosLoadModules ( 'right'); ?>
</td>
<?php } else { ?>
<!-- Jezeli na pozycji right nic nie ma -->
<td bgcolor="#FFFFFF" colspan="2">
<?php mosMainBody(); ?>
</td>
<?php } ?>
</tr>
linie pierwszego ifa mozna poszerzyc o inne pozycje modulow, ktore chcemy ladowac w prawej kolumnie:
if(mosCountModules('right') + mosCountModules('user1') > 0)
tylko trzeba je potem pod tym "right" zaladowac.