2
You can test the presence of the left/right columns, and change your columns container class according to this. I did that in my Zeta Reticuli theme:
le="color: #000000"><?php <{if $xoBlocks.canvas_left and $xoBlocks.canvas_right}> <{assign var=columns_layout value='threecolumns-layout'}> <{elseif $xoBlocks.canvas_left}> <{assign var=columns_layout value='leftcolumn-layout'}> <{elseif $xoBlocks.canvas_right}> <{assign var=columns_layout value='rightcolumn-layout'}> <{/if}> <div class="<{$columns_layout}>"> .... write columns and center as usual .... </div>
(please note that this is for 2.0.14, you have to change the name of the variables you test in older versions:
$xoBlocks.canvas_left was
$xoops_lblocks in 2.0.13, and
$xoBlocks.canvas_right was
$xoops_rblocks).
Then you can make several CSS rules that ensure the center column is displayed correctly (you won't need the same rules depending on the method you use to get a CSS based layout, but it's for you to get the idea):
le="color: #000000"><?php #centercolumn { background: #fff; padding: 0px; } .leftcolumn-layout #centercolumn, .threecolumns-layout #centercolumn { padding-left: 170px; } .rightcolumn-layout #centercolumn, .threecolumns-layout #centercolumn { padding-right: 190px; }