Customizing the Drupal 6 LiteJazz Theme - Cloning

It would be great to create a LiteJazz subtheme - and ideally that's what I would do. The biggest benefit to this approach would be any updates/fixes to the LiteJazz theme installed in this website would automatically cascade down to our new subtheme.

Unfortunately, this approach cannot be taken for what I want to achieve. Drupal theming rules decree that any subtheme with a page.tpl.php file is actually a theme in its own right and not a subtheme. The page.tpl.php file is the most crucial file of a theme - it determines where all the theme components will be placed on the screen. One of my requirements is to have a new block region above the masthead to house the search box, and to implement this requires modification to the LiteJazz page.tpl.php file. So, a new theme is required. But, we will use the LiteJazz theme as our starting point.

So lets copy the LiteJazz theme to a new theme, and we'll call it beezee - short for BadZilla of course!

$ cd sites/all/themes
$ mkdir beezee
$ cp -R litejazz/* beezee/.

Next we need to delete the .info file and create a new .info file in its stead. So
$ rm beezee/litejazz.info
$ touch beezee/beezee.info

and using your favourite editor, add the following content to the beezee.info file
name = Beezee
description = Subtheme of LiteJazz with a few tweaks
version = 1.0
core = 6.x
engine = phptemplate
stylesheets[all][] = style.css
regions[sidebar_left] = Left Sidebar
regions[sidebar_right] = Right Sidebar
regions[content_top] = Content Top
regions[content_bottom] = Content Bottom
regions[header] = Header
regions[suckerfish] = Suckerfish Menu
regions[user1] = User 1
regions[user2] = User 2
regions[user3] = User 3
regions[user4] = User 4
regions[user5] = User 5
regions[user6] = User 6
regions[footer_region] = Footer

You are now set fair to test out your cloned theme - so go to admin/build/themes and select Beezee and check that everything is working correctly. But, you are not finished yet. If you change any settings, the settings will be saved under the LiteJazz configuration, and not the Beezee configuration. Lets keep the two separate, and it's 2 minutes work maximum (providing you hae a semi-decent editor). Do a global find/replace, changing all occurrences of the word "litejazz" to "beezee", in the following files:
sites/all/themes/beezee/settings.php
sites/all/themes/beezee/template.php
sites/all/themes/beezee/theme-settings.php

Tra-la! All done! Just go to admin/build/themes and configure beezee to how you like it.