ThemeKey allows you to define simple or sophisticated theme-switching rules which allow automatic selection of a theme depending on current path, taxonomy terms, language, node-type, and many, many other properties. It can also be easily extended to support additional properties exposed by other modules. In combination with Drupal's theme inheritance and ThemeKey Properties you can easily achieve features like:

  • individually-styled channels
  • a front-page / "splash" screen
  • a date/time-selected Christmas theme
  • mobile themes for different auto-detected mobile devices
  • special themes for "limited" or "old" browsers
  • content, user, or role -specific themes
  • indicating your environment (production, staging, testing, sandbox, … )
  • testing your redesign safely on a live server
  • ...

And unlike other theme switching modules, ThemeKey should play well with internal and external page caches, like Boost or Varnish, even for anonymous users.

Feedback is welcome!

Damn, ThemeKey ... ROCKS! Really appreciate the kick ass work you did on this :) mortendk

I must say, this module is underrated. ThemeKey Properties makes ThemeKey awesome. It's right up there with Rules, Context, and Panels. My mind is blown away at the flexibility. :-) momendo

ThemeKey 7.x for Drupal 7

ThemeKey 7.x contains some noteworthy differences compared to ThemeKey 6.x:

  • The optional module ThemeKey User Profile replaces the Drupal 6 themes per user core feature, which has been removed from Drupal 7 core.
  • The optional module ThemeKey Compatibility solves the generic problem of concurrent theme switching modules by integrating them into it's Theme Switching Rule Chain. Now you can use combine features like core's Administration Theme, Organinc Groups Theme and many more using ThemeKey.
  • The additional module ThemeKey Properties became part of ThemeKey itself.

Special Module Integrations

Beside the standard features ThemeKey automatically extends it's features if one of these modules gets installed:

As mentioned above, in D7 every theme switching module could become part of ThemeKey's rule chain.

Documentation

After installing ThemeKey, you'll have access to a lot of documentation using Drupal's built-in help system at /admin/help/themekey. You will find descriptions of all ThemeKey properties, some examples, and tutorials. The ThemeKey 6.x tutorials are also available at
http://kalki.de/en/howto/themekey-tutorials.html
Just click the "Tutorials" link to open the collapsed overview.

ThemeKey 7.x contains an optional module called ThemeKey Example to demonstrate developers how to extend ThemeKey.

Related Projects / ThemeKey Extensions

  • ThemeKey Properties offers additional properties you can choose from.
  • Taxonomy Theme offers a user interface to trigger selection of different themes based on taxonomy and uses ThemeKey as its back end.
  • ThemeKey CiviCRM provides CiviCRM related properties.
  • MobileKey - another approach to handle mobile devices beside ThemeKey's internal client detection and the WURFL-Integration.

Sponsors

Sessions / Slides / Videos

Downloads

Recommended releases

Version Downloads Date Links
7.x-2.0 tar.gz (183.1 KB) | zip (211.65 KB) 2012-Jan-19 Notes
6.x-4.0 tar.gz (163.74 KB) | zip (181.7 KB) 2012-Jan-19 Notes

Other releases

Version Downloads Date Links
7.x-1.5 tar.gz (181.07 KB) | zip (208.92 KB) 2011-Sep-19 Notes
6.x-3.6 tar.gz (163.31 KB) | zip (181.21 KB) 2011-Sep-19 Notes

Development releases

Version Downloads Date Links
7.x-2.x-dev tar.gz (183.13 KB) | zip (211.67 KB) 2012-Jan-20 Notes
6.x-4.x-dev tar.gz (163.76 KB) | zip (181.72 KB) 2012-Jan-20 Notes

Project Information


Maintainers for ThemeKey

  • mkalkbrenner - 330 commits
    last: 2 weeks ago, first: 2 years ago
  • cspitzlay - 17 commits
    last: 1 year ago, first: 1 year ago
  • Carsten Müller - 42 commits
    last: 1 year ago, first: 2 years ago

Issues for ThemeKey

To avoid duplicates, please search before submitting a new issue.
All issues
Bug reports
Oldest open issue: 20 Feb 09
nobody click here