I want to set up demo for Drupal themes and live switch between them with top drop-down menu. Examples what i mean (navigate to the top bar and change theme live with a theme switcher):



How can i repeat that with drupal, what is the best practice? The problem is: if i develop a theme on my localhost, then install on the server drupal with this theme enabled - that is simle. Then a develop second theme, and want to setup live preview with the same drupal installation BUT with another demo content.

So i need create another demo content BUT when the number of themes in development increase to 10-20 it will be a nightmare to remember what block or node is intended to appear with whith theme. Simple way is to setup different drupal each with one theme, BUT it's bad to accumulate the same code and db on the server.

In addition, i want to provide user with full drupal package (drupal setup with modules and database to import) to allow fast reproduce demo. So i don't want admin's interface clutter.

Possible modules i tried: http://drupal.org/project/themekey but it doesnot provide dropdown for switching http://drupal.org/project/switchtheme but it shows the same content, i need it to show nodes and blocks for some theme only.

1 Answer 1


http://drupal.org/project/switchtheme is the one to use for that.

Adds a block to allow users to switch between enabled themes.

Themes can be given 'user friendly' names and access can be controlled by user role.

If you need to enable/disable blocks for certain themes, do so at Admin > Structure > Blocks for that theme.

  • thanx, i will continue to try. I know about block granularity, but nodes are still will be the same. Thik of Context module maybe Commented Jan 27, 2013 at 22:29
  • Same process, but make content dependent on a theme context. Commented Jan 28, 2013 at 2:39

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.