Mambo Open Source/Design basics

What are templates?
Templates allow you to define the look for your Mambo website. They are highly configurable, and can be used in many different ways. You can have more than one template in use on your site at a time. Additional templates can be completely different or subtle variations of each other, such as disabling Modules within particular areas of your Mambo website.

How do they work?
The templates are html and css documents. They are just like any other css or html document, only that instead of content written directly into them, you place variables such as "main content here", "left modules here", "banners here" and so on.

This means that you use Mambo to manage the content, and Mambo places the content the way you have specified within the template. Now you can easily change layout of a site, without having to do anything with the content itself. Mambo will just place the content in the variables you have defined in the new template as if nothing have happened.

On the other hand, this doesn't mean that you only can customize the elements around the content. Mambo fills the content with CSS-IDs and classes, so that you can use these tools to make the template decide which color and fonts and point sizes page elements should have. The behaviour and style of the menus, the margins between content images and text and a variety of other presentation decisions can be controlled by the template.

This is an example layout of a Mambo-template:

This is the layout template, and Mambo fills in the appropriate content where you define it to, as shown in this example.

Why templates?
The most noticeable advantage of the template system is the flexibility. If you have a regular static HTML-site and want to change the menu, you'll have to manually change this on every page on your site where your menu is shown. With Mambo (and all other template-systems), you only need to modify your template, and this will apply to every single page on your site - because of that the template only echo the content that Mambo creates. This saves you a lot of work, and is a very big advantage for designers and developers.