2
gruessle:
This is not a fix, since the persistence of the left block has nothing wrong: it's just the way the theme is done. Assume here we're talking about the default theme; then you'll be able to apply this logic to other themes.
If you open the file
theme.html in the theme Default, you'll notice that the TD showing the right column is in the inside of a conditional declaration:
<{if $xoops_showrblock == 1}>
<td id="rightcolumn">
<{foreach item=block from=$xoops_rblocks}>
<{include file="default/theme_blockright.html"}>
<{/foreach}>
td>
<{/if}>
This tells us that this particular TD will show if and only if the variable $xoops_showrblock has a value of 1.
If you look at the TD holding the left column:
<td id="leftcolumn">
<{foreach item=block from=$xoops_lblocks}>
<{include file="default/theme_blockleft.html"}>
<{/foreach}>
td>
... you'll see there's no condition, so the TD appears even if it contains nothing.
How can we change this behavior? We need to enclose this TD in its own conditional, something like:
<{if $xoops_lblocks > ""}>
<td id="leftcolumn">
<{foreach item=block from=$xoops_lblocks}>
<{include file="default/theme_blockleft.html"}>
<{/foreach}>
td>
<{/if}>
What we're saying here is: if the array $xoops_lblocks has some content, display the TD.
This should work, at least from the perspective of logic. If it doesn't please tell us in this same thread, in order to further explore the issue.
Cheers.