Last updated February 27, 2014. Created on August 4, 2010.
Edited by Christopher James Francis Rodgers, JohnAlbin, xjm. Log in to edit this page.

What are base themes, sub-themes and starter themes?

Often the best way to learn a system is to take an existing example and modify it to see how it works. One big disadvantage of this learning method is that if you break something and the original example worked before you hacked it, there’s very little incentive for others to help you.

Drupal’s theming system has a solution to this problem: parent themes and sub-themes. A “sub-theme” will inherit all its HTML markup, CSS, and PHP code from its “parent theme” (also called a “base theme”.) And with Drupal themes, it’s easy for a sub-theme to override just the parts of the parent theme it wants to modify.

A “starter theme” is a sub-theme designed specifically to be a good starting point for developing a custom theme for your website. It is usually paired with a base theme.

So how do you create a theme with Zen?

The Zen theme includes the Zen base theme as well as a starter theme called “STARTERKIT”. You shouldn’t modify any of the CSS or PHP files in the zen/ folder; but instead you should create a sub-theme of zen and put it in a folder outside of the root zen/ folder.

Detailed instructions on how to create a Zen sub-theme are available for each major version of Zen.

Looking for support? Visit the forums, or join #drupal-support in IRC.


clashar’s picture

and where I could find instructions about 7.x-5.x?

JamesR2’s picture

Would like to know this too!

Christopher James Francis Rodgers’s picture

The module Zenophile 7.x-1.1 automatically creates Zen subthemes,
and works with theme Zen 7.x-3.1,
but Not with Zen 7.x-5.x. See...

There won't be a new release of Zenophile for Zen 5, But thanks for using Zenophile in the past.

"All the best; intended."
- Chris

Drupal 8 is great.

Re: Drupal 9,000
Three-minute Video on the problem
of technology out-pacing users.

pfjacobs’s picture

On my site i make use of the 7.x-1.0 version of the pointnet_red_sun_responsive_theme.
Today i've updated the zen base to version zen-7.x-6.0-alpha6

Now the outpute at my site is:

Error message
Notice: Undefined variable: add_respond_js in include() (line 29 of /home/pfjacobs/domains/
Notice: Undefined index: display_breadcrumb in zen_breadcrumb() (line 99 of /home/pfjacobs/domains/

I've downgradet the version to zen 7.x-5.5 and the error is gone.
Think there is some typemismatch in the alpha6 version of the zenbase