I am using Drupal 7.

I want to make different looking pages, but I can't do this because it is always using the main theme block regions, and I can't change my specific page elements. For example, I want to make a page that has a cartoon images and another page that has a movie images on the background, and the block regions can be reordered. I tried Pages in Structure menu, but I don't understand it. I created one page, and assigned it a URL, but I can't access the page with my URL, as it says "page not found."

  • I think you need to do it in preprocess_page to create a tpl for every page or you can do that via $variables['classes_array'][] or $vars['template_file'] using arg()...its up to you if what approach do you want to use... Dec 23, 2011 at 6:38

3 Answers 3


The Context module would help here. It allows make 'sections' within your site based on selection rules like the path, views or menus chosen etc. Using Context you can apply a CSS class to the body based on the current section and then make the background image change based on that.

Context also allows you to use alternative layouts and you to re-order blocks as needed, and there are many add-on modules for it to extend its abilities further.


You should create different templates for every section you need. Check this out. The comments also :)


I think you could reuse the solution I suggested here and use ThemeKey contrib module.

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.