Difference between revisions of "Creating a basic templateDetails.xml file"

From Joomla! Documentation

(updating doctype)
(Remove 1.6 tag and add 3.1)
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
The <tt>templateDetails.xml</tt> file is essential. Without it, your template won't be seen by Joomla!. The file holds key "metadata" about the template.  
+
{{Version/tutor|1.5,2.5,3.1}}
 +
The <tt>templateDetails.xml</tt> file is essential. Without it, your template won't be seen by Joomla!. The file holds key [[Wikipedia:Metadata|metadata]] about the template.  
 +
 
 +
The syntax of the file is different for each Joomla version.
 +
 
 +
For {{JVer|1.5}}, use the following:
  
Lets look at an example:
 
 
<source lang="xml">
 
<source lang="xml">
 
<?xml version="1.0" encoding="utf-8"?>
 
<?xml version="1.0" encoding="utf-8"?>
Line 17: Line 21:
 
<files>
 
<files>
 
<filename>index.php</filename>
 
<filename>index.php</filename>
<filename>component.php</filename>
 
 
<filename>templateDetails.xml</filename>
 
<filename>templateDetails.xml</filename>
<filename>template_thumbnail.png</filename>
+
<folder>images</folder>
<filename>images/background.png</filename>
+
<folder>css</folder>
<filename>css/style.css</filename>
 
 
</files>
 
</files>
 
<positions>
 
<positions>
Line 36: Line 38:
 
</install>
 
</install>
 
</source>
 
</source>
So, as you can see, we have a set of information between markup tags ( the &lt;thing> ). Your best approach is to cut and paste this into your "templateDetails.xml" file and change the relevant bits (such as <name> <author> ).
 
  
The &lt;files> part should contain all the files that you use - you possibly don't know what they are called yet - don't worry update it later.
+
For {{JVer|2.5}} and later, use the following version. Change <code>version="2.5"</code> into the version of your Joomla! installation.
 +
 
 +
<source lang="xml">
 +
<?xml version="1.0" encoding="utf-8"?>
 +
<extension version="1.6" type="template">
 +
<name>mynewtemplate</name>
 +
<creationDate>2008-05-01</creationDate>
 +
<author>John Doe</author>
 +
<authorEmail>john@example.com</authorEmail>
 +
<authorUrl>http://www.example.com</authorUrl>
 +
<copyright>John Doe 2008</copyright>
 +
<license>GNU/GPL</license>
 +
<version>1.0.2</version>
 +
<description>My New Template</description>
 +
<files>
 +
<filename>index.php</filename>
 +
<filename>templateDetails.xml</filename>
 +
<folder>images</folder>
 +
<folder>css</folder>
 +
</files>
 +
<positions>
 +
<position>breadcrumb</position>
 +
<position>left</position>
 +
<position>right</position>
 +
<position>top</position>
 +
<position>user1</position>
 +
<position>user2</position>
 +
<position>user3</position>
 +
<position>user4</position>
 +
<position>footer</position>
 +
</positions>
 +
</extension>
 +
</source>
 +
 
 +
So, as you can see, we have a set of information between markup tags (the <code><element></code>s). Your best approach is to cut and paste this into your <tt>templateDetails.xml</tt> file and change the relevant bits (such as <code><name></code> and <code><author></code>).
 +
 
 +
The <code><files></code> part should contain all the files that you use - you possibly don't know what they are called yet - don't worry, update it later. The <code><folder></code> element can be used to define an entire folder at once.
  
 
Leave the positions as they are - these are a common set so you will be able to switch easily from the standard templates.
 
Leave the positions as they are - these are a common set so you will be able to switch easily from the standard templates.
 +
[[Category:Template Development]]
 +
[[Category:Tutorials]]

Revision as of 06:29, 29 April 2013

The templateDetails.xml file is essential. Without it, your template won't be seen by Joomla!. The file holds key metadata about the template.

The syntax of the file is different for each Joomla version.

For Joomla 1.5, use the following:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install PUBLIC "-//Joomla! 1.5//DTD template 1.0//EN" "http://www.joomla.org/xml/dtd/1.5/template-install.dtd">
<install version="1.5" type="template">
	<name>mynewtemplate</name>
	<creationDate>2008-05-01</creationDate>
	<author>John Doe</author>
	<authorEmail>john@example.com</authorEmail>
	<authorUrl>http://www.example.com</authorUrl>
	<copyright>John Doe 2008</copyright>
	<license>GNU/GPL</license>
	<version>1.0.2</version>
	<description>My New Template</description>
	<files>
		<filename>index.php</filename>
		<filename>templateDetails.xml</filename>
		<folder>images</folder>
		<folder>css</folder>
	</files>
	<positions>
		<position>breadcrumb</position>
		<position>left</position>
		<position>right</position>
		<position>top</position>
		<position>user1</position>
		<position>user2</position>
		<position>user3</position>
		<position>user4</position>
		<position>footer</position>
	</positions>
</install>

For Joomla 2.5 and later, use the following version. Change version="2.5" into the version of your Joomla! installation.

<?xml version="1.0" encoding="utf-8"?>
<extension version="1.6" type="template">
	<name>mynewtemplate</name>
	<creationDate>2008-05-01</creationDate>
	<author>John Doe</author>
	<authorEmail>john@example.com</authorEmail>
	<authorUrl>http://www.example.com</authorUrl>
	<copyright>John Doe 2008</copyright>
	<license>GNU/GPL</license>
	<version>1.0.2</version>
	<description>My New Template</description>
	<files>
		<filename>index.php</filename>
		<filename>templateDetails.xml</filename>
		<folder>images</folder>
		<folder>css</folder>
	</files>
	<positions>
		<position>breadcrumb</position>
		<position>left</position>
		<position>right</position>
		<position>top</position>
		<position>user1</position>
		<position>user2</position>
		<position>user3</position>
		<position>user4</position>
		<position>footer</position>
	</positions>
</extension>

So, as you can see, we have a set of information between markup tags (the <element>s). Your best approach is to cut and paste this into your templateDetails.xml file and change the relevant bits (such as <name> and <author>).

The <files> part should contain all the files that you use - you possibly don't know what they are called yet - don't worry, update it later. The <folder> element can be used to define an entire folder at once.

Leave the positions as they are - these are a common set so you will be able to switch easily from the standard templates.