I would create regions on my zen theme, reflecting the narrow columns side by side.

I want a layout that does not provide the content by default, but it plans to create 3 sidebar facing the same width.How can I do?


Also, I want the page layout different from the initial layout of other pages, so I can have different layout templates with different regions?

  • Sounds like you would be better helped by searching for information about basic HTML/CSS layout structures rather than Drupal theming.
    – sheena_d
    Jun 30, 2012 at 4:24

2 Answers 2


In the file your_theme.info you should add

regions[new_region] = New Region

regions[new_region] this is the machine name so the variable will be $new_region

Then on page.tpl.php you should add the html and the php like

if ($new_region) :?>
<div id="new-region">
<?php print $new_region; ?>
<?php endif; ?>

Remember to flush the cache and do the performance after you modify page.tpl.php

  • but how it is determined the position of the region added?
    – Antilope
    Jun 29, 2012 at 15:50
  • 1
    May you be more clear? If you are asking me in which place it is going to be shown, the answer is, it depend where you put your HTML/PHP. page.tpl.php is a php page with html structure. Is this you doubt? Jun 29, 2012 at 15:56

I just created a region on my Zen 7.x-5.5 subtheme like this:

  1. Added: regions[new_region] = New Region to my_theme.info

  2. Added (differs slightly from Tyler Durden's code which haven't worked for me):

<?php if ($page['new_region']) :?> <div id="new_region"> <?php print render($page['new_region']); ?> </div> <?php endif; ?>

to page.tpl.php.

  1. Cleared the cashe.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.