Wednesday, November 25, 2009

File structure of joomla

The most basic files, such as index.php, component.php, templateDetails.xml, template_thumbnail.png, favicon.ico, params.ini should be placed directly in your template folder. The most common is to place images, CSS files, JavaScript files etc in separate folders. Joomla override files must be placed in folders in the folder "html".

When making the template folder, your language files should be copied to your template folder. The ones for the front end site should be placed directly in the template folder. If you have language files for the back end, these should be placed in a folder, named for instance "admin". All the language files will be copied automatically to the right folders if stated correctly in the templateDetails.xml.

Typical Template Directory Structure

It is most common for a template to have at least the following files:

* index.php

Provides the logic for the display and positioning of modules and components.

* component.php

Provides the logic for the display of the printer friendly page, "E-mail this link to a friend." etc.

* template.css

Handles the presentational aspects of the template including specifications for margins, fonts, headings, image borders, list formatting, etc.

* templateDetails.xml

Holds meta-information related to the template and is used by the Installer and the Template Manager.

* template_thumbnail.ext - replace .ext with the extension format of the image (.jpg, .png, .gif)

Generally a 200x150 pixel image that is shown when the cursor is held over the template name in the Template Manager. This gives the Administrator a snapshot view of the template before applying it to the Site.


A typical template for Joomla! 1.5 will include the following directories:

* css - contains all the .css files
* html - contains template override files for core output and module chrome
* images - contains all images used by the template