The theme .info file look like this.

name = xxx
description = xxxxx
core = 7.x
engine = phptemplate
stylesheets[all][] = css/css.css
regions[banner] = Banner
regions[header] = Header
regions[leftcolumn] = Left Column
regions[content] = Content Column
regions[rightcolumn] = Right Column
regions[footer] = Footer

The page.tpl.php template contains these regions: banner, header, left column, content column, and footer.

The page--front.tpl.php template is for the front page and contains these regions: banner, header, left column, content column, right column, and footer.

The website works perfectly. It shows content as it should do, but when I click on the Demonstrate block regions link, it shows the page.tpl.php template. (I have checked that with devel_themer.) I can see the banner, header, left column, content column, and footer regions; the right column region is missing.

I wish it was the page--front.tpl.php template to be used, instead of page.tpl.php, so I could see all the regions.

Is it possible to change the template used to show the regions to page--front.tpl.php?

4 Answers 4


In order for a region to show up on the demonstration block, you need to define it in your theme's .info file and print the region in page.tpl.php (or the overrided version). The following could be the issue

  1. Cache is not cleared (i.e. drush cc theme-registry if you are using drush)
  2. Theme's .info file has not listed the new region
  3. Page template is not overrided properly
  4. The region is not printed properly in .tpl.php file

I would say, have a look into guide on how to override a template file prpperly here https://www.drupal.org/node/1089656 and https://www.drupal.org/node/223440#custom-suggestions.

If you would like a region to NOT show up on the front page, you can simply do not supply content to it and Drupal will not render it.

If you would like to add an extra region, then google for some tutorials on how to create custom regions.

Install Devel related modules.

devel_themer module, make it very easy to do themeing in Drupal, specially if you are new.

If you have devel_themer installed and enabled, then you can click on the page and see which template file is being used to render the page. You can click on regions, blocks and elements and it will give you details on how it is rendered and which template/function being used.

Hope this general answer help you.


Some base themes like Omega provide an option to always show regions. If you're not using one of these you can always create one block per region with some lorem ipsum content for example.


Basically what you're asking is: "Is it possible to 'demonstrate block regions' using a specific theme template that you've created?"

For this, I think you can use hook_preprocess_page() (to edit the page before it gets displayed), and then provide a 'theme_hook_suggestion' for your template. So Drupal would see the suggestion and use your template for the 'admin/structure/block/demo/[theme]' path.

The accepted answer on the "Change templates based on path alias" question describes how this works nicely.


Drupal takes specific template file for the page if present. page--front.tpl.php will be used only for the home page (or front page). If you want a specific template for your page with all the regions as in page--front.tpl.php, copy front page template and rename it to page--{page-path}.tpl.php. Clear the cache. Now the page you want will display all the regions.

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.