Create Subthemes to Keep Garland Customizations Separate on a Shared Installation

Blog Topics:

If you have Set Up a Single Drupal Installation for Supporting Multiple Virtual Hosts, then you're also sharing the themes. What if you want to make some minor customizations on one of the sites?

As mentioned in Customizing the Drupal Garland Theme, you can unshare the theme by making local copies in each site. But this is exactly what we wanted to avoid in the first place! There is a better way: create a subtheme for each site.

Minnelli is a subtheme for Garland, and it requires just a few files, inheriting the bulk of the theme from Garland. The basic requirement for a subtheme is a subdirectory under Garland, e.g. example and an example/example.info file:
name = Garland-example
description = Some Garland customizations for the example website.
version = VERSION
core = 6.x
base theme = garland
stylesheets[all][] = custom.css

Add empty example/template.php and example/custom.css files, which can receive customizations to Garland's template.php and style.css.

Copy garland/logo.png and garland/screenshot.png (or your customizations!) to garland/example, as well as garland/color/color.inc to garland/example/color/color.inc. Update the latter file by prepending ../ to all file names (except for the two files that you just copied). You can also create a customized version of garland/example/color/base.png.

Now you can go to your example site and activate the example subtheme.