Last updated 21 April 2012. Created on 11 November 2007.
Edited by richardhayward, iandickson. Log in to edit this page.

I am not an expert but have written this as I've noticed it's a common question, and I had to work out the answer for my own live case. I would have no objections to any better qualified person replacing this page with a "proper" one.

If you want to use Blocks outside Sidebars then you need to apply them to Regions.

General solution - if no suitable Region in your Theme, is to add one or more as needed. Links below should help if you are new to Regions.

Regions in PHPTemplate -
How to Build your Front Page with Regions -
Using Different Block Templates for Different Blocks, Regions etc. -

A common request is "putting blocks in a row above the content".

I have seen three ways suggested, the last of which is mine, but I take the first two on good faith. Option A certainly seems the proper way to handle a single row of Blocks, and with the right CSS could no doubt wrap for grid effects, whereas Option C is the one I use for a Grid of Blocks.

Option A

1) Create a Region - Before Content.
2) Create/assign Blocks to that Region.
3) Use weighting and float:left to line them up in order

Option B

Use MiniPanels - part of Panels 2 -

This was suggested by the author of the Panels Module.

Option C

(No doubt should be done with CSS, but I'm not a good designer).

1) Create a Region for each column of Blocks.
2) Put them into a single row table in page.tpl.php
3) Create and assign Blocks to Regions, weighting them so that they appear at the right place in each column.

Live example of method C at

Looking for support? Visit the forums, or join #drupal-support in IRC.


authentictech’s picture

Note: using tables as per option C will cause your code to be less accessible to screen readers. In countries, web accessibility is a legal requirement, especially in government organisations. Use option A whenever possible.

and (UK-centric but similarly applicable in many countries)