Magento has four "standard" layouts: 1col, 3col, 2col-left and 2col-right, but you can add more if you like. You'll want to change the layout used on the page your editing instead hacking around with CSS. That's definitely the wrong way to do it.
As Joseph points out, Magento's templating system is comprised of blocks, or templates, which are positioned by layout files. Templates are standard php, though are prefixed with .phtml
, and layouts are xml. You'll find large groups of these files in app/design/frontend/$interface/$theme/(template|layout)
.
Magento is pretty renown for it's poor documentation, but you may want to checkout their Designer's Guide which covers the concept of templates and layouts in a little detail, including how to move blocks around.
The syntax of a layout file is far from straightforward but, pretty much, all you're going to need to know at this stage is that in order to reference blocks in the right hand, left hand and content columns look out for:
<reference name="(right|left|content)"></reference>
Moving the <block />
declarations from one to another with cause the blocks to move.
Another key one to remember is to look out for:
<reference name="root">
<action method="setTemplate"><template>page/1column.phtml</template></action>
</reference>
Using the setTemplate
action when referencing the root container will allow you to switch templates to 1column
, 2columns-left
, 2columns-right
or 3columns
easily. The layout templates themselves can be found in template/page/
.