125x125 Hosting & Servers at GoDaddy.com
Zikula is slow roasted the old fashioned way, for maximum potency.
--

8. Creating A New Theme

"Theme" is the name for all the files that are responsible for the display of the overall layout. You can have several themes in you system for various function. For example you can let users decide on which layout they prefer or you can display the backend differently from the frontend.

 Moreover the theme is the central folder for all your module template changes, your custom plugins and your custom classes. Whenever you change a module template store it in /themes/<theme name>/templates/modules/<module name>/ - thus your changes are save in case you update the module. If you make a change in any other folder but the theme folder, you are doing something wrong.


8.1. Overview

You should know that there are some different important files that belong to every theme. First of all: Themes are stored in the /themes/ folder and their name is the same as the folders name. So if you have a theme called "Bubblehead" you have a folder /themes/Bubblehead/

In this folder are several other folders:

  • /themes/Bubblehead/images/ - directory containing theme images.
  • /themes/Bubblehead/style/ - directory containing theme style sheets
  • /themes/Bubblehead/plugins/ - directory containing theme specific template plugins
  • /themes/Bubblehead/lang/ - directory containing theme language files
  • /themes/Bubblehead/templates/ - directory containing templates that contain the markup of the theme

Within the templates folder the directory structure will, typically contain:

  • /themes/Bubblehead/templates/blocks/ - directory containing block templates
  • /themes/Bubblehead/templates/modules/ - directory containing page templates used to render pages with a specific page template assignment
  • /themes/Bubblehead/templates/modules/<other directories> - directories containing template overrides for modules
  • /themes/Bubblehead/templates/config/ - the heart of the theme. directory containing the ini files that define what templates are used to render what parts of all output, what theme variables exist, what palettes are available, etc.