Skip to Content

Overview

|

Themeing Overview

Themeing in Drupal is easy. At its most basic, all you need is knowledge of CSS to modify the appearance of your Drupal website. At its most complex you can use your knowledge of CSS, XHTML, PHP and Javascript to achieve highly dynamic and flexible results. This flexibility is one of Drupal's greatest strengths as a designer-friendly CMS.

Terminology

Before we go into detail on the following topic, let's clear up some terminology:

Template:

A Template is a package of files that contain the presentation and structure of a Drupal website. The number and names of these files varies with the Theme Engine you choose.

The Drupal system will dynamically create HTML pages based on the template you are using and the content you have created through your drupal site. Template files include the structural mark-up (XHTML or PHP), logic (PHP) and presentation (CSS) of your Drupal site.

The term Template is roughly equivalent to the term Theme. In Drupal’s menus and documentation, “Theme” is generally used.

Theme Engine:

A Theme Engine is the framework for the logic, structure and presentation (style) of a Drupal template - in other words, a Theme Engine is used to interpret an individual theme for use as a template by the Drupal system. Each Theme Engine has a specific format for coding and file structure. A Theme designed for one Theme engine will not necessarily work in another Theme Engine.

There are three main Theme Engines for Drupal: PHPTemplate, Smarty and XTemplate. Theme Engines are also known as template engines or templating engines.

Theme:

A Theme is just a template. The distinction is that "theme" is generally used to refer to an individual, named template such as the "Kubrick theme." When the words template or theme are used below, their meanings are roughly interchangeable.

When a theme is installed and set to to default, it becomes the template used by Drupal to generate HTML pages.

Theming Resources and Tips: