<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rvsjoen</id>
	<title>Joomla! Documentation - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rvsjoen"/>
	<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/Special:Contributions/Rvsjoen"/>
	<updated>2026-05-16T13:32:15Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J2.5:How_do_I_store_empty_values_as_NULL_in_the_database%3F&amp;diff=99380</id>
		<title>J2.5:How do I store empty values as NULL in the database?</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J2.5:How_do_I_store_empty_values_as_NULL_in_the_database%3F&amp;diff=99380"/>
		<updated>2013-05-16T08:17:10Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: Created page with &amp;quot;If you want to store empty values as NULLs into the database, you need to override JTable::store() and JModelAdmin::prepareTable(). Add following snippets of code into your co...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you want to store empty values as NULLs into the database, you need to override JTable::store() and JModelAdmin::prepareTable(). Add following snippets of code into your component&#039;s &#039;&#039;admin/tables/nameoftable.php&#039;&#039; and &#039;&#039;admin/models/nameofeditview.php&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;admin/tables/nameoftable.php&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
public function store($updateNulls = true) {&lt;br /&gt;
	return parent::store(true);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;admin/models/nameofeditview.php&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
protected function prepareTable($table)&lt;br /&gt;
{&lt;br /&gt;
	$defnull = array(&#039;array&#039;,&#039;of&#039;,&#039;columns&#039;,&#039;that&#039;,&#039;can&#039;,&#039;have&#039;,&#039;null&#039;,&#039;value&#039;);&lt;br /&gt;
	foreach ($defnull as $val)&lt;br /&gt;
		if (!strlen($table-&amp;gt;$val))&lt;br /&gt;
			$table-&amp;gt;$val = NULL;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Category:Tips and tricks]]&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User_talk:Tom_Hutchison&amp;diff=81110</id>
		<title>User talk:Tom Hutchison</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User_talk:Tom_Hutchison&amp;diff=81110"/>
		<updated>2013-02-12T14:01:58Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Module and Template Development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== vel list ==&lt;br /&gt;
&lt;br /&gt;
I have reverted your changes. &lt;br /&gt;
With all due respect enzsure that before you alter anything protected you should read and observe the comments on the talk pages&lt;br /&gt;
namely&lt;br /&gt;
&lt;br /&gt;
 Talk:Vulnerable Extensions List&lt;br /&gt;
Jump to: navigation, search&lt;br /&gt;
&lt;br /&gt;
All questions should be addressed to the vel @ joomla.org email address (without the spaces)&lt;br /&gt;
&lt;br /&gt;
Only known users to edit anything previously agreed items on this page.&lt;br /&gt;
&lt;br /&gt;
== cont ==&lt;br /&gt;
&lt;br /&gt;
In response to youre previous message - not sure why you added on my talk page but still &lt;br /&gt;
Beyond the cut and paste of previous editors comments.&lt;br /&gt;
Please ask Chris Davenport for the history on this document, and if you have any concerns or questions contact the vel team as detailed to do on the vel talk page.&lt;br /&gt;
:I posted on your talk page, because I have no way of knowing if you are watching my talk page for replies without certain installed Mediawiki extensions. Will PM you and Phil on the forum. [[User:Hutchy68|Tom Hutchison]] ([[User talk:Hutchy68|talk]]) 16:04, 22 October 2012 (CDT)&lt;br /&gt;
&lt;br /&gt;
Received no PM or email to the vel list from you. Your rechanges reversed.&lt;br /&gt;
--[[User:Mandville|Mandville]] ([[User talk:Mandville|talk]]) 12:50, 27 October 2012 (CDT)&lt;br /&gt;
&lt;br /&gt;
:Phil already reverted the mis-spelling, the categorisation of the page stands as is and will. Since it was for enhancement suggestions, I didn&#039;t realise the clock was ticking. I have been trying to research everything, because I wanted to address all concerns with solutions. At this point, I am probably just wasting my time and effort. [[User:Hutchy68|Tom Hutchison]] ([[User talk:Hutchy68|talk]]) 14:27, 27 October 2012 (CDT)&lt;br /&gt;
&lt;br /&gt;
== Security checklist 7 ==&lt;br /&gt;
&lt;br /&gt;
in reference to history entry for the checklist 7,  16:44, 13 October 2012‎ - (Removed protection from &amp;quot;Security Checklist/You have been hacked or defaced&amp;quot;: hmm, don&#039;t know why this was protected, error - reset to all edit)&lt;br /&gt;
&lt;br /&gt;
http://docs.joomla.org/Security_Checklist/You_have_been_hacked_or_defaced&lt;br /&gt;
and history&lt;br /&gt;
http://docs.joomla.org/index.php?title=Security_Checklist/You_have_been_hacked_or_defaced&amp;amp;action=history&lt;br /&gt;
&lt;br /&gt;
The checklist was protected as incorrect and sometimes potentially damaging edits were being made mainly to the Chmod and Cron section shell scripts of the page. &lt;br /&gt;
&lt;br /&gt;
This goes back to a few pages are protected for a reason. The reason in this case for the safety of the end users site. While I would suggest this page remain protected from regular editing for reasons outlined above, Though I would feel better if the page was again protected, I will let it stay as unprotected for now unless another incident of changing or modifying the shell scripts occurs which would potentially damage or delete someones site if the modified script(s) are used before the changes can be rolled back.&lt;br /&gt;
:Protected again to keep the content of the page from being changed. I also added the Permissions page into the series. [[User:Hutchy68|Tom Hutchison]] ([[User talk:Hutchy68|talk]]) 07:11, 29 October 2012 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
 Please revert the title of the page as was. It is universally known as checklist 7.&lt;br /&gt;
It was and is part of the security checklists 1-6 &lt;br /&gt;
Please also reneable full protection of the document to those previously listed - namely PhilD, myself and Lafrance.&lt;br /&gt;
This is another previously agreed protected, nominated document.&lt;br /&gt;
&lt;br /&gt;
--[[User:Mandville|Mandville]] ([[User talk:Mandville|talk]]) 17:13, 3 November 2012 (CDT)&lt;br /&gt;
&lt;br /&gt;
:Protection was enabled days ago, Security Checklist 7 can still be referenced, it now redirects to the page. You need to understand, documentation is changing, improving, becoming more organized for Joomla! users. Nothing is ever set in stone. Even Joomla! improves and new releases are now being done at a set pace. [[User:Hutchy68|Tom Hutchison]] ([[User talk:Hutchy68|talk]]) 17:24, 3 November 2012 (CDT)&lt;br /&gt;
&lt;br /&gt;
== Moving sensitive files outside the web root archive ==&lt;br /&gt;
&lt;br /&gt;
Tom the page looks good Thanks&lt;br /&gt;
&lt;br /&gt;
== Barnstar and a few bits and bobs ==&lt;br /&gt;
&lt;br /&gt;
Thankyou very much for the barnstar!!&lt;br /&gt;
One thing I&#039;ve noticed whilst doing the help screens is that when you press the help buttons in Joomla 2.5 is that there are [edit] links next to each section. But these links take you to a blank page - so is there any way we can drop the edit buttons?&lt;br /&gt;
&lt;br /&gt;
Also I noticed one of the help buttons earlier today took you to the Joomla 1.6 help page instead of the 2.5 (when pressed in Joomla 2.5). It was one of the menu items  - but typically as I&#039;m writing this I&#039;ve completely forgotten which - not sure how easy it will be to check up on this!&lt;br /&gt;
&lt;br /&gt;
Thanks again,&lt;br /&gt;
George&lt;br /&gt;
&lt;br /&gt;
:No problem! You deserved one, you&#039;ve done a lot of work on the 2.5 Help Screens and other articles over the past week! &lt;br /&gt;
&lt;br /&gt;
:The link itself is nulled out by the proxy. The [edit] link used to be regex&#039;d out but since the MW 1.16 to 1.19 update, something must have changed in 1.19. We are looking at that. Another thought was to use &amp;lt;nowiki&amp;gt;__NOSECTIONEDIT__&amp;lt;/nowiki&amp;gt; to remove the [edit] links from the page. Makes it harder to update them, but once the Help screen is done it should not be necessary to update them. At least not a regular task, just a bug fix or small tweak here and there. &lt;br /&gt;
&lt;br /&gt;
:Was the link in the pop-up window&#039;s address bar something like ...help.joomla.org/proxy/index.php?option=com_help&amp;amp;keyref=Help16  or just the page contained information of a 1.6 Help Screen? The first would be a bug, second is a possibility. The next version released Help screens are dumped into the new namespace and content of page links are changed to reflect the new namespace for the new release. I know there are a couple of 1.7 Help screens using pure transclusion to show the 1.6, something like:&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;{{:Help16:The_name_of the_1.6_HelpScreen}}&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; is the only content so it may have just been put into the 2.5 screen.&lt;br /&gt;
&lt;br /&gt;
:Let me know if you can remember if it was content or address and I&#039;ll see if I can track it down.&lt;br /&gt;
::--Thanks again! [[User:Hutchy68|Tom Hutchison]] ([[User talk:Hutchy68|talk]]) 20:42, 9 February 2013 (CST)&lt;br /&gt;
&lt;br /&gt;
:::Found another link issue whilst trying to find that Joomla 1.6 link:&lt;br /&gt;
:::External URL page - Page takes you to: http://help.joomla.org/proxy/index.php?option=com_help&amp;amp;keyref=Help25:Menus_Menu_Item_Manager_Edit instead of the external URL page http://docs.joomla.org/Help25:Menus_Menu_Item_External_Url&lt;br /&gt;
:::Cheers for the information!&lt;br /&gt;
:::--[[User:Wilsonge|Wilsonge]] ([[User talk:Wilsonge|talk]]) 02:38, 10 February 2013 (CST)&lt;br /&gt;
&lt;br /&gt;
::Thanks George! I knew this problem existed in Joomla! 3, but didn&#039;t have a chance to check 2.5. Assumed it did. It actually is everything under, System Links in Menu selection.  The other two Help Screen pages are &#039;red links&#039; still, but they will have the same issue. I filed a tracker here: [http://code.joomla.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_id=11410&amp;amp;tracker_item_id=30091 Tracker 30091].&lt;br /&gt;
&lt;br /&gt;
:: I also had to filed another tracker for [http://code.joomla.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_id=11410&amp;amp;tracker_item_id=30090 Module Manager - Edit - (Blank page)]:&lt;br /&gt;
::*Select Site -&amp;gt; Control Panel (Landing page when first logging on to administration) &lt;br /&gt;
::*Select Help -&amp;gt; Joomla Help Click link in left sidebar: &#039;Module Manager - Edit&#039; &lt;br /&gt;
::*View a blank page, ref to source on docs.joomla.org which does not exist.&lt;br /&gt;
&lt;br /&gt;
::This is actually causing a 404 error, need to address this right away as it is a &amp;quot;Top 10&amp;quot; requested Help Screen page for all Help Screens. Some of the issues in 3.0 are 2.5 used a modal window and now 3.0 has an actual page. These might not be corrected till the release of 2.5.10. I&#039;ll look into it.&lt;br /&gt;
:::---Thanks again! [[User:Hutchy68|Tom Hutchison]] ([[User talk:Hutchy68|talk]]) 09:30, 10 February 2013 (CST)&lt;br /&gt;
&lt;br /&gt;
:::Nice one with the trackers. The link was an address by the way for the 1.6. But I went through all the menu items I edited his w/e and I can&#039;t see it. So I&#039;m not sure where it was now. Will have to go on a hunt!&lt;br /&gt;
:::Cheers! --[[User:Wilsonge|Wilsonge]] ([[User talk:Wilsonge|talk]]) 02:47, 11 February 2013 (CST)&lt;br /&gt;
&lt;br /&gt;
== Module and Template Development ==&lt;br /&gt;
&lt;br /&gt;
Hi, I saw your post on my discussion page regarding the tutorials. It has always been the intention to move these articles out into the global namespace. The primary reason the tutorials currently live in my user namespace is three-fold:&lt;br /&gt;
&lt;br /&gt;
1. I didn&#039;t want the code in the articles to diverge from the code in the repository as I have seen happen numerous times in other tutorials. People have a habit of updating tutorial pages and not the source code packages which ultimately create a lot of confusion.&lt;br /&gt;
2. I wanted to test them out for a while to rule out bugs. (I consider this phase to be completed)&lt;br /&gt;
3. Since the release of 2.5 I have been meaning to find the time to remove a bit of deprecated code to make it fully &amp;quot;2.5&amp;quot; compliant.&lt;br /&gt;
&lt;br /&gt;
As I have not had time to perform the last step yet, they have remained in my user namespace. I also started on a basic module and template tutorial that I have not had the time to finish.&lt;br /&gt;
&lt;br /&gt;
That being said, I would be happy to help maintain the tutorial code for developers as far as my time allows and this may also help me jump-start my own effort in this area. I have previously suggested adding a &amp;quot;joomla-tutorials&amp;quot; project under the &amp;quot;joomla&amp;quot; organization in GitHub but regardless of how this is deployed I think it would be a very healthy approach to the management of tutorial code.&lt;br /&gt;
&lt;br /&gt;
[[User:Rvsjoen|Rvsjoen]] ([[User talk:Rvsjoen|talk]]) 14:31, 11 February 2013 (CST)&lt;br /&gt;
&lt;br /&gt;
:That&#039;s great Rvsjoen! I didn&#039;t even know you had a MVC tutorial in your user pages. I&#039;m trying to pull together the docs, improve them and get the devs involved again. If we move them, I will mark them as incomplete so they can be checked against code on pages vs. code in zips. Something I agree with, they need to be the same and maintained as such. This is why there is interest in moving it all to GitHub. We should maintain a version specific structure. 2.5 is easy and 1.6 and 1.7 should be dropped. 3.0 is already out, but I would like to see it as 3.x because eventually it will become a LTS version 3.5. Git will also allow to see the progression of code change too. I am still working to pull this all together. Thanks so much for your interest! &lt;br /&gt;
::--- [[User:Hutchy68|Tom Hutchison]] ([[User talk:Hutchy68|talk]]) 16:15, 11 February 2013 (CST)&lt;br /&gt;
&lt;br /&gt;
::The MVC tutorial in my user pages is a complete update/rewrite of the original 1.7 tutorial mostly created by Christophe, it has at some point also been reviewed by several people in the JBS. It is currently 100% up to date with the code in the zip packages as far as I know. &lt;br /&gt;
&lt;br /&gt;
::Also I noticed that a joomla/jdoc-examples repository has been created for this purpose on GitHub. I do not know if these two &amp;quot;projects&amp;quot; are related but if they are I would encourage whoever responsible to put a folder structure in place for storing more than just tutorials. For example something like...&lt;br /&gt;
&lt;br /&gt;
::* Tutorials&lt;br /&gt;
::** Component&lt;br /&gt;
::** Module&lt;br /&gt;
::** Plugin&lt;br /&gt;
::*** System plugin&lt;br /&gt;
::*** User plugin&lt;br /&gt;
::*** Etc..&lt;br /&gt;
::** Library&lt;br /&gt;
::** Template&lt;br /&gt;
::* Extensions&lt;br /&gt;
::** Example extension 1&lt;br /&gt;
::** Example extension 2&lt;br /&gt;
::** Etc...&lt;br /&gt;
::* Code snippets&lt;br /&gt;
::** Code snippet 1&lt;br /&gt;
::** Code snippet 2&lt;br /&gt;
::** Etc..&lt;br /&gt;
&lt;br /&gt;
:: I submitted a pull request on GitHub which implements this idea, so i&#039;ll just wait and see whether it&#039;s pulled or not. [https://github.com/joomla/jdoc-examples/pull/1 Pull Request #1]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::::--- [[User:Rvsjoen|Rvsjoen]] ([[User talk:Rvsjoen|talk]]) 06:44, 12 February 2013 (CST)&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User_talk:Tom_Hutchison&amp;diff=81107</id>
		<title>User talk:Tom Hutchison</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User_talk:Tom_Hutchison&amp;diff=81107"/>
		<updated>2013-02-12T12:44:06Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Module and Template Development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== vel list ==&lt;br /&gt;
&lt;br /&gt;
I have reverted your changes. &lt;br /&gt;
With all due respect enzsure that before you alter anything protected you should read and observe the comments on the talk pages&lt;br /&gt;
namely&lt;br /&gt;
&lt;br /&gt;
 Talk:Vulnerable Extensions List&lt;br /&gt;
Jump to: navigation, search&lt;br /&gt;
&lt;br /&gt;
All questions should be addressed to the vel @ joomla.org email address (without the spaces)&lt;br /&gt;
&lt;br /&gt;
Only known users to edit anything previously agreed items on this page.&lt;br /&gt;
&lt;br /&gt;
== cont ==&lt;br /&gt;
&lt;br /&gt;
In response to youre previous message - not sure why you added on my talk page but still &lt;br /&gt;
Beyond the cut and paste of previous editors comments.&lt;br /&gt;
Please ask Chris Davenport for the history on this document, and if you have any concerns or questions contact the vel team as detailed to do on the vel talk page.&lt;br /&gt;
:I posted on your talk page, because I have no way of knowing if you are watching my talk page for replies without certain installed Mediawiki extensions. Will PM you and Phil on the forum. [[User:Hutchy68|Tom Hutchison]] ([[User talk:Hutchy68|talk]]) 16:04, 22 October 2012 (CDT)&lt;br /&gt;
&lt;br /&gt;
Received no PM or email to the vel list from you. Your rechanges reversed.&lt;br /&gt;
--[[User:Mandville|Mandville]] ([[User talk:Mandville|talk]]) 12:50, 27 October 2012 (CDT)&lt;br /&gt;
&lt;br /&gt;
:Phil already reverted the mis-spelling, the categorisation of the page stands as is and will. Since it was for enhancement suggestions, I didn&#039;t realise the clock was ticking. I have been trying to research everything, because I wanted to address all concerns with solutions. At this point, I am probably just wasting my time and effort. [[User:Hutchy68|Tom Hutchison]] ([[User talk:Hutchy68|talk]]) 14:27, 27 October 2012 (CDT)&lt;br /&gt;
&lt;br /&gt;
== Security checklist 7 ==&lt;br /&gt;
&lt;br /&gt;
in reference to history entry for the checklist 7,  16:44, 13 October 2012‎ - (Removed protection from &amp;quot;Security Checklist/You have been hacked or defaced&amp;quot;: hmm, don&#039;t know why this was protected, error - reset to all edit)&lt;br /&gt;
&lt;br /&gt;
http://docs.joomla.org/Security_Checklist/You_have_been_hacked_or_defaced&lt;br /&gt;
and history&lt;br /&gt;
http://docs.joomla.org/index.php?title=Security_Checklist/You_have_been_hacked_or_defaced&amp;amp;action=history&lt;br /&gt;
&lt;br /&gt;
The checklist was protected as incorrect and sometimes potentially damaging edits were being made mainly to the Chmod and Cron section shell scripts of the page. &lt;br /&gt;
&lt;br /&gt;
This goes back to a few pages are protected for a reason. The reason in this case for the safety of the end users site. While I would suggest this page remain protected from regular editing for reasons outlined above, Though I would feel better if the page was again protected, I will let it stay as unprotected for now unless another incident of changing or modifying the shell scripts occurs which would potentially damage or delete someones site if the modified script(s) are used before the changes can be rolled back.&lt;br /&gt;
:Protected again to keep the content of the page from being changed. I also added the Permissions page into the series. [[User:Hutchy68|Tom Hutchison]] ([[User talk:Hutchy68|talk]]) 07:11, 29 October 2012 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
 Please revert the title of the page as was. It is universally known as checklist 7.&lt;br /&gt;
It was and is part of the security checklists 1-6 &lt;br /&gt;
Please also reneable full protection of the document to those previously listed - namely PhilD, myself and Lafrance.&lt;br /&gt;
This is another previously agreed protected, nominated document.&lt;br /&gt;
&lt;br /&gt;
--[[User:Mandville|Mandville]] ([[User talk:Mandville|talk]]) 17:13, 3 November 2012 (CDT)&lt;br /&gt;
&lt;br /&gt;
:Protection was enabled days ago, Security Checklist 7 can still be referenced, it now redirects to the page. You need to understand, documentation is changing, improving, becoming more organized for Joomla! users. Nothing is ever set in stone. Even Joomla! improves and new releases are now being done at a set pace. [[User:Hutchy68|Tom Hutchison]] ([[User talk:Hutchy68|talk]]) 17:24, 3 November 2012 (CDT)&lt;br /&gt;
&lt;br /&gt;
== Moving sensitive files outside the web root archive ==&lt;br /&gt;
&lt;br /&gt;
Tom the page looks good Thanks&lt;br /&gt;
&lt;br /&gt;
== Barnstar and a few bits and bobs ==&lt;br /&gt;
&lt;br /&gt;
Thankyou very much for the barnstar!!&lt;br /&gt;
One thing I&#039;ve noticed whilst doing the help screens is that when you press the help buttons in Joomla 2.5 is that there are [edit] links next to each section. But these links take you to a blank page - so is there any way we can drop the edit buttons?&lt;br /&gt;
&lt;br /&gt;
Also I noticed one of the help buttons earlier today took you to the Joomla 1.6 help page instead of the 2.5 (when pressed in Joomla 2.5). It was one of the menu items  - but typically as I&#039;m writing this I&#039;ve completely forgotten which - not sure how easy it will be to check up on this!&lt;br /&gt;
&lt;br /&gt;
Thanks again,&lt;br /&gt;
George&lt;br /&gt;
&lt;br /&gt;
:No problem! You deserved one, you&#039;ve done a lot of work on the 2.5 Help Screens and other articles over the past week! &lt;br /&gt;
&lt;br /&gt;
:The link itself is nulled out by the proxy. The [edit] link used to be regex&#039;d out but since the MW 1.16 to 1.19 update, something must have changed in 1.19. We are looking at that. Another thought was to use &amp;lt;nowiki&amp;gt;__NOSECTIONEDIT__&amp;lt;/nowiki&amp;gt; to remove the [edit] links from the page. Makes it harder to update them, but once the Help screen is done it should not be necessary to update them. At least not a regular task, just a bug fix or small tweak here and there. &lt;br /&gt;
&lt;br /&gt;
:Was the link in the pop-up window&#039;s address bar something like ...help.joomla.org/proxy/index.php?option=com_help&amp;amp;keyref=Help16  or just the page contained information of a 1.6 Help Screen? The first would be a bug, second is a possibility. The next version released Help screens are dumped into the new namespace and content of page links are changed to reflect the new namespace for the new release. I know there are a couple of 1.7 Help screens using pure transclusion to show the 1.6, something like:&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;{{:Help16:The_name_of the_1.6_HelpScreen}}&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; is the only content so it may have just been put into the 2.5 screen.&lt;br /&gt;
&lt;br /&gt;
:Let me know if you can remember if it was content or address and I&#039;ll see if I can track it down.&lt;br /&gt;
::--Thanks again! [[User:Hutchy68|Tom Hutchison]] ([[User talk:Hutchy68|talk]]) 20:42, 9 February 2013 (CST)&lt;br /&gt;
&lt;br /&gt;
:::Found another link issue whilst trying to find that Joomla 1.6 link:&lt;br /&gt;
:::External URL page - Page takes you to: http://help.joomla.org/proxy/index.php?option=com_help&amp;amp;keyref=Help25:Menus_Menu_Item_Manager_Edit instead of the external URL page http://docs.joomla.org/Help25:Menus_Menu_Item_External_Url&lt;br /&gt;
:::Cheers for the information!&lt;br /&gt;
:::--[[User:Wilsonge|Wilsonge]] ([[User talk:Wilsonge|talk]]) 02:38, 10 February 2013 (CST)&lt;br /&gt;
&lt;br /&gt;
::Thanks George! I knew this problem existed in Joomla! 3, but didn&#039;t have a chance to check 2.5. Assumed it did. It actually is everything under, System Links in Menu selection.  The other two Help Screen pages are &#039;red links&#039; still, but they will have the same issue. I filed a tracker here: [http://code.joomla.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_id=11410&amp;amp;tracker_item_id=30091 Tracker 30091].&lt;br /&gt;
&lt;br /&gt;
:: I also had to filed another tracker for [http://code.joomla.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_id=11410&amp;amp;tracker_item_id=30090 Module Manager - Edit - (Blank page)]:&lt;br /&gt;
::*Select Site -&amp;gt; Control Panel (Landing page when first logging on to administration) &lt;br /&gt;
::*Select Help -&amp;gt; Joomla Help Click link in left sidebar: &#039;Module Manager - Edit&#039; &lt;br /&gt;
::*View a blank page, ref to source on docs.joomla.org which does not exist.&lt;br /&gt;
&lt;br /&gt;
::This is actually causing a 404 error, need to address this right away as it is a &amp;quot;Top 10&amp;quot; requested Help Screen page for all Help Screens. Some of the issues in 3.0 are 2.5 used a modal window and now 3.0 has an actual page. These might not be corrected till the release of 2.5.10. I&#039;ll look into it.&lt;br /&gt;
:::---Thanks again! [[User:Hutchy68|Tom Hutchison]] ([[User talk:Hutchy68|talk]]) 09:30, 10 February 2013 (CST)&lt;br /&gt;
&lt;br /&gt;
:::Nice one with the trackers. The link was an address by the way for the 1.6. But I went through all the menu items I edited his w/e and I can&#039;t see it. So I&#039;m not sure where it was now. Will have to go on a hunt!&lt;br /&gt;
:::Cheers! --[[User:Wilsonge|Wilsonge]] ([[User talk:Wilsonge|talk]]) 02:47, 11 February 2013 (CST)&lt;br /&gt;
&lt;br /&gt;
== Module and Template Development ==&lt;br /&gt;
&lt;br /&gt;
Hi, I saw your post on my discussion page regarding the tutorials. It has always been the intention to move these articles out into the global namespace. The primary reason the tutorials currently live in my user namespace is three-fold:&lt;br /&gt;
&lt;br /&gt;
1. I didn&#039;t want the code in the articles to diverge from the code in the repository as I have seen happen numerous times in other tutorials. People have a habit of updating tutorial pages and not the source code packages which ultimately create a lot of confusion.&lt;br /&gt;
2. I wanted to test them out for a while to rule out bugs. (I consider this phase to be completed)&lt;br /&gt;
3. Since the release of 2.5 I have been meaning to find the time to remove a bit of deprecated code to make it fully &amp;quot;2.5&amp;quot; compliant.&lt;br /&gt;
&lt;br /&gt;
As I have not had time to perform the last step yet, they have remained in my user namespace. I also started on a basic module and template tutorial that I have not had the time to finish.&lt;br /&gt;
&lt;br /&gt;
That being said, I would be happy to help maintain the tutorial code for developers as far as my time allows and this may also help me jump-start my own effort in this area. I have previously suggested adding a &amp;quot;joomla-tutorials&amp;quot; project under the &amp;quot;joomla&amp;quot; organization in GitHub but regardless of how this is deployed I think it would be a very healthy approach to the management of tutorial code.&lt;br /&gt;
&lt;br /&gt;
[[User:Rvsjoen|Rvsjoen]] ([[User talk:Rvsjoen|talk]]) 14:31, 11 February 2013 (CST)&lt;br /&gt;
&lt;br /&gt;
:That&#039;s great Rvsjoen! I didn&#039;t even know you had a MVC tutorial in your user pages. I&#039;m trying to pull together the docs, improve them and get the devs involved again. If we move them, I will mark them as incomplete so they can be checked against code on pages vs. code in zips. Something I agree with, they need to be the same and maintained as such. This is why there is interest in moving it all to GitHub. We should maintain a version specific structure. 2.5 is easy and 1.6 and 1.7 should be dropped. 3.0 is already out, but I would like to see it as 3.x because eventually it will become a LTS version 3.5. Git will also allow to see the progression of code change too. I am still working to pull this all together. Thanks so much for your interest! &lt;br /&gt;
::--- [[User:Hutchy68|Tom Hutchison]] ([[User talk:Hutchy68|talk]]) 16:15, 11 February 2013 (CST)&lt;br /&gt;
&lt;br /&gt;
::The MVC tutorial in my user pages is a complete update/rewrite of the original 1.7 tutorial mostly created by Christophe, it has at some point also been reviewed by several people in the JBS. It is currently 100% up to date with the code in the zip packages as far as I know. &lt;br /&gt;
&lt;br /&gt;
::Also I noticed that a joomla/jdoc-examples repository has been created for this purpose on GitHub. I do not know if these two &amp;quot;projects&amp;quot; are related but if they are I would encourage whoever responsible to put a folder structure in place for storing more than just tutorials. For example something like...&lt;br /&gt;
&lt;br /&gt;
::* Tutorials&lt;br /&gt;
::** Component&lt;br /&gt;
::** Module&lt;br /&gt;
::** Plugin&lt;br /&gt;
::*** System plugin&lt;br /&gt;
::*** User plugin&lt;br /&gt;
::*** Etc..&lt;br /&gt;
::** Library&lt;br /&gt;
::** Template&lt;br /&gt;
::* Extensions&lt;br /&gt;
::** Example extension 1&lt;br /&gt;
::** Example extension 2&lt;br /&gt;
::** Etc...&lt;br /&gt;
::* Code snippets&lt;br /&gt;
::** Code snippet 1&lt;br /&gt;
::** Code snippet 2&lt;br /&gt;
::** Etc..&lt;br /&gt;
&lt;br /&gt;
::::--- [[User:Rvsjoen|Rvsjoen]] ([[User talk:Rvsjoen|talk]]) 06:44, 12 February 2013 (CST)&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User_talk:Tom_Hutchison&amp;diff=81081</id>
		<title>User talk:Tom Hutchison</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User_talk:Tom_Hutchison&amp;diff=81081"/>
		<updated>2013-02-11T20:31:45Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== vel list ==&lt;br /&gt;
&lt;br /&gt;
I have reverted your changes. &lt;br /&gt;
With all due respect enzsure that before you alter anything protected you should read and observe the comments on the talk pages&lt;br /&gt;
namely&lt;br /&gt;
&lt;br /&gt;
 Talk:Vulnerable Extensions List&lt;br /&gt;
Jump to: navigation, search&lt;br /&gt;
&lt;br /&gt;
All questions should be addressed to the vel @ joomla.org email address (without the spaces)&lt;br /&gt;
&lt;br /&gt;
Only known users to edit anything previously agreed items on this page.&lt;br /&gt;
&lt;br /&gt;
== cont ==&lt;br /&gt;
&lt;br /&gt;
In response to youre previous message - not sure why you added on my talk page but still &lt;br /&gt;
Beyond the cut and paste of previous editors comments.&lt;br /&gt;
Please ask Chris Davenport for the history on this document, and if you have any concerns or questions contact the vel team as detailed to do on the vel talk page.&lt;br /&gt;
:I posted on your talk page, because I have no way of knowing if you are watching my talk page for replies without certain installed Mediawiki extensions. Will PM you and Phil on the forum. [[User:Hutchy68|Tom Hutchison]] ([[User talk:Hutchy68|talk]]) 16:04, 22 October 2012 (CDT)&lt;br /&gt;
&lt;br /&gt;
Received no PM or email to the vel list from you. Your rechanges reversed.&lt;br /&gt;
--[[User:Mandville|Mandville]] ([[User talk:Mandville|talk]]) 12:50, 27 October 2012 (CDT)&lt;br /&gt;
&lt;br /&gt;
:Phil already reverted the mis-spelling, the categorisation of the page stands as is and will. Since it was for enhancement suggestions, I didn&#039;t realise the clock was ticking. I have been trying to research everything, because I wanted to address all concerns with solutions. At this point, I am probably just wasting my time and effort. [[User:Hutchy68|Tom Hutchison]] ([[User talk:Hutchy68|talk]]) 14:27, 27 October 2012 (CDT)&lt;br /&gt;
&lt;br /&gt;
== Security checklist 7 ==&lt;br /&gt;
&lt;br /&gt;
in reference to history entry for the checklist 7,  16:44, 13 October 2012‎ - (Removed protection from &amp;quot;Security Checklist/You have been hacked or defaced&amp;quot;: hmm, don&#039;t know why this was protected, error - reset to all edit)&lt;br /&gt;
&lt;br /&gt;
http://docs.joomla.org/Security_Checklist/You_have_been_hacked_or_defaced&lt;br /&gt;
and history&lt;br /&gt;
http://docs.joomla.org/index.php?title=Security_Checklist/You_have_been_hacked_or_defaced&amp;amp;action=history&lt;br /&gt;
&lt;br /&gt;
The checklist was protected as incorrect and sometimes potentially damaging edits were being made mainly to the Chmod and Cron section shell scripts of the page. &lt;br /&gt;
&lt;br /&gt;
This goes back to a few pages are protected for a reason. The reason in this case for the safety of the end users site. While I would suggest this page remain protected from regular editing for reasons outlined above, Though I would feel better if the page was again protected, I will let it stay as unprotected for now unless another incident of changing or modifying the shell scripts occurs which would potentially damage or delete someones site if the modified script(s) are used before the changes can be rolled back.&lt;br /&gt;
:Protected again to keep the content of the page from being changed. I also added the Permissions page into the series. [[User:Hutchy68|Tom Hutchison]] ([[User talk:Hutchy68|talk]]) 07:11, 29 October 2012 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
 Please revert the title of the page as was. It is universally known as checklist 7.&lt;br /&gt;
It was and is part of the security checklists 1-6 &lt;br /&gt;
Please also reneable full protection of the document to those previously listed - namely PhilD, myself and Lafrance.&lt;br /&gt;
This is another previously agreed protected, nominated document.&lt;br /&gt;
&lt;br /&gt;
--[[User:Mandville|Mandville]] ([[User talk:Mandville|talk]]) 17:13, 3 November 2012 (CDT)&lt;br /&gt;
&lt;br /&gt;
:Protection was enabled days ago, Security Checklist 7 can still be referenced, it now redirects to the page. You need to understand, documentation is changing, improving, becoming more organized for Joomla! users. Nothing is ever set in stone. Even Joomla! improves and new releases are now being done at a set pace. [[User:Hutchy68|Tom Hutchison]] ([[User talk:Hutchy68|talk]]) 17:24, 3 November 2012 (CDT)&lt;br /&gt;
&lt;br /&gt;
== Moving sensitive files outside the web root archive ==&lt;br /&gt;
&lt;br /&gt;
Tom the page looks good Thanks&lt;br /&gt;
&lt;br /&gt;
== Barnstar and a few bits and bobs ==&lt;br /&gt;
&lt;br /&gt;
Thankyou very much for the barnstar!!&lt;br /&gt;
One thing I&#039;ve noticed whilst doing the help screens is that when you press the help buttons in Joomla 2.5 is that there are [edit] links next to each section. But these links take you to a blank page - so is there any way we can drop the edit buttons?&lt;br /&gt;
&lt;br /&gt;
Also I noticed one of the help buttons earlier today took you to the Joomla 1.6 help page instead of the 2.5 (when pressed in Joomla 2.5). It was one of the menu items  - but typically as I&#039;m writing this I&#039;ve completely forgotten which - not sure how easy it will be to check up on this!&lt;br /&gt;
&lt;br /&gt;
Thanks again,&lt;br /&gt;
George&lt;br /&gt;
&lt;br /&gt;
:No problem! You deserved one, you&#039;ve done a lot of work on the 2.5 Help Screens and other articles over the past week! &lt;br /&gt;
&lt;br /&gt;
:The link itself is nulled out by the proxy. The [edit] link used to be regex&#039;d out but since the MW 1.16 to 1.19 update, something must have changed in 1.19. We are looking at that. Another thought was to use &amp;lt;nowiki&amp;gt;__NOSECTIONEDIT__&amp;lt;/nowiki&amp;gt; to remove the [edit] links from the page. Makes it harder to update them, but once the Help screen is done it should not be necessary to update them. At least not a regular task, just a bug fix or small tweak here and there. &lt;br /&gt;
&lt;br /&gt;
:Was the link in the pop-up window&#039;s address bar something like ...help.joomla.org/proxy/index.php?option=com_help&amp;amp;keyref=Help16  or just the page contained information of a 1.6 Help Screen? The first would be a bug, second is a possibility. The next version released Help screens are dumped into the new namespace and content of page links are changed to reflect the new namespace for the new release. I know there are a couple of 1.7 Help screens using pure transclusion to show the 1.6, something like:&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;{{:Help16:The_name_of the_1.6_HelpScreen}}&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; is the only content so it may have just been put into the 2.5 screen.&lt;br /&gt;
&lt;br /&gt;
:Let me know if you can remember if it was content or address and I&#039;ll see if I can track it down.&lt;br /&gt;
::--Thanks again! [[User:Hutchy68|Tom Hutchison]] ([[User talk:Hutchy68|talk]]) 20:42, 9 February 2013 (CST)&lt;br /&gt;
&lt;br /&gt;
:::Found another link issue whilst trying to find that Joomla 1.6 link:&lt;br /&gt;
:::External URL page - Page takes you to: http://help.joomla.org/proxy/index.php?option=com_help&amp;amp;keyref=Help25:Menus_Menu_Item_Manager_Edit instead of the external URL page http://docs.joomla.org/Help25:Menus_Menu_Item_External_Url&lt;br /&gt;
:::Cheers for the information!&lt;br /&gt;
:::--[[User:Wilsonge|Wilsonge]] ([[User talk:Wilsonge|talk]]) 02:38, 10 February 2013 (CST)&lt;br /&gt;
&lt;br /&gt;
::Thanks George! I knew this problem existed in Joomla! 3, but didn&#039;t have a chance to check 2.5. Assumed it did. It actually is everything under, System Links in Menu selection.  The other two Help Screen pages are &#039;red links&#039; still, but they will have the same issue. I filed a tracker here: [http://code.joomla.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_id=11410&amp;amp;tracker_item_id=30091 Tracker 30091].&lt;br /&gt;
&lt;br /&gt;
:: I also had to filed another tracker for [http://code.joomla.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_id=11410&amp;amp;tracker_item_id=30090 Module Manager - Edit - (Blank page)]:&lt;br /&gt;
::*Select Site -&amp;gt; Control Panel (Landing page when first logging on to administration) &lt;br /&gt;
::*Select Help -&amp;gt; Joomla Help Click link in left sidebar: &#039;Module Manager - Edit&#039; &lt;br /&gt;
::*View a blank page, ref to source on docs.joomla.org which does not exist.&lt;br /&gt;
&lt;br /&gt;
::This is actually causing a 404 error, need to address this right away as it is a &amp;quot;Top 10&amp;quot; requested Help Screen page for all Help Screens. Some of the issues in 3.0 are 2.5 used a modal window and now 3.0 has an actual page. These might not be corrected till the release of 2.5.10. I&#039;ll look into it.&lt;br /&gt;
:::---Thanks again! [[User:Hutchy68|Tom Hutchison]] ([[User talk:Hutchy68|talk]]) 09:30, 10 February 2013 (CST)&lt;br /&gt;
&lt;br /&gt;
:::Nice one with the trackers. The link was an address by the way for the 1.6. But I went through all the menu items I edited his w/e and I can&#039;t see it. So I&#039;m not sure where it was now. Will have to go on a hunt!&lt;br /&gt;
:::Cheers! --[[User:Wilsonge|Wilsonge]] ([[User talk:Wilsonge|talk]]) 02:47, 11 February 2013 (CST)&lt;br /&gt;
&lt;br /&gt;
== Module and Template Development ==&lt;br /&gt;
&lt;br /&gt;
Hi, I saw your post on my discussion page regarding the tutorials. It has always been the intention to move these articles out into the global namespace. The primary reason the tutorials currently live in my user namespace is three-fold:&lt;br /&gt;
&lt;br /&gt;
1. I didn&#039;t want the code in the articles to diverge from the code in the repository as I have seen happen numerous times in other tutorials. People have a habit of updating tutorial pages and not the source code packages which ultimately create a lot of confusion.&lt;br /&gt;
2. I wanted to test them out for a while to rule out bugs. (I consider this phase to be completed)&lt;br /&gt;
3. Since the release of 2.5 I have been meaning to find the time to remove a bit of deprecated code to make it fully &amp;quot;2.5&amp;quot; compliant.&lt;br /&gt;
&lt;br /&gt;
As I have not had time to perform the last step yet, they have remained in my user namespace. I also started on a basic module and template tutorial that I have not had the time to finish.&lt;br /&gt;
&lt;br /&gt;
That being said, I would be happy to help maintain the tutorial code for developers as far as my time allows and this may also help me jump-start my own effort in this area. I have previously suggested adding a &amp;quot;joomla-tutorials&amp;quot; project under the &amp;quot;joomla&amp;quot; organization in GitHub but regardless of how this is deployed I think it would be a very healthy approach to the management of tutorial code.&lt;br /&gt;
&lt;br /&gt;
[[User:Rvsjoen|Rvsjoen]] ([[User talk:Rvsjoen|talk]]) 14:31, 11 February 2013 (CST)&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Chunks:Developing_an_MVC_Component_Contents&amp;diff=68236</id>
		<title>Chunks:Developing an MVC Component Contents</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Chunks:Developing_an_MVC_Component_Contents&amp;diff=68236"/>
		<updated>2012-07-11T16:07:23Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial is supported by the following versions of Joomla! &lt;br /&gt;
&lt;br /&gt;
{{JVer|2.5}}&lt;br /&gt;
&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_an_MVC_Component|Introduction]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part 01|Part 01 - Developing a Basic Component]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing an MVC Component/Part 02|Part 02 - Adding a view to the frontend]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing an MVC Component/Part 03|Part 03 - Adding a menu item type to the frontend]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing an MVC Component/Part 04|Part 04 - Adding a model to the frontend]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing an MVC Component/Part 05|Part 05 - Adding options to menu items]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing an MVC Component/Part 06|Part 06 - Using a database]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing an MVC Component/Part 07|Part 07 - Basic backend]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing an MVC Component/Part 08|Part 08 - Adding language translation]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing an MVC Component/Part 09|Part 09 - Adding actions to backend]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing an MVC Component/Part 10|Part 10 - Adding decorations to the backend]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing an MVC Component/Part 11|Part 11 - Adding validation]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing an MVC Component/Part 12|Part 12 - Adding categories]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing an MVC Component/Part 13|Part 13 - Adding component options]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing an MVC Component/Part 14|Part 14 - Adding ACL]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing an MVC Component/Part 15|Part 15 - Adding a script file]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing an MVC Component/Part 16|Part 16 - Adding front-end editing]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing an MVC Component/Part 17|Part 17 - Creating a custom task]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing an MVC Component/Part 18|Part 18 - Adding an update server]]&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_16&amp;diff=68046</id>
		<title>User:Rvsjoen/tutorial/Developing an MVC Component/Part 16</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_16&amp;diff=68046"/>
		<updated>2012-06-27T11:50:46Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Installation manifest */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Using AJAX in the frontend =&lt;br /&gt;
&lt;br /&gt;
So moving on, we probably want our interface to become slightly more dynamic, using AJAX requests and dynamically updating the page and stuff. Some would consider it black magic, but in reality it isn&#039;t that hard. The first thing we need to do is to load our favorite JavaScript framework, as Mootools comes shipped with the Joomla! core this is what we will use.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, update the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;site/views/helloworld/view.html.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;site/views/helloworld/view.html.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @package		Joomla.Tutorials&lt;br /&gt;
 * @subpackage	Component&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license		License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
&lt;br /&gt;
jimport(&#039;joomla.application.component.view&#039;);&lt;br /&gt;
&lt;br /&gt;
class HelloWorldViewHelloWorld extends JView&lt;br /&gt;
{&lt;br /&gt;
	public function display($tpl = null) &lt;br /&gt;
	{&lt;br /&gt;
		// Assign data to the view&lt;br /&gt;
		$this-&amp;gt;item = $this-&amp;gt;get(&#039;item&#039;);&lt;br /&gt;
		&lt;br /&gt;
		// Prepare the document&lt;br /&gt;
		$this-&amp;gt;prepareDocument();&lt;br /&gt;
&lt;br /&gt;
		// Display the view&lt;br /&gt;
		parent::display($tpl);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	protected function prepareDocument()&lt;br /&gt;
	{&lt;br /&gt;
		JHtml::_(&#039;behavior.framework&#039;);&lt;br /&gt;
		$doc = JFactory::getDocument();&lt;br /&gt;
		$doc-&amp;gt;addScript(JURI::base(true).&#039;/media/com_helloworld/js/script.js&#039;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, we have added a new function &#039;&#039;&#039;prepareDocument()&#039;&#039;&#039; which is a convenience function used to (yeah you guessed it..) prepare the document for rendering. Here we first load the framework by calling &#039;&#039;&#039;JHtml&#039;&#039;&#039; and afterwards we add another script file to our component. This script file we are going to create in a second.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, update the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;media/com_helloworld/js/ajax.js&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;media/com_helloworld/js/ajax.js&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * @package		Joomla.Tutorials&lt;br /&gt;
 * @subpackage	Components&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license		License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
window.addEvent(&#039;domready&#039;, function() {&lt;br /&gt;
	$(&#039;ajax-alert&#039;).addEvent(&#039;click&#039;, function(event) {&lt;br /&gt;
		// Prevent the page from changing&lt;br /&gt;
		event.stop();&lt;br /&gt;
		// Make the ajax call&lt;br /&gt;
		var req = new Request({&lt;br /&gt;
			method : &#039;get&#039;,&lt;br /&gt;
			url : $(&#039;ajax-alert&#039;).get(&#039;href&#039;),&lt;br /&gt;
			data : {&lt;br /&gt;
				&#039;do&#039; : &#039;1&#039;&lt;br /&gt;
			},&lt;br /&gt;
			onRequest : function() {&lt;br /&gt;
				alert(&#039;Request made. Please wait...&#039;);&lt;br /&gt;
			},&lt;br /&gt;
			onComplete : function(response) {&lt;br /&gt;
				alert(&#039;Response: &#039; + response);&lt;br /&gt;
			}&lt;br /&gt;
		}).send();&lt;br /&gt;
	});&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation manifest ==&lt;br /&gt;
&lt;br /&gt;
Now all we have to do is update the version number and we&#039;re done. We do not need any other changes to the manifest this time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;helloworld.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;helloworld.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; highlight=&amp;quot;13&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;component&amp;quot; version=&amp;quot;2.5.0&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;name&amp;gt;COM_HELLOWORLD&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;!-- The following elements are optional and free of formatting constraints --&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;June 2011&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
        &amp;lt;!--  The version string is stored in the components table --&amp;gt;&lt;br /&gt;
        &amp;lt;version&amp;gt;0.0.16&amp;lt;/version&amp;gt;&lt;br /&gt;
        &amp;lt;!-- The description is optional and defaults to the name --&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;COM_HELLOWORLD_DESCRIPTION&amp;lt;/description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;scriptfile&amp;gt;script.php&amp;lt;/scriptfile&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;install&amp;gt;&lt;br /&gt;
                &amp;lt;sql&amp;gt;&lt;br /&gt;
                        &amp;lt;file driver=&amp;quot;mysql&amp;quot; charset=&amp;quot;utf8&amp;quot;&amp;gt;sql/install.mysql.utf8.sql&amp;lt;/file&amp;gt;&lt;br /&gt;
                &amp;lt;/sql&amp;gt;&lt;br /&gt;
        &amp;lt;/install&amp;gt;&lt;br /&gt;
        &amp;lt;uninstall&amp;gt;&lt;br /&gt;
                &amp;lt;sql&amp;gt;&lt;br /&gt;
                        &amp;lt;file driver=&amp;quot;mysql&amp;quot; charset=&amp;quot;utf8&amp;quot;&amp;gt;sql/uninstall.mysql.utf8.sql&amp;lt;/file&amp;gt;&lt;br /&gt;
                &amp;lt;/sql&amp;gt;&lt;br /&gt;
        &amp;lt;/uninstall&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Note the folder attribute: This attribute describes the folder&lt;br /&gt;
                to copy FROM in the package to install therefore files copied&lt;br /&gt;
                in this section are copied from &amp;quot;site/&amp;quot; in the package --&amp;gt;&lt;br /&gt;
        &amp;lt;files folder=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;helloworld.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;controller.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;folder&amp;gt;views&amp;lt;/folder&amp;gt;&lt;br /&gt;
                &amp;lt;folder&amp;gt;models&amp;lt;/folder&amp;gt;&lt;br /&gt;
                &amp;lt;folder&amp;gt;language&amp;lt;/folder&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;media destination=&amp;quot;com_helloworld&amp;quot; folder=&amp;quot;media&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;folder&amp;gt;images&amp;lt;/folder&amp;gt;&lt;br /&gt;
                &amp;lt;folder&amp;gt;js&amp;lt;/folder&amp;gt;&lt;br /&gt;
        &amp;lt;/media&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;administration&amp;gt;&lt;br /&gt;
                &amp;lt;menu img=&amp;quot;../media/com_helloworld/images/tux-16x16.png&amp;quot;&amp;gt;COM_HELLOWORLD_MENU&amp;lt;/menu&amp;gt;&lt;br /&gt;
                &amp;lt;submenu&amp;gt;&lt;br /&gt;
                        &amp;lt;menu view=&amp;quot;helloworlds&amp;quot;&amp;gt;COM_HELLOWORLD_SUBMENU_MESSAGES&amp;lt;/menu&amp;gt;&lt;br /&gt;
                        &amp;lt;menu link=&amp;quot;option=com_categories&amp;amp;amp;view=categories&amp;amp;amp;extension=com_helloworld&amp;quot;&amp;gt;COM_HELLOWORLD_SUBMENU_CATEGORIES&amp;lt;/menu&amp;gt;&lt;br /&gt;
                &amp;lt;/submenu&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Note the folder attribute: This attribute describes the folder&lt;br /&gt;
                        to copy FROM in the package to install therefore files copied&lt;br /&gt;
                        in this section are copied from &amp;quot;admin/&amp;quot; in the package --&amp;gt;&lt;br /&gt;
                &amp;lt;files folder=&amp;quot;admin&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
                        &amp;lt;filename&amp;gt;access.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
                        &amp;lt;filename&amp;gt;helloworld.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
                        &amp;lt;filename&amp;gt;controller.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
                        &amp;lt;filename&amp;gt;config.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
                        &amp;lt;folder&amp;gt;sql&amp;lt;/folder&amp;gt;&lt;br /&gt;
                        &amp;lt;folder&amp;gt;tables&amp;lt;/folder&amp;gt;&lt;br /&gt;
                        &amp;lt;folder&amp;gt;models&amp;lt;/folder&amp;gt;&lt;br /&gt;
                        &amp;lt;folder&amp;gt;views&amp;lt;/folder&amp;gt;&lt;br /&gt;
                        &amp;lt;folder&amp;gt;language&amp;lt;/folder&amp;gt;&lt;br /&gt;
                        &amp;lt;folder&amp;gt;controllers&amp;lt;/folder&amp;gt;&lt;br /&gt;
                        &amp;lt;folder&amp;gt;helpers&amp;lt;/folder&amp;gt;&lt;br /&gt;
                &amp;lt;/files&amp;gt;&lt;br /&gt;
        &amp;lt;/administration&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your component ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the component into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#Testing_your_component|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#helloworld.xml|helloworld.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_15#script.php|script.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_02#site/helloworld.php|site/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_02#site/controller.php|site/controller.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/views/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/views/helloworld/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#site/views/helloworld/view.html.php|site/views/helloworld/view.html.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/views/helloworld/tmpl/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#site/views/helloworld/tmpl/default.php|site/views/helloworld/tmpl/default.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_06#site/views/helloworld/tmpl/default.xml|site/views/helloworld/tmpl/default.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/models/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#site/models/helloworld.php|site/models/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/language/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/language/en-GB/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_08#site/language/en-GB/en-GB.com_helloworld.ini|site/language/en-GB/en-GB.com_helloworld.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_12#admin/helloworld.php|admin/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_12#admin/controller.php|admin/controller.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#admin/config.xml|admin/config.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/helpers/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_12#admin/helpers/helloworld.php|admin/helpers/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/controllers/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_09#admin/controllers/helloworld.php|admin/controllers/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_09#admin/controllers/helloworlds.php|admin/controllers/helloworlds.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/models/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_09#admin/models/helloworld.php|admin/models/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_07#admin/models/helloworlds.php|admin/models/helloworlds.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/models/fields/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_12#admin/models/fields/helloworld.php|admin/models/fields/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/models/forms/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#admin/models/forms/helloworld.xml|admin/models/forms/helloworld.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/models/rules/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_11#admin/models/rules/greeting.php|admin/models/rules/greeting.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_09#admin/models/helloworld.php|admin/models/helloworld.php]]&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/views/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/views/helloworld/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_11#admin/views/helloworld/view.html.php|admin/views/helloworld/view.html.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/views/helloworld/tmpl/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#admin/views/helloworld/tmpl/edit.php|admin/views/helloworld/tmpl/edit.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/views/helloworlds/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#admin/views/helloworlds/view.html.php|admin/views/helloworlds/view.html.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/views/helloworlds/tmpl/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_09#admin/views/helloworlds/tmpl/default.php|admin/views/helloworlds/tmpl/default.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_07#admin/views/helloworlds/tmpl/default_head.php|admin/views/helloworlds/tmpl/default_head.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_07#admin/views/helloworlds/tmpl/default_body.php|admin/views/helloworlds/tmpl/default_body.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_07#admin/views/helloworlds/tmpl/default_foot.php|admin/views/helloworlds/tmpl/default_foot.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/tables/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#admin/tables/helloworld.php|admin/tables/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/sql/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#admin/sql/install.mysql.utf8.sql|admin/sql/install.mysql.utf8.sql]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_06#admin/sql/uninstall.mysql.utf8.sql|admin/sql/uninstall.mysql.utf8.sql]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/language/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/language/en-GB/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#admin/language/en-GB/en-GB.com_helloworld.ini|admin/language/en-GB/en-GB.com_helloworld.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_15#admin/language/en-GB/en-GB.com_helloworld.sys.ini|admin/language/en-GB/en-GB.com_helloworld.sys.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|media/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|media/images/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_10#media/images/tux-16x16.png|media/images/tux-16x16.png]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_10#media/images/tux-16x16.png|media/images/tux-48x48.png]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|media/js/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_11#media/js/helloworld.js|media/js/helloworld.js]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/downloads/rvsjoen/joomla-tutorials/com_helloworld-part16.zip Download example package]&lt;br /&gt;
&lt;br /&gt;
== Articles in this series ==&lt;br /&gt;
{{:Chunks:Developing_an_MVC_Component_Contents}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_16&amp;diff=68045</id>
		<title>User:Rvsjoen/tutorial/Developing an MVC Component/Part 16</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_16&amp;diff=68045"/>
		<updated>2012-06-27T11:50:18Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Using AJAX in the frontend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Using AJAX in the frontend =&lt;br /&gt;
&lt;br /&gt;
So moving on, we probably want our interface to become slightly more dynamic, using AJAX requests and dynamically updating the page and stuff. Some would consider it black magic, but in reality it isn&#039;t that hard. The first thing we need to do is to load our favorite JavaScript framework, as Mootools comes shipped with the Joomla! core this is what we will use.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, update the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;site/views/helloworld/view.html.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;site/views/helloworld/view.html.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @package		Joomla.Tutorials&lt;br /&gt;
 * @subpackage	Component&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license		License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
&lt;br /&gt;
jimport(&#039;joomla.application.component.view&#039;);&lt;br /&gt;
&lt;br /&gt;
class HelloWorldViewHelloWorld extends JView&lt;br /&gt;
{&lt;br /&gt;
	public function display($tpl = null) &lt;br /&gt;
	{&lt;br /&gt;
		// Assign data to the view&lt;br /&gt;
		$this-&amp;gt;item = $this-&amp;gt;get(&#039;item&#039;);&lt;br /&gt;
		&lt;br /&gt;
		// Prepare the document&lt;br /&gt;
		$this-&amp;gt;prepareDocument();&lt;br /&gt;
&lt;br /&gt;
		// Display the view&lt;br /&gt;
		parent::display($tpl);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	protected function prepareDocument()&lt;br /&gt;
	{&lt;br /&gt;
		JHtml::_(&#039;behavior.framework&#039;);&lt;br /&gt;
		$doc = JFactory::getDocument();&lt;br /&gt;
		$doc-&amp;gt;addScript(JURI::base(true).&#039;/media/com_helloworld/js/script.js&#039;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, we have added a new function &#039;&#039;&#039;prepareDocument()&#039;&#039;&#039; which is a convenience function used to (yeah you guessed it..) prepare the document for rendering. Here we first load the framework by calling &#039;&#039;&#039;JHtml&#039;&#039;&#039; and afterwards we add another script file to our component. This script file we are going to create in a second.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, update the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;media/com_helloworld/js/ajax.js&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;media/com_helloworld/js/ajax.js&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * @package		Joomla.Tutorials&lt;br /&gt;
 * @subpackage	Components&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license		License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
window.addEvent(&#039;domready&#039;, function() {&lt;br /&gt;
	$(&#039;ajax-alert&#039;).addEvent(&#039;click&#039;, function(event) {&lt;br /&gt;
		// Prevent the page from changing&lt;br /&gt;
		event.stop();&lt;br /&gt;
		// Make the ajax call&lt;br /&gt;
		var req = new Request({&lt;br /&gt;
			method : &#039;get&#039;,&lt;br /&gt;
			url : $(&#039;ajax-alert&#039;).get(&#039;href&#039;),&lt;br /&gt;
			data : {&lt;br /&gt;
				&#039;do&#039; : &#039;1&#039;&lt;br /&gt;
			},&lt;br /&gt;
			onRequest : function() {&lt;br /&gt;
				alert(&#039;Request made. Please wait...&#039;);&lt;br /&gt;
			},&lt;br /&gt;
			onComplete : function(response) {&lt;br /&gt;
				alert(&#039;Response: &#039; + response);&lt;br /&gt;
			}&lt;br /&gt;
		}).send();&lt;br /&gt;
	});&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation manifest ==&lt;br /&gt;
&lt;br /&gt;
Now all we have to do is update the version number and we&#039;re done. We do not need any other changes to the manifest this time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;helloworld.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;helloworld.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; highlight=&amp;quot;17&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;component&amp;quot; version=&amp;quot;2.5.0&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;name&amp;gt;COM_HELLOWORLD&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;!-- The following elements are optional and free of formatting constraints --&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;June 2011&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
        &amp;lt;!--  The version string is stored in the components table --&amp;gt;&lt;br /&gt;
        &amp;lt;version&amp;gt;0.0.16&amp;lt;/version&amp;gt;&lt;br /&gt;
        &amp;lt;!-- The description is optional and defaults to the name --&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;COM_HELLOWORLD_DESCRIPTION&amp;lt;/description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;scriptfile&amp;gt;script.php&amp;lt;/scriptfile&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;install&amp;gt;&lt;br /&gt;
                &amp;lt;sql&amp;gt;&lt;br /&gt;
                        &amp;lt;file driver=&amp;quot;mysql&amp;quot; charset=&amp;quot;utf8&amp;quot;&amp;gt;sql/install.mysql.utf8.sql&amp;lt;/file&amp;gt;&lt;br /&gt;
                &amp;lt;/sql&amp;gt;&lt;br /&gt;
        &amp;lt;/install&amp;gt;&lt;br /&gt;
        &amp;lt;uninstall&amp;gt;&lt;br /&gt;
                &amp;lt;sql&amp;gt;&lt;br /&gt;
                        &amp;lt;file driver=&amp;quot;mysql&amp;quot; charset=&amp;quot;utf8&amp;quot;&amp;gt;sql/uninstall.mysql.utf8.sql&amp;lt;/file&amp;gt;&lt;br /&gt;
                &amp;lt;/sql&amp;gt;&lt;br /&gt;
        &amp;lt;/uninstall&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Note the folder attribute: This attribute describes the folder&lt;br /&gt;
                to copy FROM in the package to install therefore files copied&lt;br /&gt;
                in this section are copied from &amp;quot;site/&amp;quot; in the package --&amp;gt;&lt;br /&gt;
        &amp;lt;files folder=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;helloworld.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;controller.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;folder&amp;gt;views&amp;lt;/folder&amp;gt;&lt;br /&gt;
                &amp;lt;folder&amp;gt;models&amp;lt;/folder&amp;gt;&lt;br /&gt;
                &amp;lt;folder&amp;gt;language&amp;lt;/folder&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;media destination=&amp;quot;com_helloworld&amp;quot; folder=&amp;quot;media&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;folder&amp;gt;images&amp;lt;/folder&amp;gt;&lt;br /&gt;
                &amp;lt;folder&amp;gt;js&amp;lt;/folder&amp;gt;&lt;br /&gt;
        &amp;lt;/media&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;administration&amp;gt;&lt;br /&gt;
                &amp;lt;menu img=&amp;quot;../media/com_helloworld/images/tux-16x16.png&amp;quot;&amp;gt;COM_HELLOWORLD_MENU&amp;lt;/menu&amp;gt;&lt;br /&gt;
                &amp;lt;submenu&amp;gt;&lt;br /&gt;
                        &amp;lt;menu view=&amp;quot;helloworlds&amp;quot;&amp;gt;COM_HELLOWORLD_SUBMENU_MESSAGES&amp;lt;/menu&amp;gt;&lt;br /&gt;
                        &amp;lt;menu link=&amp;quot;option=com_categories&amp;amp;amp;view=categories&amp;amp;amp;extension=com_helloworld&amp;quot;&amp;gt;COM_HELLOWORLD_SUBMENU_CATEGORIES&amp;lt;/menu&amp;gt;&lt;br /&gt;
                &amp;lt;/submenu&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Note the folder attribute: This attribute describes the folder&lt;br /&gt;
                        to copy FROM in the package to install therefore files copied&lt;br /&gt;
                        in this section are copied from &amp;quot;admin/&amp;quot; in the package --&amp;gt;&lt;br /&gt;
                &amp;lt;files folder=&amp;quot;admin&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
                        &amp;lt;filename&amp;gt;access.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
                        &amp;lt;filename&amp;gt;helloworld.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
                        &amp;lt;filename&amp;gt;controller.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
                        &amp;lt;filename&amp;gt;config.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
                        &amp;lt;folder&amp;gt;sql&amp;lt;/folder&amp;gt;&lt;br /&gt;
                        &amp;lt;folder&amp;gt;tables&amp;lt;/folder&amp;gt;&lt;br /&gt;
                        &amp;lt;folder&amp;gt;models&amp;lt;/folder&amp;gt;&lt;br /&gt;
                        &amp;lt;folder&amp;gt;views&amp;lt;/folder&amp;gt;&lt;br /&gt;
                        &amp;lt;folder&amp;gt;language&amp;lt;/folder&amp;gt;&lt;br /&gt;
                        &amp;lt;folder&amp;gt;controllers&amp;lt;/folder&amp;gt;&lt;br /&gt;
                        &amp;lt;folder&amp;gt;helpers&amp;lt;/folder&amp;gt;&lt;br /&gt;
                &amp;lt;/files&amp;gt;&lt;br /&gt;
        &amp;lt;/administration&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your component ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the component into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#Testing_your_component|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#helloworld.xml|helloworld.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_15#script.php|script.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_02#site/helloworld.php|site/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_02#site/controller.php|site/controller.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/views/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/views/helloworld/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#site/views/helloworld/view.html.php|site/views/helloworld/view.html.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/views/helloworld/tmpl/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#site/views/helloworld/tmpl/default.php|site/views/helloworld/tmpl/default.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_06#site/views/helloworld/tmpl/default.xml|site/views/helloworld/tmpl/default.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/models/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#site/models/helloworld.php|site/models/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/language/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/language/en-GB/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_08#site/language/en-GB/en-GB.com_helloworld.ini|site/language/en-GB/en-GB.com_helloworld.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_12#admin/helloworld.php|admin/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_12#admin/controller.php|admin/controller.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#admin/config.xml|admin/config.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/helpers/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_12#admin/helpers/helloworld.php|admin/helpers/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/controllers/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_09#admin/controllers/helloworld.php|admin/controllers/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_09#admin/controllers/helloworlds.php|admin/controllers/helloworlds.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/models/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_09#admin/models/helloworld.php|admin/models/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_07#admin/models/helloworlds.php|admin/models/helloworlds.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/models/fields/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_12#admin/models/fields/helloworld.php|admin/models/fields/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/models/forms/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#admin/models/forms/helloworld.xml|admin/models/forms/helloworld.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/models/rules/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_11#admin/models/rules/greeting.php|admin/models/rules/greeting.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_09#admin/models/helloworld.php|admin/models/helloworld.php]]&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/views/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/views/helloworld/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_11#admin/views/helloworld/view.html.php|admin/views/helloworld/view.html.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/views/helloworld/tmpl/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#admin/views/helloworld/tmpl/edit.php|admin/views/helloworld/tmpl/edit.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/views/helloworlds/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#admin/views/helloworlds/view.html.php|admin/views/helloworlds/view.html.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/views/helloworlds/tmpl/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_09#admin/views/helloworlds/tmpl/default.php|admin/views/helloworlds/tmpl/default.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_07#admin/views/helloworlds/tmpl/default_head.php|admin/views/helloworlds/tmpl/default_head.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_07#admin/views/helloworlds/tmpl/default_body.php|admin/views/helloworlds/tmpl/default_body.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_07#admin/views/helloworlds/tmpl/default_foot.php|admin/views/helloworlds/tmpl/default_foot.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/tables/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#admin/tables/helloworld.php|admin/tables/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/sql/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#admin/sql/install.mysql.utf8.sql|admin/sql/install.mysql.utf8.sql]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_06#admin/sql/uninstall.mysql.utf8.sql|admin/sql/uninstall.mysql.utf8.sql]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/language/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/language/en-GB/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#admin/language/en-GB/en-GB.com_helloworld.ini|admin/language/en-GB/en-GB.com_helloworld.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_15#admin/language/en-GB/en-GB.com_helloworld.sys.ini|admin/language/en-GB/en-GB.com_helloworld.sys.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|media/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|media/images/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_10#media/images/tux-16x16.png|media/images/tux-16x16.png]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_10#media/images/tux-16x16.png|media/images/tux-48x48.png]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|media/js/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_11#media/js/helloworld.js|media/js/helloworld.js]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/downloads/rvsjoen/joomla-tutorials/com_helloworld-part16.zip Download example package]&lt;br /&gt;
&lt;br /&gt;
== Articles in this series ==&lt;br /&gt;
{{:Chunks:Developing_an_MVC_Component_Contents}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_16&amp;diff=68044</id>
		<title>User:Rvsjoen/tutorial/Developing an MVC Component/Part 16</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_16&amp;diff=68044"/>
		<updated>2012-06-27T11:50:00Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: Created page with &amp;quot;= Using AJAX in the frontend =  So moving on, we probably want our interface to become slightly more dynamic, using AJAX requests and dynamically updating the page and stuff. Som...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Using AJAX in the frontend =&lt;br /&gt;
&lt;br /&gt;
So moving on, we probably want our interface to become slightly more dynamic, using AJAX requests and dynamically updating the page and stuff. Some would consider it black magic, but in reality it isn&#039;t that hard. The first thing we need to do is to load our favorite JavaScript framework, as Mootools comes shipped with the Joomla! core this is what we will use.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, update the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;site/views/helloworld/view.html.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;site/views/helloworld/view.html.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @package		Joomla.Tutorials&lt;br /&gt;
 * @subpackage	Component&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license		License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
&lt;br /&gt;
jimport(&#039;joomla.application.component.view&#039;);&lt;br /&gt;
&lt;br /&gt;
class HelloWorldViewHelloWorld extends JView&lt;br /&gt;
{&lt;br /&gt;
	public function display($tpl = null) &lt;br /&gt;
	{&lt;br /&gt;
		// Assign data to the view&lt;br /&gt;
		$this-&amp;gt;item = $this-&amp;gt;get(&#039;item&#039;);&lt;br /&gt;
		&lt;br /&gt;
		// Prepare the document&lt;br /&gt;
		$this-&amp;gt;prepareDocument();&lt;br /&gt;
&lt;br /&gt;
		// Display the view&lt;br /&gt;
		parent::display($tpl);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	protected function prepareDocument()&lt;br /&gt;
	{&lt;br /&gt;
		JHtml::_(&#039;behavior.framework&#039;);&lt;br /&gt;
		$doc = JFactory::getDocument();&lt;br /&gt;
		$doc-&amp;gt;addScript(JURI::base(true).&#039;/media/com_helloworld/js/script.js&#039;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, we have added a new function &#039;&#039;&#039;prepareDocument()&#039;&#039;&#039; which is a convenience function used to (yeah you guessed it..) prepare the document for rendering. Here we first load the framework by calling &#039;&#039;&#039;JHtml&#039;&#039;&#039; and afterwards we add another script file to our component. This script file we are going to create in a second.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, update the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;media/com_helloworld/js/ajax.js&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;media/com_helloworld/js/ajax.js&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * @package		Joomla.Tutorials&lt;br /&gt;
 * @subpackage	Components&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license		License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
window.addEvent(&#039;domready&#039;, function() {&lt;br /&gt;
	$(&#039;ajax-alert&#039;).addEvent(&#039;click&#039;, function(event) {&lt;br /&gt;
		// Prevent the page from changing&lt;br /&gt;
		event.stop();&lt;br /&gt;
		// Make the ajax call&lt;br /&gt;
		var req = new Request({&lt;br /&gt;
			method : &#039;get&#039;,&lt;br /&gt;
			url : $(&#039;ajax-alert&#039;).get(&#039;href&#039;),&lt;br /&gt;
			data : {&lt;br /&gt;
				&#039;do&#039; : &#039;1&#039;&lt;br /&gt;
			},&lt;br /&gt;
			onRequest : function() {&lt;br /&gt;
				alert(&#039;Request made. Please wait...&#039;);&lt;br /&gt;
			},&lt;br /&gt;
			onComplete : function(response) {&lt;br /&gt;
				alert(&#039;Response: &#039; + response);&lt;br /&gt;
			}&lt;br /&gt;
		}).send();&lt;br /&gt;
	});&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation manifest ==&lt;br /&gt;
&lt;br /&gt;
Now all we have to do is update the version number and we&#039;re done. We do not need any other changes to the manifest this time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;helloworld.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;helloworld.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; highlight=&amp;quot;17&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;component&amp;quot; version=&amp;quot;2.5.0&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;name&amp;gt;COM_HELLOWORLD&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;!-- The following elements are optional and free of formatting constraints --&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;June 2011&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
        &amp;lt;!--  The version string is stored in the components table --&amp;gt;&lt;br /&gt;
        &amp;lt;version&amp;gt;0.0.16&amp;lt;/version&amp;gt;&lt;br /&gt;
        &amp;lt;!-- The description is optional and defaults to the name --&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;COM_HELLOWORLD_DESCRIPTION&amp;lt;/description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;scriptfile&amp;gt;script.php&amp;lt;/scriptfile&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;install&amp;gt;&lt;br /&gt;
                &amp;lt;sql&amp;gt;&lt;br /&gt;
                        &amp;lt;file driver=&amp;quot;mysql&amp;quot; charset=&amp;quot;utf8&amp;quot;&amp;gt;sql/install.mysql.utf8.sql&amp;lt;/file&amp;gt;&lt;br /&gt;
                &amp;lt;/sql&amp;gt;&lt;br /&gt;
        &amp;lt;/install&amp;gt;&lt;br /&gt;
        &amp;lt;uninstall&amp;gt;&lt;br /&gt;
                &amp;lt;sql&amp;gt;&lt;br /&gt;
                        &amp;lt;file driver=&amp;quot;mysql&amp;quot; charset=&amp;quot;utf8&amp;quot;&amp;gt;sql/uninstall.mysql.utf8.sql&amp;lt;/file&amp;gt;&lt;br /&gt;
                &amp;lt;/sql&amp;gt;&lt;br /&gt;
        &amp;lt;/uninstall&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Note the folder attribute: This attribute describes the folder&lt;br /&gt;
                to copy FROM in the package to install therefore files copied&lt;br /&gt;
                in this section are copied from &amp;quot;site/&amp;quot; in the package --&amp;gt;&lt;br /&gt;
        &amp;lt;files folder=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;helloworld.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;controller.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;folder&amp;gt;views&amp;lt;/folder&amp;gt;&lt;br /&gt;
                &amp;lt;folder&amp;gt;models&amp;lt;/folder&amp;gt;&lt;br /&gt;
                &amp;lt;folder&amp;gt;language&amp;lt;/folder&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;media destination=&amp;quot;com_helloworld&amp;quot; folder=&amp;quot;media&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;folder&amp;gt;images&amp;lt;/folder&amp;gt;&lt;br /&gt;
                &amp;lt;folder&amp;gt;js&amp;lt;/folder&amp;gt;&lt;br /&gt;
        &amp;lt;/media&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;administration&amp;gt;&lt;br /&gt;
                &amp;lt;menu img=&amp;quot;../media/com_helloworld/images/tux-16x16.png&amp;quot;&amp;gt;COM_HELLOWORLD_MENU&amp;lt;/menu&amp;gt;&lt;br /&gt;
                &amp;lt;submenu&amp;gt;&lt;br /&gt;
                        &amp;lt;menu view=&amp;quot;helloworlds&amp;quot;&amp;gt;COM_HELLOWORLD_SUBMENU_MESSAGES&amp;lt;/menu&amp;gt;&lt;br /&gt;
                        &amp;lt;menu link=&amp;quot;option=com_categories&amp;amp;amp;view=categories&amp;amp;amp;extension=com_helloworld&amp;quot;&amp;gt;COM_HELLOWORLD_SUBMENU_CATEGORIES&amp;lt;/menu&amp;gt;&lt;br /&gt;
                &amp;lt;/submenu&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Note the folder attribute: This attribute describes the folder&lt;br /&gt;
                        to copy FROM in the package to install therefore files copied&lt;br /&gt;
                        in this section are copied from &amp;quot;admin/&amp;quot; in the package --&amp;gt;&lt;br /&gt;
                &amp;lt;files folder=&amp;quot;admin&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
                        &amp;lt;filename&amp;gt;access.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
                        &amp;lt;filename&amp;gt;helloworld.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
                        &amp;lt;filename&amp;gt;controller.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
                        &amp;lt;filename&amp;gt;config.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
                        &amp;lt;folder&amp;gt;sql&amp;lt;/folder&amp;gt;&lt;br /&gt;
                        &amp;lt;folder&amp;gt;tables&amp;lt;/folder&amp;gt;&lt;br /&gt;
                        &amp;lt;folder&amp;gt;models&amp;lt;/folder&amp;gt;&lt;br /&gt;
                        &amp;lt;folder&amp;gt;views&amp;lt;/folder&amp;gt;&lt;br /&gt;
                        &amp;lt;folder&amp;gt;language&amp;lt;/folder&amp;gt;&lt;br /&gt;
                        &amp;lt;folder&amp;gt;controllers&amp;lt;/folder&amp;gt;&lt;br /&gt;
                        &amp;lt;folder&amp;gt;helpers&amp;lt;/folder&amp;gt;&lt;br /&gt;
                &amp;lt;/files&amp;gt;&lt;br /&gt;
        &amp;lt;/administration&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your component ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the component into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#Testing_your_component|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#helloworld.xml|helloworld.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_15#script.php|script.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_02#site/helloworld.php|site/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_02#site/controller.php|site/controller.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/views/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/views/helloworld/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#site/views/helloworld/view.html.php|site/views/helloworld/view.html.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/views/helloworld/tmpl/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#site/views/helloworld/tmpl/default.php|site/views/helloworld/tmpl/default.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_06#site/views/helloworld/tmpl/default.xml|site/views/helloworld/tmpl/default.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/models/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#site/models/helloworld.php|site/models/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/language/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/language/en-GB/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_08#site/language/en-GB/en-GB.com_helloworld.ini|site/language/en-GB/en-GB.com_helloworld.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_12#admin/helloworld.php|admin/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_12#admin/controller.php|admin/controller.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#admin/config.xml|admin/config.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/helpers/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_12#admin/helpers/helloworld.php|admin/helpers/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/controllers/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_09#admin/controllers/helloworld.php|admin/controllers/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_09#admin/controllers/helloworlds.php|admin/controllers/helloworlds.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/models/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_09#admin/models/helloworld.php|admin/models/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_07#admin/models/helloworlds.php|admin/models/helloworlds.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/models/fields/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_12#admin/models/fields/helloworld.php|admin/models/fields/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/models/forms/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#admin/models/forms/helloworld.xml|admin/models/forms/helloworld.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/models/rules/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_11#admin/models/rules/greeting.php|admin/models/rules/greeting.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_09#admin/models/helloworld.php|admin/models/helloworld.php]]&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/views/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/views/helloworld/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_11#admin/views/helloworld/view.html.php|admin/views/helloworld/view.html.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/views/helloworld/tmpl/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#admin/views/helloworld/tmpl/edit.php|admin/views/helloworld/tmpl/edit.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/views/helloworlds/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#admin/views/helloworlds/view.html.php|admin/views/helloworlds/view.html.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/views/helloworlds/tmpl/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_09#admin/views/helloworlds/tmpl/default.php|admin/views/helloworlds/tmpl/default.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_07#admin/views/helloworlds/tmpl/default_head.php|admin/views/helloworlds/tmpl/default_head.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_07#admin/views/helloworlds/tmpl/default_body.php|admin/views/helloworlds/tmpl/default_body.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_07#admin/views/helloworlds/tmpl/default_foot.php|admin/views/helloworlds/tmpl/default_foot.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/tables/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#admin/tables/helloworld.php|admin/tables/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/sql/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#admin/sql/install.mysql.utf8.sql|admin/sql/install.mysql.utf8.sql]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_06#admin/sql/uninstall.mysql.utf8.sql|admin/sql/uninstall.mysql.utf8.sql]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/language/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/language/en-GB/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_13#admin/language/en-GB/en-GB.com_helloworld.ini|admin/language/en-GB/en-GB.com_helloworld.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_15#admin/language/en-GB/en-GB.com_helloworld.sys.ini|admin/language/en-GB/en-GB.com_helloworld.sys.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|media/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|media/images/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_10#media/images/tux-16x16.png|media/images/tux-16x16.png]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_10#media/images/tux-16x16.png|media/images/tux-48x48.png]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|media/js/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_11#media/js/helloworld.js|media/js/helloworld.js]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/downloads/rvsjoen/joomla-tutorials/com_helloworld-part16.zip Download example package]&lt;br /&gt;
&lt;br /&gt;
== Articles in this series ==&lt;br /&gt;
{{:Chunks:Developing_an_MVC_Component_Contents}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_02&amp;diff=67238</id>
		<title>User:Rvsjoen/tutorial/Developing an MVC Component/Part 02</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_02&amp;diff=67238"/>
		<updated>2012-05-13T15:06:58Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Creating a view */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Adding a view to the frontend =&lt;br /&gt;
&lt;br /&gt;
In order to create a basic view for the frontend, we first need to have some logic in our previously created entry point &amp;lt;tt&amp;gt;site/helloworld.php&amp;lt;/tt&amp;gt; that decides how to handle requests which are passed to the component. We will manage this by having the entry point load up a controller and execute it, so the first order of business is telling the entry point what to do, and then creating a controller.&lt;br /&gt;
&lt;br /&gt;
== Creating a controller ==&lt;br /&gt;
In the core code of Joomla, the class that implements a controller is named &#039;&#039;JController&#039;&#039;. In order to save ourselves a lot of work, and prevent having to reinvent the wheel, this class can be extended to be used in our component. &lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;site/helloworld.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;site/helloworld.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
&lt;br /&gt;
jimport(&#039;joomla.application.component.controller&#039;);&lt;br /&gt;
&lt;br /&gt;
// Get an instance of the controller prefixed by HelloWorld&lt;br /&gt;
$controller = JController::getInstance(&#039;HelloWorld&#039;);&lt;br /&gt;
&lt;br /&gt;
// Perform the Request task&lt;br /&gt;
$controller-&amp;gt;execute(JRequest::getCmd(&#039;task&#039;));&lt;br /&gt;
&lt;br /&gt;
// Redirect if set by the controller&lt;br /&gt;
$controller-&amp;gt;redirect();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The static &#039;&#039;getInstance&#039;&#039; method of the &#039;&#039;JController&#039;&#039; class will create a controller. In the code above, it will create a controller named &#039;&#039;HelloWorldController&#039;&#039; using the &amp;lt;tt&amp;gt;controller.php&amp;lt;/tt&amp;gt; file in the same location as the entry point. This means that we have to create this controller so that it has something to load. The call to &#039;&#039;redirect()&#039;&#039; on the controller instance will check if the task executed at some point set an url to redirect to after finishing execution, and if so, redirect to this url. This is useful for redirecting to a different view after executing a task.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;site/controller.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;site/controller.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
&lt;br /&gt;
jimport(&#039;joomla.application.component.controller&#039;);&lt;br /&gt;
&lt;br /&gt;
class HelloWorldController extends JController&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Yes really, that is it. We do not have to provide any code in our controller except for this. This is because the default behavior of JController is to call the &#039;&#039;&#039;display&#039;&#039;&#039; task if no other task is given, and the &#039;&#039;&#039;display&#039;&#039;&#039; task will look for the name of the view to load in the &#039;&#039;&#039;view&#039;&#039;&#039; request variable. If no view name is given, it will load the view with the same name as the component, namely &#039;&#039;&#039;helloworld&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Creating a view ==&lt;br /&gt;
&lt;br /&gt;
Now that we have a controller that will load and display our views, we need to give it a view to display.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;site/views/helloworld/view.html.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;site/views/helloworld/view.html.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; line&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
&lt;br /&gt;
jimport(&#039;joomla.application.component.view&#039;);&lt;br /&gt;
&lt;br /&gt;
class HelloWorldViewHelloWorld extends JView&lt;br /&gt;
{&lt;br /&gt;
	function display($tpl = null) &lt;br /&gt;
	{&lt;br /&gt;
		// Assign data to the view&lt;br /&gt;
		$this-&amp;gt;item = &#039;Hello World&#039;;&lt;br /&gt;
&lt;br /&gt;
		// Display the view&lt;br /&gt;
		parent::display($tpl);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
First of all, pay close attention to the naming of the class since that may be slightly confusing at first. The class is named &#039;&#039;&#039;HelloWorldViewHelloWorld&#039;&#039;&#039; and the reason &#039;&#039;&#039;HelloWorld&#039;&#039;&#039; appears twice is because it just happens to be the name of both our component and our view. A slightly better example would be for example &#039;&#039;&#039;FooViewBar&#039;&#039;&#039; where &#039;&#039;&#039;Foo&#039;&#039;&#039; would be the name of the component (like &#039;&#039;&#039;com_foo&#039;&#039;&#039;) and &#039;&#039;&#039;Bar&#039;&#039;&#039; would be the name of the view.&lt;br /&gt;
&lt;br /&gt;
Now, the most important two bits of this file are line 12, in which we assign a string to the member variable &#039;&#039;&#039;item&#039;&#039;&#039;, this variable will then be available in the view template (which we will create in a minute). On line 15 there is a call to the &amp;lt;code&amp;gt;parent::display()&amp;lt;/code&amp;gt; function, now this is in fact where a lot of the logic happens as that is the &amp;lt;code&amp;gt;display()&amp;lt;/code&amp;gt; function of &#039;&#039;&#039;JView&#039;&#039;&#039;, we will not go into detail on this except to tell you that it is responsible for loading up and displaying the view template.&lt;br /&gt;
&lt;br /&gt;
The view templates are stored in the &amp;lt;tt&amp;gt;tmpl&amp;lt;/tt&amp;gt; folder inside each view, so let us go ahead and create a view template for our view (View templates are also called layouts). &lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;site/views/helloworld/tmpl/default.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;site/views/helloworld/tmpl/default.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;&amp;lt;?php echo $this-&amp;gt;item; ?&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation manifest ==&lt;br /&gt;
&lt;br /&gt;
In our manifest, as you can see, we have added the newly created files and folders in the site files section on line 23 and 24. We have also updated the component version number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;helloworld.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;helloworld.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; line&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;component&amp;quot; version=&amp;quot;2.5.0&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;name&amp;gt;Hello World!&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;!-- The following elements are optional and free of formatting constraints --&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;June 2011&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
	&amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;!--  The version string is stored in the components table --&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.2&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;!-- The description is optional and defaults to the name --&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World component ...&amp;lt;/description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- Note the folder attribute: This attribute describes the folder&lt;br /&gt;
		to copy FROM in the package to install therefore files copied&lt;br /&gt;
		in this section are copied from &amp;quot;site/&amp;quot; in the package --&amp;gt;&lt;br /&gt;
	&amp;lt;files folder=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;helloworld.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;controller.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;views&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;administration&amp;gt;&lt;br /&gt;
		&amp;lt;menu&amp;gt;Hello World!&amp;lt;/menu&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Note the folder attribute: This attribute describes the folder&lt;br /&gt;
			to copy FROM in the package to install therefore files copied&lt;br /&gt;
			in this section are copied from &amp;quot;admin/&amp;quot; in the package --&amp;gt;&lt;br /&gt;
		&amp;lt;files folder=&amp;quot;admin&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
			&amp;lt;filename&amp;gt;helloworld.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;/administration&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your component ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the component into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#Testing_your_component|Part 01]].&lt;br /&gt;
&lt;br /&gt;
In order to test this component, open up &#039;&#039;&#039;index.php?option=com_helloworld&#039;&#039;&#039; in your browser, and see that the text displayed will be the same text that you assigned to &amp;lt;code&amp;gt;$this-&amp;gt;item&amp;lt;/code&amp;gt; in your view.&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#helloworld.xml|helloworld.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#site/helloworld.php|site/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#site/controller.php|site/controller.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/views/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/views/helloworld/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#site/views/helloworld/view.html.php|site/views/helloworld/view.html.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|site/views/helloworld/tmpl/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#site/views/helloworld/tmpl/default.php|site/views/helloworld/tmpl/default.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#index.html|admin/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01#admin/helloworld.php|admin/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/downloads/rvsjoen/joomla-tutorials/com_helloworld-part02.zip Download example package]&lt;br /&gt;
&lt;br /&gt;
== Articles in this series ==&lt;br /&gt;
{{:Chunks:Developing_an_MVC_Component_Contents}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_05&amp;diff=66534</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 05</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_05&amp;diff=66534"/>
		<updated>2012-04-16T11:48:53Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Adding parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Adding parameters =&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;TPL_HELLOWORLD&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;TPL_HELLOWORLD_XML_DESCRIPTION&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;css&amp;lt;/folder&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;language&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;positions&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;header&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;footer&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;left&amp;lt;/position&amp;gt;&lt;br /&gt;
	&amp;lt;/positions&amp;gt;&lt;br /&gt;
	&amp;lt;config&amp;gt;&lt;br /&gt;
		&amp;lt;fields name=&amp;quot;param&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;fieldset name=&amp;quot;advanced&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;field &lt;br /&gt;
					name=&amp;quot;backgroundcolor&amp;quot; &lt;br /&gt;
					type=&amp;quot;text&amp;quot; &lt;br /&gt;
					default=&amp;quot;&amp;quot; &lt;br /&gt;
					label=&amp;quot;TPL_HELLOWORLD_FIELD_BACKGROUNDCOLOR_LABEL&amp;quot; &lt;br /&gt;
					description=&amp;quot;TPL_HELLOWORLD_FIELD_BACKGROUNDCOLOR_DESC&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;field name=&amp;quot;templatewidth&amp;quot; type=&amp;quot;list&amp;quot;&lt;br /&gt;
					label=&amp;quot;TPL_HELLOWORLD_FIELD_WIDTH_LABEL&amp;quot;&lt;br /&gt;
					description=&amp;quot;TPL_HELLOWORLD_FIELD_WIDTH_LABEL&amp;quot; &amp;gt;&lt;br /&gt;
					&amp;lt;option value=&amp;quot;fixed&amp;quot;&amp;gt;TPL_HELLOWORLD_WIDTH_FIXED&amp;lt;/option&amp;gt;&lt;br /&gt;
					&amp;lt;option value=&amp;quot;fluid&amp;quot;&amp;gt;TPL_HELLOWORLD_WIDTH_FLUID&amp;lt;/option&amp;gt;&lt;br /&gt;
				&amp;lt;/field&amp;gt;&lt;br /&gt;
			&amp;lt;/fieldset&amp;gt;&lt;br /&gt;
	&amp;lt;/config&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_03#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_03#css/styles.css|css/styles.css]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#language/en-GB/en-GB.tpl_helloworld.ini|language/en-GB/en-GB.tpl_helloworld.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_04#language/en-GB/en-GB.tpl_helloworld.sys.ini|language/en-GB/en-GB.tpl_helloworld.sys.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_05&amp;diff=66533</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 05</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_05&amp;diff=66533"/>
		<updated>2012-04-16T11:47:05Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Adding parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Adding parameters =&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;TPL_HELLOWORLD&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;TPL_HELLOWORLD_XML_DESCRIPTION&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;css&amp;lt;/folder&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;language&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;positions&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;header&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;footer&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;left&amp;lt;/position&amp;gt;&lt;br /&gt;
	&amp;lt;/positions&amp;gt;&lt;br /&gt;
	&amp;lt;config&amp;gt;&lt;br /&gt;
		&amp;lt;fields name=&amp;quot;param&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;fieldset name=&amp;quot;advanced&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;field &lt;br /&gt;
					name=&amp;quot;backgroundcolor&amp;quot; &lt;br /&gt;
					type=&amp;quot;text&amp;quot; &lt;br /&gt;
					default=&amp;quot;&amp;quot; &lt;br /&gt;
					label=&amp;quot;TPL_HELLOWORLD_FIELD_BACKGROUNDCOLOR_LABEL&amp;quot; &lt;br /&gt;
					description=&amp;quot;TPL_HELLOWORLD_FIELD_BACKGROUNDCOLOR_DESC&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;field name=&amp;quot;templatewidth&amp;quot; type=&amp;quot;list&amp;quot;&lt;br /&gt;
					label=&amp;quot;TPL_HELLOWORLD_FIELD_WIDTH_LABEL&amp;quot;&lt;br /&gt;
					description=&amp;quot;TPL_HELLOWORLD_FIELD_WIDTH_LABEL&amp;quot; &amp;gt;&lt;br /&gt;
					&amp;lt;option value=&amp;quot;fixed&amp;quot;&amp;gt;TPL_HELLOWORLD_WIDTH_FIXED&amp;lt;/option&amp;gt;&lt;br /&gt;
					&amp;lt;option value=&amp;quot;fluid&amp;quot;&amp;gt;TPL_HELLOWORLD_WIDTH_FLUID&amp;lt;/option&amp;gt;&lt;br /&gt;
				&amp;lt;/field&amp;gt;&lt;br /&gt;
			&amp;lt;/fieldset&amp;gt;&lt;br /&gt;
	&amp;lt;/config&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_03#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_03#css/styles.css|css/styles.css]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#language/en-GB/en-GB.tpl_helloworld.ini|language/en-GB/en-GB.tpl_helloworld.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_04#language/en-GB/en-GB.tpl_helloworld.sys.ini|language/en-GB/en-GB.tpl_helloworld.sys.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_05&amp;diff=66532</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 05</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_05&amp;diff=66532"/>
		<updated>2012-04-16T11:43:57Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Adding parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Adding parameters =&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;TPL_HELLOWORLD&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;TPL_HELLOWORLD_XML_DESCRIPTION&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;css&amp;lt;/folder&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;language&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;positions&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;header&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;footer&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;left&amp;lt;/position&amp;gt;&lt;br /&gt;
	&amp;lt;/positions&amp;gt;&lt;br /&gt;
	&amp;lt;config&amp;gt;&lt;br /&gt;
		&amp;lt;fields name=&amp;quot;param&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;fieldset name=&amp;quot;advanced&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;field &lt;br /&gt;
					name=&amp;quot;backgroundcolor&amp;quot; &lt;br /&gt;
					type=&amp;quot;text&amp;quot; &lt;br /&gt;
					default=&amp;quot;&amp;quot; &lt;br /&gt;
					label=&amp;quot;TPL_HELLOWORLD_FIELD_BACKGROUNDCOLOR_LABEL&amp;quot; &lt;br /&gt;
					description=&amp;quot;TPL_HELLOWORLD_FIELD_BACKGROUNDCOLOR_DESC&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/fieldset&amp;gt;&lt;br /&gt;
	&amp;lt;/config&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_03#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_03#css/styles.css|css/styles.css]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#language/en-GB/en-GB.tpl_helloworld.ini|language/en-GB/en-GB.tpl_helloworld.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_04#language/en-GB/en-GB.tpl_helloworld.sys.ini|language/en-GB/en-GB.tpl_helloworld.sys.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_05&amp;diff=66531</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 05</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_05&amp;diff=66531"/>
		<updated>2012-04-16T11:25:27Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: Created page with &amp;quot;= Adding parameters =  With your favorite editor, edit the following file  &amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt; &amp;lt;?xml version=&amp;quot;1...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Adding parameters =&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;TPL_HELLOWORLD&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;TPL_HELLOWORLD_XML_DESCRIPTION&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;css&amp;lt;/folder&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;language&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;positions&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;header&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;footer&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;left&amp;lt;/position&amp;gt;&lt;br /&gt;
	&amp;lt;/positions&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_03#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_03#css/styles.css|css/styles.css]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#language/en-GB/en-GB.tpl_helloworld.ini|language/en-GB/en-GB.tpl_helloworld.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_04#language/en-GB/en-GB.tpl_helloworld.sys.ini|language/en-GB/en-GB.tpl_helloworld.sys.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_03&amp;diff=66530</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 03</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_03&amp;diff=66530"/>
		<updated>2012-04-16T11:24:00Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Part 03 - Adding module positions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Adding module positions = &lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * @package     Joomla.Tutorials&lt;br /&gt;
 * @subpackage  Template&lt;br /&gt;
 * @copyright   Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license     License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
 &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;head&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;&amp;lt;?php echo $this-&amp;gt;baseurl ?&amp;gt;/templates/&amp;lt;?php echo $this-&amp;gt;template ?&amp;gt;/css/styles.css&amp;quot; type=&amp;quot;text/css&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;div id=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;header&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;header&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;left&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;left&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;main&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;message&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;component&amp;quot; /&amp;gt;			&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div class=&amp;quot;clr&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;footer&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;footer&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once we have added the module positions with the accompanying div elements for use in styling, we can use CSS to create the layout. In this example we are creating a simple 2-pane layout with a header and footer.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&amp;lt;span id=&amp;quot;css/styles.css&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;css/styles.css&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
html, body {&lt;br /&gt;
    background: #ccc;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div​#container {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    background: red;&lt;br /&gt;
    width: 960px;    &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#header {&lt;br /&gt;
    background: green;&lt;br /&gt;
    height: 160px;     &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#footer{&lt;br /&gt;
    background: blue;&lt;br /&gt;
    height: 80px;     &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#main{&lt;br /&gt;
    background: yellow;&lt;br /&gt;
    min-height: 320px;&lt;br /&gt;
    width: 800px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#left{&lt;br /&gt;
    background: orange;&lt;br /&gt;
    width: 160px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.clr {&lt;br /&gt;
    clear: both;&lt;br /&gt;
}&lt;br /&gt;
​&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The CSS code itself is not the important part here and the result will look quite ugly, the point is to get a basic idea on how module positions work and in order to be able to do that we need a basic template structure.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;css&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;positions&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;header&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;footer&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;left&amp;lt;/position&amp;gt;&lt;br /&gt;
	&amp;lt;/positions&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#css/styles.css|css/styles.css]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_02&amp;diff=66529</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 02</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_02&amp;diff=66529"/>
		<updated>2012-04-16T11:23:54Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Part 02 - Adding a stylesheet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Adding a stylesheet = &lt;br /&gt;
&lt;br /&gt;
Alright, time has come to add some styling to our template. After all, without some proper styling our (yet to be) awesome template is just another blob of nasty markup. Let&#039;s start with a really simple stylesheet, doing nothing except setting the background color of the whole document.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;css/styles.css&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;css/styles.css&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
html, body {&lt;br /&gt;
    background: #ccc;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now that we have created our basic stylesheet we also need to tell the template to load it, we accomplish this by adding a style tag to the document header.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; highlight=&amp;quot;18&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * @package     Joomla.Tutorials&lt;br /&gt;
 * @subpackage  Template&lt;br /&gt;
 * @copyright   Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license     License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
 &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;head&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;&amp;lt;?php echo $this-&amp;gt;baseurl ?&amp;gt;/templates/&amp;lt;?php echo $this-&amp;gt;template ?&amp;gt;/css/styles.css&amp;quot; type=&amp;quot;text/css&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;message&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;component&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the style tag we are using some variables, these are automatically provided by Joomla! for convenience and can be used to refer to the base url and the template name respectively.&lt;br /&gt;
&lt;br /&gt;
The last step in adding this stylesheet to our template is to make sure that it is copied into the correct location when the template is installed. Since the stylesheet lives in the &#039;&#039;&#039;css&#039;&#039;&#039; folder of our template all we have to do is specify a &amp;lt;code&amp;gt;&amp;lt;folder&amp;lt;/code&amp;gt; tag with the &#039;&#039;&#039;css&#039;&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; highlight=&amp;quot;15&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;css&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#css/styles.css|css/styles.css]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_04&amp;diff=66528</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 04</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_04&amp;diff=66528"/>
		<updated>2012-04-16T11:23:41Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Part 04 - Adding translation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Adding translation =&lt;br /&gt;
&lt;br /&gt;
So, we would like our template to support translation, which essentially means that instead of hard-coding strings, we would like the strings to be read from translation files. This makes it very easy to provide multiple translations since all that has to be done to change the language is to read a different set of language files.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;language/en-GB/en-GB.tpl_helloworld.ini&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;language/en-GB/en-GB.tpl_helloworld.ini&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
TPL_HELLOWORLD=&amp;quot;Hello World!&amp;quot;&lt;br /&gt;
TPL_HELLOWORLD_XML_DESCRIPTION=&amp;quot;Hello World! template description&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, language strings are namespaced. This is a very good practice for avoiding that strings override each other. As an example these strings start with &#039;&#039;&#039;TPL_HELLOWORLD&#039;&#039;&#039; to indicate that they belong to our template.&lt;br /&gt;
&lt;br /&gt;
In order to provide translation during the installation process, in the extension manager and in the menus, another language file is required in the backend. The difference between these two files can be daunting at first, but usually the sys.ini contains a lot less translation strings and this file is loaded in scenarios where the loaded component is not com_helloworld itself, but minimal translation is still needed.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;language/en-GB/en-GB.tpl_helloworld.sys.ini&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;language/en-GB/en-GB.tpl_helloworld.sys.ini&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
TPL_HELLOWORLD=&amp;quot;Hello World!&amp;quot;&lt;br /&gt;
TPL_HELLOWORLD_XML_DESCRIPTION=&amp;quot;Hello World! template description&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; highlight=&amp;quot;16&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;TPL_HELLOWORLD&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;TPL_HELLOWORLD_XML_DESCRIPTION&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;css&amp;lt;/folder&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;language&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;positions&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;header&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;footer&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;left&amp;lt;/position&amp;gt;&lt;br /&gt;
	&amp;lt;/positions&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_03#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_03#css/styles.css|css/styles.css]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#language/en-GB/en-GB.tpl_helloworld.ini|language/en-GB/en-GB.tpl_helloworld.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#language/en-GB/en-GB.tpl_helloworld.sys.ini|language/en-GB/en-GB.tpl_helloworld.sys.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_04&amp;diff=66527</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 04</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_04&amp;diff=66527"/>
		<updated>2012-04-16T11:23:03Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* File listing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Part 04 - Adding translation =&lt;br /&gt;
&lt;br /&gt;
So, we would like our template to support translation, which essentially means that instead of hard-coding strings, we would like the strings to be read from translation files. This makes it very easy to provide multiple translations since all that has to be done to change the language is to read a different set of language files.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;language/en-GB/en-GB.tpl_helloworld.ini&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;language/en-GB/en-GB.tpl_helloworld.ini&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
TPL_HELLOWORLD=&amp;quot;Hello World!&amp;quot;&lt;br /&gt;
TPL_HELLOWORLD_XML_DESCRIPTION=&amp;quot;Hello World! template description&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, language strings are namespaced. This is a very good practice for avoiding that strings override each other. As an example these strings start with &#039;&#039;&#039;TPL_HELLOWORLD&#039;&#039;&#039; to indicate that they belong to our template.&lt;br /&gt;
&lt;br /&gt;
In order to provide translation during the installation process, in the extension manager and in the menus, another language file is required in the backend. The difference between these two files can be daunting at first, but usually the sys.ini contains a lot less translation strings and this file is loaded in scenarios where the loaded component is not com_helloworld itself, but minimal translation is still needed.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;language/en-GB/en-GB.tpl_helloworld.sys.ini&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;language/en-GB/en-GB.tpl_helloworld.sys.ini&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
TPL_HELLOWORLD=&amp;quot;Hello World!&amp;quot;&lt;br /&gt;
TPL_HELLOWORLD_XML_DESCRIPTION=&amp;quot;Hello World! template description&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; highlight=&amp;quot;16&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;TPL_HELLOWORLD&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;TPL_HELLOWORLD_XML_DESCRIPTION&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;css&amp;lt;/folder&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;language&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;positions&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;header&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;footer&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;left&amp;lt;/position&amp;gt;&lt;br /&gt;
	&amp;lt;/positions&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_03#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_03#css/styles.css|css/styles.css]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#language/en-GB/en-GB.tpl_helloworld.ini|language/en-GB/en-GB.tpl_helloworld.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#language/en-GB/en-GB.tpl_helloworld.sys.ini|language/en-GB/en-GB.tpl_helloworld.sys.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_04&amp;diff=66526</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 04</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_04&amp;diff=66526"/>
		<updated>2012-04-16T11:22:00Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: Created page with &amp;quot;= Part 04 - Adding translation =  So, we would like our template to support translation, which essentially means that instead of hard-coding strings, we would like the strings to...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Part 04 - Adding translation =&lt;br /&gt;
&lt;br /&gt;
So, we would like our template to support translation, which essentially means that instead of hard-coding strings, we would like the strings to be read from translation files. This makes it very easy to provide multiple translations since all that has to be done to change the language is to read a different set of language files.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;language/en-GB/en-GB.tpl_helloworld.ini&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;language/en-GB/en-GB.tpl_helloworld.ini&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
TPL_HELLOWORLD=&amp;quot;Hello World!&amp;quot;&lt;br /&gt;
TPL_HELLOWORLD_XML_DESCRIPTION=&amp;quot;Hello World! template description&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, language strings are namespaced. This is a very good practice for avoiding that strings override each other. As an example these strings start with &#039;&#039;&#039;TPL_HELLOWORLD&#039;&#039;&#039; to indicate that they belong to our template.&lt;br /&gt;
&lt;br /&gt;
In order to provide translation during the installation process, in the extension manager and in the menus, another language file is required in the backend. The difference between these two files can be daunting at first, but usually the sys.ini contains a lot less translation strings and this file is loaded in scenarios where the loaded component is not com_helloworld itself, but minimal translation is still needed.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;language/en-GB/en-GB.tpl_helloworld.sys.ini&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;language/en-GB/en-GB.tpl_helloworld.sys.ini&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
TPL_HELLOWORLD=&amp;quot;Hello World!&amp;quot;&lt;br /&gt;
TPL_HELLOWORLD_XML_DESCRIPTION=&amp;quot;Hello World! template description&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; highlight=&amp;quot;16&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;TPL_HELLOWORLD&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;TPL_HELLOWORLD_XML_DESCRIPTION&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;css&amp;lt;/folder&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;language&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;positions&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;header&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;footer&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;left&amp;lt;/position&amp;gt;&lt;br /&gt;
	&amp;lt;/positions&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_03#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_03#css/styles.css|css/styles.css]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_03&amp;diff=66525</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 03</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_03&amp;diff=66525"/>
		<updated>2012-04-16T11:15:10Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Part 03 - Adding module positions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Part 03 - Adding module positions = &lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * @package     Joomla.Tutorials&lt;br /&gt;
 * @subpackage  Template&lt;br /&gt;
 * @copyright   Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license     License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
 &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;head&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;&amp;lt;?php echo $this-&amp;gt;baseurl ?&amp;gt;/templates/&amp;lt;?php echo $this-&amp;gt;template ?&amp;gt;/css/styles.css&amp;quot; type=&amp;quot;text/css&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;div id=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;header&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;header&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;left&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;left&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;main&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;message&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;component&amp;quot; /&amp;gt;			&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div class=&amp;quot;clr&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;footer&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;footer&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once we have added the module positions with the accompanying div elements for use in styling, we can use CSS to create the layout. In this example we are creating a simple 2-pane layout with a header and footer.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&amp;lt;span id=&amp;quot;css/styles.css&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;css/styles.css&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
html, body {&lt;br /&gt;
    background: #ccc;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div​#container {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    background: red;&lt;br /&gt;
    width: 960px;    &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#header {&lt;br /&gt;
    background: green;&lt;br /&gt;
    height: 160px;     &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#footer{&lt;br /&gt;
    background: blue;&lt;br /&gt;
    height: 80px;     &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#main{&lt;br /&gt;
    background: yellow;&lt;br /&gt;
    min-height: 320px;&lt;br /&gt;
    width: 800px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#left{&lt;br /&gt;
    background: orange;&lt;br /&gt;
    width: 160px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.clr {&lt;br /&gt;
    clear: both;&lt;br /&gt;
}&lt;br /&gt;
​&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The CSS code itself is not the important part here and the result will look quite ugly, the point is to get a basic idea on how module positions work and in order to be able to do that we need a basic template structure.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;css&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;positions&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;header&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;footer&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;left&amp;lt;/position&amp;gt;&lt;br /&gt;
	&amp;lt;/positions&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#css/styles.css|css/styles.css]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_03&amp;diff=66524</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 03</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_03&amp;diff=66524"/>
		<updated>2012-04-16T11:14:46Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Part 03 - Adding module positions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Part 03 - Adding module positions = &lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * @package     Joomla.Tutorials&lt;br /&gt;
 * @subpackage  Template&lt;br /&gt;
 * @copyright   Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license     License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
 &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;head&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;&amp;lt;?php echo $this-&amp;gt;baseurl ?&amp;gt;/templates/&amp;lt;?php echo $this-&amp;gt;template ?&amp;gt;/css/styles.css&amp;quot; type=&amp;quot;text/css&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;div id=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;header&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;header&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;left&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;left&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;main&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;message&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;component&amp;quot; /&amp;gt;			&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;footer&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;footer&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once we have added the module positions with the accompanying div elements for use in styling, we can use CSS to create the layout. In this example we are creating a simple 2-pane layout with a header and footer.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&amp;lt;span id=&amp;quot;css/styles.css&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;css/styles.css&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
html, body {&lt;br /&gt;
    background: #ccc;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div​#container {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    background: red;&lt;br /&gt;
    width: 960px;    &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#header {&lt;br /&gt;
    background: green;&lt;br /&gt;
    height: 160px;     &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#footer{&lt;br /&gt;
    background: blue;&lt;br /&gt;
    height: 80px;     &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#main{&lt;br /&gt;
    background: yellow;&lt;br /&gt;
    min-height: 320px;&lt;br /&gt;
    width: 800px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#left{&lt;br /&gt;
    background: orange;&lt;br /&gt;
    width: 160px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.clr {&lt;br /&gt;
    clear: both;&lt;br /&gt;
}&lt;br /&gt;
​&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The CSS code itself is not the important part here and the result will look quite ugly, the point is to get a basic idea on how module positions work and in order to be able to do that we need a basic template structure.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;css&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;positions&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;header&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;footer&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;left&amp;lt;/position&amp;gt;&lt;br /&gt;
	&amp;lt;/positions&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#css/styles.css|css/styles.css]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_03&amp;diff=66523</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 03</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_03&amp;diff=66523"/>
		<updated>2012-04-16T11:12:27Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Part 03 - Adding module positions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Part 03 - Adding module positions = &lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * @package     Joomla.Tutorials&lt;br /&gt;
 * @subpackage  Template&lt;br /&gt;
 * @copyright   Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license     License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
 &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;head&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;&amp;lt;?php echo $this-&amp;gt;baseurl ?&amp;gt;/templates/&amp;lt;?php echo $this-&amp;gt;template ?&amp;gt;/css/styles.css&amp;quot; type=&amp;quot;text/css&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;div id=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;header&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;header&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;left&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;left&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;main&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;message&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;component&amp;quot; /&amp;gt;			&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;footer&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;footer&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once we have added the module positions with the accompanying div elements for use in styling, we can use CSS to create the layout. In this example we are creating a simple 2-pane layout with a header and footer.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&amp;lt;span id=&amp;quot;css/styles.css&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;css/styles.css&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
html, body {&lt;br /&gt;
    background: #ccc;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div​#container {&lt;br /&gt;
    margin: 0 auto;&lt;br /&gt;
    background: red;&lt;br /&gt;
    width: 960px;    &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#header {&lt;br /&gt;
    background: green;&lt;br /&gt;
    height: 160px;     &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#footer{&lt;br /&gt;
    background: blue;&lt;br /&gt;
    height: 80px;     &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#main{&lt;br /&gt;
    background: yellow;&lt;br /&gt;
    min-height: 320px;&lt;br /&gt;
    margin-left: 160px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#left{&lt;br /&gt;
    background: orange;&lt;br /&gt;
    width: 160px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The CSS code itself is not the important part here and the result will look quite ugly, the point is to get a basic idea on how module positions work and in order to be able to do that we need a basic template structure.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;css&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;positions&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;header&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;footer&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;left&amp;lt;/position&amp;gt;&lt;br /&gt;
	&amp;lt;/positions&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#css/styles.css|css/styles.css]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_03&amp;diff=66522</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 03</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_03&amp;diff=66522"/>
		<updated>2012-04-16T11:05:40Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Part 03 - Adding module positions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Part 03 - Adding module positions = &lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * @package     Joomla.Tutorials&lt;br /&gt;
 * @subpackage  Template&lt;br /&gt;
 * @copyright   Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license     License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
 &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;head&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;&amp;lt;?php echo $this-&amp;gt;baseurl ?&amp;gt;/templates/&amp;lt;?php echo $this-&amp;gt;template ?&amp;gt;/css/styles.css&amp;quot; type=&amp;quot;text/css&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;div id=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;header&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;header&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;left&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;left&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;main&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;message&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;component&amp;quot; /&amp;gt;			&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;footer&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;footer&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&amp;lt;span id=&amp;quot;css/styles.css&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;css/styles.css&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
html, body {&lt;br /&gt;
    background: #ccc;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;css&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;positions&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;header&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;footer&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;left&amp;lt;/position&amp;gt;&lt;br /&gt;
	&amp;lt;/positions&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#css/styles.css|css/styles.css]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_03&amp;diff=66521</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 03</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_03&amp;diff=66521"/>
		<updated>2012-04-16T11:04:37Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Part 03 - Adding module positions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Part 03 - Adding module positions = &lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * @package     Joomla.Tutorials&lt;br /&gt;
 * @subpackage  Template&lt;br /&gt;
 * @copyright   Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license     License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
 &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;head&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;&amp;lt;?php echo $this-&amp;gt;baseurl ?&amp;gt;/templates/&amp;lt;?php echo $this-&amp;gt;template ?&amp;gt;/css/styles.css&amp;quot; type=&amp;quot;text/css&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;div id=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;header&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;header&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;left&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;left&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;main&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;message&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;component&amp;quot; /&amp;gt;			&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;footer&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;footer&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;css&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;positions&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;header&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;footer&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;left&amp;lt;/position&amp;gt;&lt;br /&gt;
	&amp;lt;/positions&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_02#css/styles.css|css/styles.css]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_03&amp;diff=66520</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 03</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_03&amp;diff=66520"/>
		<updated>2012-04-16T11:03:50Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Part 03 - Adding module positions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Part 03 - Adding module positions = &lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * @package     Joomla.Tutorials&lt;br /&gt;
 * @subpackage  Template&lt;br /&gt;
 * @copyright   Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license     License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
 &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;head&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;&amp;lt;?php echo $this-&amp;gt;baseurl ?&amp;gt;/templates/&amp;lt;?php echo $this-&amp;gt;template ?&amp;gt;/css/styles.css&amp;quot; type=&amp;quot;text/css&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;div id=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;header&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;header&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;left&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;left&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;main&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;message&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;component&amp;quot; /&amp;gt;			&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;footer&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;footer&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;css&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;positions&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;header&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;footer&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;left&amp;lt;/position&amp;gt;&lt;br /&gt;
	&amp;lt;/positions&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_02#css/styles.css|css/styles.css]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_03&amp;diff=66519</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 03</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_03&amp;diff=66519"/>
		<updated>2012-04-16T11:03:38Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Part 03 - Adding module positions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Part 03 - Adding module positions = &lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * @package     Joomla.Tutorials&lt;br /&gt;
 * @subpackage  Template&lt;br /&gt;
 * @copyright   Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license     License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
 &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;head&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;&amp;lt;?php echo $this-&amp;gt;baseurl ?&amp;gt;/templates/&amp;lt;?php echo $this-&amp;gt;template ?&amp;gt;/css/styles.css&amp;quot; type=&amp;quot;text/css&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;div id=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;header&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;header&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;left&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;left&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;main&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;message&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;component&amp;quot; /&amp;gt;			&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div id=&amp;quot;footer&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;jdoc:include type=&amp;quot;modules&amp;quot; name=&amp;quot;footer&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;css&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;positions&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;header&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;footer&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;left&amp;lt;/position&amp;gt;&lt;br /&gt;
	&amp;lt;/positions&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_02#css/styles.css|css/styles.css]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_03&amp;diff=66518</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 03</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_03&amp;diff=66518"/>
		<updated>2012-04-16T11:00:54Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: Created page with &amp;quot;= Part 03 - Adding module positions =   With your favorite editor, edit the following file  &amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt; &amp;lt;?php   /**  * @pac...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Part 03 - Adding module positions = &lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * @package     Joomla.Tutorials&lt;br /&gt;
 * @subpackage  Template&lt;br /&gt;
 * @copyright   Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license     License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
 &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;head&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;&amp;lt;?php echo $this-&amp;gt;baseurl ?&amp;gt;/templates/&amp;lt;?php echo $this-&amp;gt;template ?&amp;gt;/css/styles.css&amp;quot; type=&amp;quot;text/css&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;message&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;component&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;css&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;positions&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;header&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;footer&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;left&amp;lt;/position&amp;gt;&lt;br /&gt;
	&amp;lt;/positions&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Template/Part_02#css/styles.css|css/styles.css]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template&amp;diff=66517</id>
		<title>User:Rvsjoen/tutorial/Developing a Template</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template&amp;diff=66517"/>
		<updated>2012-04-16T10:58:00Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A software framework contains a set of application development tools for developers. Joomla! has been designed for extensibility. The scope of this tutorial will be to develop a simple front-end template using the conventions and coding standards employed by Joomla!.&lt;br /&gt;
&lt;br /&gt;
The parts covered in this tutorial assume the reader has previous knowledge regarding basic HTML, CSS and PHP. Should that not be the case it is recommended to acquire this before proceeding.&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_02&amp;diff=66516</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 02</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_02&amp;diff=66516"/>
		<updated>2012-04-16T10:56:10Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* File listing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Part 02 - Adding a stylesheet = &lt;br /&gt;
&lt;br /&gt;
Alright, time has come to add some styling to our template. After all, without some proper styling our (yet to be) awesome template is just another blob of nasty markup. Let&#039;s start with a really simple stylesheet, doing nothing except setting the background color of the whole document.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;css/styles.css&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;css/styles.css&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
html, body {&lt;br /&gt;
    background: #ccc;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now that we have created our basic stylesheet we also need to tell the template to load it, we accomplish this by adding a style tag to the document header.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; highlight=&amp;quot;18&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * @package     Joomla.Tutorials&lt;br /&gt;
 * @subpackage  Template&lt;br /&gt;
 * @copyright   Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license     License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
 &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;head&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;&amp;lt;?php echo $this-&amp;gt;baseurl ?&amp;gt;/templates/&amp;lt;?php echo $this-&amp;gt;template ?&amp;gt;/css/styles.css&amp;quot; type=&amp;quot;text/css&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;message&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;component&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the style tag we are using some variables, these are automatically provided by Joomla! for convenience and can be used to refer to the base url and the template name respectively.&lt;br /&gt;
&lt;br /&gt;
The last step in adding this stylesheet to our template is to make sure that it is copied into the correct location when the template is installed. Since the stylesheet lives in the &#039;&#039;&#039;css&#039;&#039;&#039; folder of our template all we have to do is specify a &amp;lt;code&amp;gt;&amp;lt;folder&amp;lt;/code&amp;gt; tag with the &#039;&#039;&#039;css&#039;&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; highlight=&amp;quot;15&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;css&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#css/styles.css|css/styles.css]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Chunks:Developing_a_Template_Contents&amp;diff=66515</id>
		<title>Chunks:Developing a Template Contents</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Chunks:Developing_a_Template_Contents&amp;diff=66515"/>
		<updated>2012-04-16T10:55:23Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Articles in this series */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Articles in this series ==&lt;br /&gt;
&lt;br /&gt;
This tutorial is supported by the following versions of Joomla! &lt;br /&gt;
&lt;br /&gt;
{{JVer|2.5}}&lt;br /&gt;
&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_a_Template|Introduction]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_a_Template/Part 01|Part 01 - Developing a Basic Template]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_a_Template/Part 02|Part 02 - Adding a stylesheet]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_a_Template/Part 03|Part 03 - Adding module positions]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_a_Template/Part 04|Part 04 - Translation]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_a_Template/Part 05|Part 05 - Adding Parameters]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_a_Template/Part 06|Part 06 - Using overrides]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Joomla! 2.5]]&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_02&amp;diff=66514</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 02</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_02&amp;diff=66514"/>
		<updated>2012-04-16T10:53:46Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Part 02 - Adding a stylesheet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Part 02 - Adding a stylesheet = &lt;br /&gt;
&lt;br /&gt;
Alright, time has come to add some styling to our template. After all, without some proper styling our (yet to be) awesome template is just another blob of nasty markup. Let&#039;s start with a really simple stylesheet, doing nothing except setting the background color of the whole document.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;css/styles.css&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;css/styles.css&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
html, body {&lt;br /&gt;
    background: #ccc;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now that we have created our basic stylesheet we also need to tell the template to load it, we accomplish this by adding a style tag to the document header.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; highlight=&amp;quot;18&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * @package     Joomla.Tutorials&lt;br /&gt;
 * @subpackage  Template&lt;br /&gt;
 * @copyright   Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license     License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
 &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;head&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;&amp;lt;?php echo $this-&amp;gt;baseurl ?&amp;gt;/templates/&amp;lt;?php echo $this-&amp;gt;template ?&amp;gt;/css/styles.css&amp;quot; type=&amp;quot;text/css&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;message&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;component&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the style tag we are using some variables, these are automatically provided by Joomla! for convenience and can be used to refer to the base url and the template name respectively.&lt;br /&gt;
&lt;br /&gt;
The last step in adding this stylesheet to our template is to make sure that it is copied into the correct location when the template is installed. Since the stylesheet lives in the &#039;&#039;&#039;css&#039;&#039;&#039; folder of our template all we have to do is specify a &amp;lt;code&amp;gt;&amp;lt;folder&amp;lt;/code&amp;gt; tag with the &#039;&#039;&#039;css&#039;&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; highlight=&amp;quot;15&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;css&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_02&amp;diff=66513</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 02</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_02&amp;diff=66513"/>
		<updated>2012-04-16T10:53:28Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Part 02 - Adding styles and scripts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Part 02 - Adding a stylesheet = &lt;br /&gt;
&lt;br /&gt;
Alright, time has come to add some styling to our template. After all, without some proper styling our (yet to be) awesome template is just another blob of nasty markup.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s start with a really simple stylesheet, doing nothing except setting the background color of the whole document.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;css/styles.css&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;css/styles.css&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
html, body {&lt;br /&gt;
    background: #ccc;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now that we have created our basic stylesheet we also need to tell the template to load it, we accomplish this by adding a style tag to the document header.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; highlight=&amp;quot;18&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * @package     Joomla.Tutorials&lt;br /&gt;
 * @subpackage  Template&lt;br /&gt;
 * @copyright   Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license     License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
 &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;head&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;&amp;lt;?php echo $this-&amp;gt;baseurl ?&amp;gt;/templates/&amp;lt;?php echo $this-&amp;gt;template ?&amp;gt;/css/styles.css&amp;quot; type=&amp;quot;text/css&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;message&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;component&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the style tag we are using some variables, these are automatically provided by Joomla! for convenience and can be used to refer to the base url and the template name respectively.&lt;br /&gt;
&lt;br /&gt;
The last step in adding this stylesheet to our template is to make sure that it is copied into the correct location when the template is installed. Since the stylesheet lives in the &#039;&#039;&#039;css&#039;&#039;&#039; folder of our template all we have to do is specify a &amp;lt;code&amp;gt;&amp;lt;folder&amp;lt;/code&amp;gt; tag with the &#039;&#039;&#039;css&#039;&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; highlight=&amp;quot;15&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;css&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_02&amp;diff=66512</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 02</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_02&amp;diff=66512"/>
		<updated>2012-04-16T10:26:53Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Part 02 - Adding styles and scripts = &lt;br /&gt;
&lt;br /&gt;
Alright, time has come to add some styling to our template. After all, without some proper styling our (yet to be) awesome template is just another blob of nasty markup.&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Chunks:Developing_a_Template_Contents&amp;diff=66511</id>
		<title>Chunks:Developing a Template Contents</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Chunks:Developing_a_Template_Contents&amp;diff=66511"/>
		<updated>2012-04-16T10:26:21Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Articles in this series */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Articles in this series ==&lt;br /&gt;
&lt;br /&gt;
This tutorial is supported by the following versions of Joomla! &lt;br /&gt;
&lt;br /&gt;
{{JVer|2.5}}&lt;br /&gt;
&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_a_Template|Introduction]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_a_Template/Part 01|Part 01 - Developing a Basic Template]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_a_Template/Part 02|Part 02 - Adding styles and scripts]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_a_Template/Part 03|Part 03 - Adding module positions]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_a_Template/Part 04|Part 04 - Translation]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_a_Template/Part 05|Part 05 - Adding Parameters]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_a_Template/Part 06|Part 06 - Using overrides]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Joomla! 2.5]]&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_02&amp;diff=66510</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 02</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_02&amp;diff=66510"/>
		<updated>2012-04-16T10:23:50Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: Created page with &amp;quot;= Part 02 - Adding styles and scripts =   Alright, time has come to add some styling to our template. After all, without some proper styling our (yet to be) awesome template is j...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Part 02 - Adding styles and scripts = &lt;br /&gt;
&lt;br /&gt;
Alright, time has come to add some styling to our template. After all, without some proper styling our (yet to be) awesome template is just another blob of nasty markup.&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your template ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the template into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Template/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Module_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_01&amp;diff=66509</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 01</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_01&amp;diff=66509"/>
		<updated>2012-04-16T10:19:08Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Developing a Basic Template =&lt;br /&gt;
&lt;br /&gt;
Alright, lets get cracking on this awesome adventure towards template independence. Creating a basic template is in reality pretty simple, all we need is two things.&lt;br /&gt;
&lt;br /&gt;
* A template manifest&lt;br /&gt;
* A template index file&lt;br /&gt;
&lt;br /&gt;
== Creating the index file ==&lt;br /&gt;
&lt;br /&gt;
This is where it all starts, the &amp;quot;root&amp;quot; of your template so to speak, this file is responsible for rendering a properly structured HTML document. This file will exists in all templates.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * @package     Joomla.Tutorials&lt;br /&gt;
 * @subpackage  Template&lt;br /&gt;
 * @copyright   Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license     License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
 &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;head&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;message&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;component&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, this is a &#039;&#039;&#039;very&#039;&#039;&#039; basic PHP file, yet in only a few lines of markup we have accomplished the following things&lt;br /&gt;
&lt;br /&gt;
* We have declared the document type to be &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/code&amp;gt; which means that we are creating a HTML5 template. For a complete list of recommended doctypes please see [http://www.w3.org/QA/2002/04/valid-dtd-list.html]&lt;br /&gt;
* We have enforced that our document must conform to the XHTML namespace through the &#039;&#039;&#039;xmlns&#039;&#039;&#039; attribute&lt;br /&gt;
* We have included a head in the html document&lt;br /&gt;
* We have included a body in the html document&lt;br /&gt;
&lt;br /&gt;
Pay special attention to the jdoc include tags, these are what makes Joomla! able to insert content into your template. For now, we told Joomla! to include all header-specific information inside the &amp;lt;code&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/code&amp;gt; element. We also told Joomla! that we want system messages to appear in the top of the &amp;lt;code&amp;gt;&amp;lt;body&amp;gt;&amp;lt;/code&amp;gt; element and that we want to include the component here as well. The component is the main part of a rendered Joomla! page such as an article.&lt;br /&gt;
&lt;br /&gt;
There are several other types of jdoc include tags that we will cover later in this tutorial. What is important to know is that whenever you see one of them, it means that Joomla! may or may not insert content in it&#039;s location.&lt;br /&gt;
&lt;br /&gt;
== Creating the manifest ==&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation and Testing == &lt;br /&gt;
&lt;br /&gt;
Before testing your shiny new template you have to install it. In Joomla! there are two ways of doing that, either by packaging the extension into an installable zip package or by using the discovery method. Both methods are described below but I recommend using the packaged zip file as a beginner because it is more hostile towards errors especially in the XML manifest.&lt;br /&gt;
&lt;br /&gt;
=== Installing your template===&lt;br /&gt;
If you have used Joomla before reading this tutorial, you have noticed that extensions are installed using a compressed file containing all the things which are needed for installing and uninstalling them. &lt;br /&gt;
&lt;br /&gt;
A new feature made available in Joomla! 1.6 is &amp;quot;discover.&amp;quot; That means you can place the files in the correct places inside your Joomla! installation (The proper file path for this module will be in &#039;&#039;&#039;templates/helloworld&#039;&#039;&#039; within the Joomla! root), and the &amp;quot;Discover&amp;quot; option within the extension manager will install it, when selected.&lt;br /&gt;
&lt;br /&gt;
=== Packaging an installation zip file ===&lt;br /&gt;
&lt;br /&gt;
Create a compressed file of your extension directory using the structure shown in the file listing section of this page or download the provided installable package.&lt;br /&gt;
&lt;br /&gt;
When you have this package, install it using the extension manager.&lt;br /&gt;
&lt;br /&gt;
=== Testing your template ===&lt;br /&gt;
&lt;br /&gt;
If you want to test this template, you first need to do a couple of things.&lt;br /&gt;
&lt;br /&gt;
# Go to the Template Manager&lt;br /&gt;
# Set your shiny new template to the default template for Site&lt;br /&gt;
&lt;br /&gt;
After performing these steps you can navigate to the frontend and view the template.&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_01&amp;diff=66508</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 01</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_01&amp;diff=66508"/>
		<updated>2012-04-16T10:17:33Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Installation and Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Developing a Basic Template =&lt;br /&gt;
&lt;br /&gt;
Alright, lets get cracking on this awesome adventure towards template independence. Creating a basic template is in reality pretty simple, all we need is two things.&lt;br /&gt;
&lt;br /&gt;
* A template manifest&lt;br /&gt;
* A template index file&lt;br /&gt;
&lt;br /&gt;
== Creating the index file ==&lt;br /&gt;
&lt;br /&gt;
This is where it all starts, the &amp;quot;root&amp;quot; of your template so to speak, this file is responsible for rendering a properly structured HTML document. This file will exists in all templates.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * @package     Joomla.Tutorials&lt;br /&gt;
 * @subpackage  Template&lt;br /&gt;
 * @copyright   Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license     License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
 &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;head&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;message&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;component&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, this is a &#039;&#039;&#039;very&#039;&#039;&#039; basic PHP file, yet in only a few lines of markup we have accomplished the following things&lt;br /&gt;
&lt;br /&gt;
* We have declared the document type to be &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/code&amp;gt; which means that we are creating a HTML5 template. For a complete list of recommended doctypes please see [http://www.w3.org/QA/2002/04/valid-dtd-list.html]&lt;br /&gt;
* We have enforced that our document must conform to the XHTML namespace through the &#039;&#039;&#039;xmlns&#039;&#039;&#039; attribute&lt;br /&gt;
* We have included a head in the html document&lt;br /&gt;
* We have included a body in the html document&lt;br /&gt;
&lt;br /&gt;
Pay special attention to the jdoc include tags, these are what makes Joomla! able to insert content into your template. For now, we told Joomla! to include all header-specific information inside the &amp;lt;code&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/code&amp;gt; element. We also told Joomla! that we want system messages to appear in the top of the &amp;lt;code&amp;gt;&amp;lt;body&amp;gt;&amp;lt;/code&amp;gt; element and that we want to include the component here as well. The component is the main part of a rendered Joomla! page such as an article.&lt;br /&gt;
&lt;br /&gt;
There are several other types of jdoc include tags that we will cover later in this tutorial. What is important to know is that whenever you see one of them, it means that Joomla! may or may not insert content in it&#039;s location.&lt;br /&gt;
&lt;br /&gt;
== Creating the manifest ==&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation and Testing == &lt;br /&gt;
&lt;br /&gt;
Before testing your shiny new template you have to install it. In Joomla! there are two ways of doing that, either by packaging the extension into an installable zip package or by using the discovery method. Both methods are described below but I recommend using the packaged zip file as a beginner because it is more hostile towards errors especially in the XML manifest.&lt;br /&gt;
&lt;br /&gt;
=== Installing your template===&lt;br /&gt;
If you have used Joomla before reading this tutorial, you have noticed that extensions are installed using a compressed file containing all the things which are needed for installing and uninstalling them. &lt;br /&gt;
&lt;br /&gt;
A new feature made available in Joomla! 1.6 is &amp;quot;discover.&amp;quot; That means you can place the files in the correct places inside your Joomla! installation (The proper file path for this module will be in &#039;&#039;&#039;templates/helloworld&#039;&#039;&#039; within the Joomla! root), and the &amp;quot;Discover&amp;quot; option within the extension manager will install it, when selected.&lt;br /&gt;
&lt;br /&gt;
=== Packaging an installation zip file ===&lt;br /&gt;
&lt;br /&gt;
Create a compressed file of your extension directory using the structure shown in the file listing section of this page or download the provided installable package.&lt;br /&gt;
&lt;br /&gt;
When you have this package, install it using the extension manager.&lt;br /&gt;
&lt;br /&gt;
=== Testing your template ===&lt;br /&gt;
&lt;br /&gt;
If you want to test this template, you first need to do a couple of things.&lt;br /&gt;
&lt;br /&gt;
# Go to the Template Manager&lt;br /&gt;
# Set your shiny new template to the default template for Site&lt;br /&gt;
&lt;br /&gt;
After performing these steps you can navigate to the frontend and view the template.&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_01&amp;diff=66507</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 01</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_01&amp;diff=66507"/>
		<updated>2012-04-16T10:17:08Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Creating the index file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Developing a Basic Template =&lt;br /&gt;
&lt;br /&gt;
Alright, lets get cracking on this awesome adventure towards template independence. Creating a basic template is in reality pretty simple, all we need is two things.&lt;br /&gt;
&lt;br /&gt;
* A template manifest&lt;br /&gt;
* A template index file&lt;br /&gt;
&lt;br /&gt;
== Creating the index file ==&lt;br /&gt;
&lt;br /&gt;
This is where it all starts, the &amp;quot;root&amp;quot; of your template so to speak, this file is responsible for rendering a properly structured HTML document. This file will exists in all templates.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * @package     Joomla.Tutorials&lt;br /&gt;
 * @subpackage  Template&lt;br /&gt;
 * @copyright   Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license     License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
 &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;head&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;message&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;component&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, this is a &#039;&#039;&#039;very&#039;&#039;&#039; basic PHP file, yet in only a few lines of markup we have accomplished the following things&lt;br /&gt;
&lt;br /&gt;
* We have declared the document type to be &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/code&amp;gt; which means that we are creating a HTML5 template. For a complete list of recommended doctypes please see [http://www.w3.org/QA/2002/04/valid-dtd-list.html]&lt;br /&gt;
* We have enforced that our document must conform to the XHTML namespace through the &#039;&#039;&#039;xmlns&#039;&#039;&#039; attribute&lt;br /&gt;
* We have included a head in the html document&lt;br /&gt;
* We have included a body in the html document&lt;br /&gt;
&lt;br /&gt;
Pay special attention to the jdoc include tags, these are what makes Joomla! able to insert content into your template. For now, we told Joomla! to include all header-specific information inside the &amp;lt;code&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/code&amp;gt; element. We also told Joomla! that we want system messages to appear in the top of the &amp;lt;code&amp;gt;&amp;lt;body&amp;gt;&amp;lt;/code&amp;gt; element and that we want to include the component here as well. The component is the main part of a rendered Joomla! page such as an article.&lt;br /&gt;
&lt;br /&gt;
There are several other types of jdoc include tags that we will cover later in this tutorial. What is important to know is that whenever you see one of them, it means that Joomla! may or may not insert content in it&#039;s location.&lt;br /&gt;
&lt;br /&gt;
== Creating the manifest ==&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation and Testing == &lt;br /&gt;
&lt;br /&gt;
Before testing your shiny new module you have to install it. In Joomla! there are two ways of doing that, either by packaging the extension into an installable zip package or by using the discovery method. Both methods are described below but I recommend using the packaged zip file as a beginner because it is more hostile towards errors especially in the XML manifest.&lt;br /&gt;
&lt;br /&gt;
=== Installing your template===&lt;br /&gt;
If you have used Joomla before reading this tutorial, you have noticed that extensions are installed using a compressed file containing all the things which are needed for installing and uninstalling them. &lt;br /&gt;
&lt;br /&gt;
A new feature made available in Joomla! 1.6 is &amp;quot;discover.&amp;quot; That means you can place the files in the correct places inside your Joomla! installation (The proper file path for this module will be in &#039;&#039;&#039;templates/helloworld&#039;&#039;&#039; within the Joomla! root), and the &amp;quot;Discover&amp;quot; option within the extension manager will install it, when selected.&lt;br /&gt;
&lt;br /&gt;
=== Packaging an installation zip file ===&lt;br /&gt;
&lt;br /&gt;
Create a compressed file of your extension directory using the structure shown in the file listing section of this page or download the provided installable package.&lt;br /&gt;
&lt;br /&gt;
When you have this package, install it using the extension manager.&lt;br /&gt;
&lt;br /&gt;
=== Testing your template ===&lt;br /&gt;
&lt;br /&gt;
If you want to test this template, you first need to do a couple of things.&lt;br /&gt;
&lt;br /&gt;
# Go to the Template Manager&lt;br /&gt;
# Set your shiny new template to the default template for Site&lt;br /&gt;
&lt;br /&gt;
After performing these steps you can navigate to the frontend and view the template.&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_01&amp;diff=66506</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 01</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_01&amp;diff=66506"/>
		<updated>2012-04-16T10:16:10Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Creating the index file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Developing a Basic Template =&lt;br /&gt;
&lt;br /&gt;
Alright, lets get cracking on this awesome adventure towards template independence. Creating a basic template is in reality pretty simple, all we need is two things.&lt;br /&gt;
&lt;br /&gt;
* A template manifest&lt;br /&gt;
* A template index file&lt;br /&gt;
&lt;br /&gt;
== Creating the index file ==&lt;br /&gt;
&lt;br /&gt;
This is where it all starts, the &amp;quot;root&amp;quot; of your template so to speak.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * @package     Joomla.Tutorials&lt;br /&gt;
 * @subpackage  Template&lt;br /&gt;
 * @copyright   Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license     License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
 &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;head&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;message&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;component&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, this is a &#039;&#039;&#039;very&#039;&#039;&#039; basic PHP file, yet in only a few lines of markup we have accomplished the following things&lt;br /&gt;
&lt;br /&gt;
* We have declared the document type to be &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/code&amp;gt; which means that we are creating a HTML5 template. For a complete list of recommended doctypes please see [http://www.w3.org/QA/2002/04/valid-dtd-list.html]&lt;br /&gt;
* We have enforced that our document must conform to the XHTML namespace through the &#039;&#039;&#039;xmlns&#039;&#039;&#039; attribute&lt;br /&gt;
* We have included a head in the html document&lt;br /&gt;
* We have included a body in the html document&lt;br /&gt;
&lt;br /&gt;
Pay special attention to the jdoc include tags, these are what makes Joomla! able to insert content into your template. For now, we told Joomla! to include all header-specific information inside the &amp;lt;code&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/code&amp;gt; element. We also told Joomla! that we want system messages to appear in the top of the &amp;lt;code&amp;gt;&amp;lt;body&amp;gt;&amp;lt;/code&amp;gt; element and that we want to include the component here as well. The component is the main part of a rendered Joomla! page such as an article.&lt;br /&gt;
&lt;br /&gt;
There are several other types of jdoc include tags that we will cover later in this tutorial. What is important to know is that whenever you see one of them, it means that Joomla! may or may not insert content in it&#039;s location.&lt;br /&gt;
&lt;br /&gt;
== Creating the manifest ==&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation and Testing == &lt;br /&gt;
&lt;br /&gt;
Before testing your shiny new module you have to install it. In Joomla! there are two ways of doing that, either by packaging the extension into an installable zip package or by using the discovery method. Both methods are described below but I recommend using the packaged zip file as a beginner because it is more hostile towards errors especially in the XML manifest.&lt;br /&gt;
&lt;br /&gt;
=== Installing your template===&lt;br /&gt;
If you have used Joomla before reading this tutorial, you have noticed that extensions are installed using a compressed file containing all the things which are needed for installing and uninstalling them. &lt;br /&gt;
&lt;br /&gt;
A new feature made available in Joomla! 1.6 is &amp;quot;discover.&amp;quot; That means you can place the files in the correct places inside your Joomla! installation (The proper file path for this module will be in &#039;&#039;&#039;templates/helloworld&#039;&#039;&#039; within the Joomla! root), and the &amp;quot;Discover&amp;quot; option within the extension manager will install it, when selected.&lt;br /&gt;
&lt;br /&gt;
=== Packaging an installation zip file ===&lt;br /&gt;
&lt;br /&gt;
Create a compressed file of your extension directory using the structure shown in the file listing section of this page or download the provided installable package.&lt;br /&gt;
&lt;br /&gt;
When you have this package, install it using the extension manager.&lt;br /&gt;
&lt;br /&gt;
=== Testing your template ===&lt;br /&gt;
&lt;br /&gt;
If you want to test this template, you first need to do a couple of things.&lt;br /&gt;
&lt;br /&gt;
# Go to the Template Manager&lt;br /&gt;
# Set your shiny new template to the default template for Site&lt;br /&gt;
&lt;br /&gt;
After performing these steps you can navigate to the frontend and view the template.&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_01&amp;diff=66505</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 01</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_01&amp;diff=66505"/>
		<updated>2012-04-16T10:02:52Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Creating the index file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Developing a Basic Template =&lt;br /&gt;
&lt;br /&gt;
Alright, lets get cracking on this awesome adventure towards template independence. Creating a basic template is in reality pretty simple, all we need is two things.&lt;br /&gt;
&lt;br /&gt;
* A template manifest&lt;br /&gt;
* A template index file&lt;br /&gt;
&lt;br /&gt;
== Creating the index file ==&lt;br /&gt;
&lt;br /&gt;
This is where it all starts, the &amp;quot;root&amp;quot; of your template so to speak.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * @package     Joomla.Tutorials&lt;br /&gt;
 * @subpackage  Template&lt;br /&gt;
 * @copyright   Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license     License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
 &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;?php echo &#039;&amp;lt;?&#039;; ?&amp;gt;xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;&amp;lt;?php echo $this-&amp;gt;_charset ?&amp;gt;&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; dir=&amp;quot;&amp;lt;?php echo $this-&amp;gt;direction; ?&amp;gt;&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;head&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;message&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;component&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, this is a &#039;&#039;&#039;very&#039;&#039;&#039; basic PHP file, yet in only a few lines of markup we have accomplished the following things&lt;br /&gt;
&lt;br /&gt;
* We have declared the XML version&lt;br /&gt;
* We have declared the document type to be &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;/code&amp;gt; which means that we are creating a HTML5 template. For a complete list of recommended doctypes please see [http://www.w3.org/QA/2002/04/valid-dtd-list.html]&lt;br /&gt;
* We have enforced that our document must conform to the XHTML namespace through the &#039;&#039;&#039;xmlns&#039;&#039;&#039; attribute&lt;br /&gt;
* We have included a head in the html document&lt;br /&gt;
* We have included a body in the html document&lt;br /&gt;
&lt;br /&gt;
Pay special attention to the jdoc include tags, these are what makes Joomla! able to insert content into your template. For now, we told Joomla! to include all header-specific information inside the &amp;lt;code&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/code&amp;gt; element. We also told Joomla! that we want system messages to appear in the top of the &amp;lt;code&amp;gt;&amp;lt;body&amp;gt;&amp;lt;/code&amp;gt; element and that we want to include the component here as well. The component is the main part of a rendered Joomla! page such as an article.&lt;br /&gt;
&lt;br /&gt;
== Creating the manifest ==&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation and Testing == &lt;br /&gt;
&lt;br /&gt;
Before testing your shiny new module you have to install it. In Joomla! there are two ways of doing that, either by packaging the extension into an installable zip package or by using the discovery method. Both methods are described below but I recommend using the packaged zip file as a beginner because it is more hostile towards errors especially in the XML manifest.&lt;br /&gt;
&lt;br /&gt;
=== Installing your template===&lt;br /&gt;
If you have used Joomla before reading this tutorial, you have noticed that extensions are installed using a compressed file containing all the things which are needed for installing and uninstalling them. &lt;br /&gt;
&lt;br /&gt;
A new feature made available in Joomla! 1.6 is &amp;quot;discover.&amp;quot; That means you can place the files in the correct places inside your Joomla! installation (The proper file path for this module will be in &#039;&#039;&#039;templates/helloworld&#039;&#039;&#039; within the Joomla! root), and the &amp;quot;Discover&amp;quot; option within the extension manager will install it, when selected.&lt;br /&gt;
&lt;br /&gt;
=== Packaging an installation zip file ===&lt;br /&gt;
&lt;br /&gt;
Create a compressed file of your extension directory using the structure shown in the file listing section of this page or download the provided installable package.&lt;br /&gt;
&lt;br /&gt;
When you have this package, install it using the extension manager.&lt;br /&gt;
&lt;br /&gt;
=== Testing your template ===&lt;br /&gt;
&lt;br /&gt;
If you want to test this template, you first need to do a couple of things.&lt;br /&gt;
&lt;br /&gt;
# Go to the Template Manager&lt;br /&gt;
# Set your shiny new template to the default template for Site&lt;br /&gt;
&lt;br /&gt;
After performing these steps you can navigate to the frontend and view the template.&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_01&amp;diff=66504</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 01</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_01&amp;diff=66504"/>
		<updated>2012-04-16T10:01:06Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Creating the index file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Developing a Basic Template =&lt;br /&gt;
&lt;br /&gt;
Alright, lets get cracking on this awesome adventure towards template independence. Creating a basic template is in reality pretty simple, all we need is two things.&lt;br /&gt;
&lt;br /&gt;
* A template manifest&lt;br /&gt;
* A template index file&lt;br /&gt;
&lt;br /&gt;
== Creating the index file ==&lt;br /&gt;
&lt;br /&gt;
This is where it all starts, the &amp;quot;root&amp;quot; of your template so to speak.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * @package     Joomla.Tutorials&lt;br /&gt;
 * @subpackage  Template&lt;br /&gt;
 * @copyright   Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license     License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
 &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;?php echo &#039;&amp;lt;?&#039;; ?&amp;gt;xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;&amp;lt;?php echo $this-&amp;gt;_charset ?&amp;gt;&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; dir=&amp;quot;&amp;lt;?php echo $this-&amp;gt;direction; ?&amp;gt;&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;head&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;message&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;component&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, this is a &#039;&#039;&#039;very&#039;&#039;&#039; basic PHP file, yet in only a few lines of markup we have accomplished the following things&lt;br /&gt;
&lt;br /&gt;
* We have declared the XML version&lt;br /&gt;
* We have declared the document type to be &#039;&#039;&#039;html&#039;&#039;&#039; which means that we are creating a html5 template. For a complete list of recommended doctypes please see [http://www.w3.org/QA/2002/04/valid-dtd-list.html]&lt;br /&gt;
* We have enforced that our document must conform to the XHTML namespace through the &#039;&#039;&#039;xmlns&#039;&#039;&#039; attribute&lt;br /&gt;
* We have included a head in the html document&lt;br /&gt;
* We have included a body in the html document&lt;br /&gt;
&lt;br /&gt;
Pay special attention to the jdoc include tags, these are what makes Joomla! able to insert content into your template. For now, we told Joomla! to include all header-specific information inside the &#039;&#039;&#039;head&#039;&#039;&#039; element. We also told Joomla! that we want system messages to appear in the top of the &#039;&#039;&#039;body&#039;&#039;&#039; element and that we want to include the component here as well. The component is the main part of a rendered Joomla! page such as an article.&lt;br /&gt;
&lt;br /&gt;
== Creating the manifest ==&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation and Testing == &lt;br /&gt;
&lt;br /&gt;
Before testing your shiny new module you have to install it. In Joomla! there are two ways of doing that, either by packaging the extension into an installable zip package or by using the discovery method. Both methods are described below but I recommend using the packaged zip file as a beginner because it is more hostile towards errors especially in the XML manifest.&lt;br /&gt;
&lt;br /&gt;
=== Installing your template===&lt;br /&gt;
If you have used Joomla before reading this tutorial, you have noticed that extensions are installed using a compressed file containing all the things which are needed for installing and uninstalling them. &lt;br /&gt;
&lt;br /&gt;
A new feature made available in Joomla! 1.6 is &amp;quot;discover.&amp;quot; That means you can place the files in the correct places inside your Joomla! installation (The proper file path for this module will be in &#039;&#039;&#039;templates/helloworld&#039;&#039;&#039; within the Joomla! root), and the &amp;quot;Discover&amp;quot; option within the extension manager will install it, when selected.&lt;br /&gt;
&lt;br /&gt;
=== Packaging an installation zip file ===&lt;br /&gt;
&lt;br /&gt;
Create a compressed file of your extension directory using the structure shown in the file listing section of this page or download the provided installable package.&lt;br /&gt;
&lt;br /&gt;
When you have this package, install it using the extension manager.&lt;br /&gt;
&lt;br /&gt;
=== Testing your template ===&lt;br /&gt;
&lt;br /&gt;
If you want to test this template, you first need to do a couple of things.&lt;br /&gt;
&lt;br /&gt;
# Go to the Template Manager&lt;br /&gt;
# Set your shiny new template to the default template for Site&lt;br /&gt;
&lt;br /&gt;
After performing these steps you can navigate to the frontend and view the template.&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_01&amp;diff=66503</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 01</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_01&amp;diff=66503"/>
		<updated>2012-04-16T09:54:41Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Creating the index file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Developing a Basic Template =&lt;br /&gt;
&lt;br /&gt;
Alright, lets get cracking on this awesome adventure towards template independence. Creating a basic template is in reality pretty simple, all we need is two things.&lt;br /&gt;
&lt;br /&gt;
* A template manifest&lt;br /&gt;
* A template index file&lt;br /&gt;
&lt;br /&gt;
== Creating the index file ==&lt;br /&gt;
&lt;br /&gt;
This is where it all starts, the &amp;quot;root&amp;quot; of your template so to speak.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * @package     Joomla.Tutorials&lt;br /&gt;
 * @subpackage  Template&lt;br /&gt;
 * @copyright   Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license     License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
 &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;?php echo &#039;&amp;lt;?&#039;; ?&amp;gt;xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;&amp;lt;?php echo $this-&amp;gt;_charset ?&amp;gt;&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; dir=&amp;quot;&amp;lt;?php echo $this-&amp;gt;direction; ?&amp;gt;&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;head&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;message&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;jdoc:include type=&amp;quot;component&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creating the manifest ==&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation and Testing == &lt;br /&gt;
&lt;br /&gt;
Before testing your shiny new module you have to install it. In Joomla! there are two ways of doing that, either by packaging the extension into an installable zip package or by using the discovery method. Both methods are described below but I recommend using the packaged zip file as a beginner because it is more hostile towards errors especially in the XML manifest.&lt;br /&gt;
&lt;br /&gt;
=== Installing your template===&lt;br /&gt;
If you have used Joomla before reading this tutorial, you have noticed that extensions are installed using a compressed file containing all the things which are needed for installing and uninstalling them. &lt;br /&gt;
&lt;br /&gt;
A new feature made available in Joomla! 1.6 is &amp;quot;discover.&amp;quot; That means you can place the files in the correct places inside your Joomla! installation (The proper file path for this module will be in &#039;&#039;&#039;templates/helloworld&#039;&#039;&#039; within the Joomla! root), and the &amp;quot;Discover&amp;quot; option within the extension manager will install it, when selected.&lt;br /&gt;
&lt;br /&gt;
=== Packaging an installation zip file ===&lt;br /&gt;
&lt;br /&gt;
Create a compressed file of your extension directory using the structure shown in the file listing section of this page or download the provided installable package.&lt;br /&gt;
&lt;br /&gt;
When you have this package, install it using the extension manager.&lt;br /&gt;
&lt;br /&gt;
=== Testing your template ===&lt;br /&gt;
&lt;br /&gt;
If you want to test this template, you first need to do a couple of things.&lt;br /&gt;
&lt;br /&gt;
# Go to the Template Manager&lt;br /&gt;
# Set your shiny new template to the default template for Site&lt;br /&gt;
&lt;br /&gt;
After performing these steps you can navigate to the frontend and view the template.&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_01&amp;diff=66502</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 01</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_01&amp;diff=66502"/>
		<updated>2012-04-16T09:53:01Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Creating the index file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Developing a Basic Template =&lt;br /&gt;
&lt;br /&gt;
Alright, lets get cracking on this awesome adventure towards template independence. Creating a basic template is in reality pretty simple, all we need is two things.&lt;br /&gt;
&lt;br /&gt;
* A template manifest&lt;br /&gt;
* A template index file&lt;br /&gt;
&lt;br /&gt;
== Creating the index file ==&lt;br /&gt;
&lt;br /&gt;
This is where it all starts, the &amp;quot;root&amp;quot; of your template so to speak.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * @package     Joomla.Tutorials&lt;br /&gt;
 * @subpackage  Template&lt;br /&gt;
 * @copyright   Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license     License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
 &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;?php echo &#039;&amp;lt;?&#039;; ?&amp;gt;xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;&amp;lt;?php echo $this-&amp;gt;_charset ?&amp;gt;&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; lang=&amp;quot;&amp;lt;?php echo $this-&amp;gt;language; ?&amp;gt;&amp;quot; dir=&amp;quot;&amp;lt;?php echo $this-&amp;gt;direction; ?&amp;gt;&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creating the manifest ==&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation and Testing == &lt;br /&gt;
&lt;br /&gt;
Before testing your shiny new module you have to install it. In Joomla! there are two ways of doing that, either by packaging the extension into an installable zip package or by using the discovery method. Both methods are described below but I recommend using the packaged zip file as a beginner because it is more hostile towards errors especially in the XML manifest.&lt;br /&gt;
&lt;br /&gt;
=== Installing your template===&lt;br /&gt;
If you have used Joomla before reading this tutorial, you have noticed that extensions are installed using a compressed file containing all the things which are needed for installing and uninstalling them. &lt;br /&gt;
&lt;br /&gt;
A new feature made available in Joomla! 1.6 is &amp;quot;discover.&amp;quot; That means you can place the files in the correct places inside your Joomla! installation (The proper file path for this module will be in &#039;&#039;&#039;templates/helloworld&#039;&#039;&#039; within the Joomla! root), and the &amp;quot;Discover&amp;quot; option within the extension manager will install it, when selected.&lt;br /&gt;
&lt;br /&gt;
=== Packaging an installation zip file ===&lt;br /&gt;
&lt;br /&gt;
Create a compressed file of your extension directory using the structure shown in the file listing section of this page or download the provided installable package.&lt;br /&gt;
&lt;br /&gt;
When you have this package, install it using the extension manager.&lt;br /&gt;
&lt;br /&gt;
=== Testing your template ===&lt;br /&gt;
&lt;br /&gt;
If you want to test this template, you first need to do a couple of things.&lt;br /&gt;
&lt;br /&gt;
# Go to the Template Manager&lt;br /&gt;
# Set your shiny new template to the default template for Site&lt;br /&gt;
&lt;br /&gt;
After performing these steps you can navigate to the frontend and view the template.&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_01&amp;diff=66501</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 01</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_01&amp;diff=66501"/>
		<updated>2012-04-16T09:50:24Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Creating the manifest */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Developing a Basic Template =&lt;br /&gt;
&lt;br /&gt;
Alright, lets get cracking on this awesome adventure towards template independence. Creating a basic template is in reality pretty simple, all we need is two things.&lt;br /&gt;
&lt;br /&gt;
* A template manifest&lt;br /&gt;
* A template index file&lt;br /&gt;
&lt;br /&gt;
== Creating the index file ==&lt;br /&gt;
&lt;br /&gt;
This is where it all starts, the &amp;quot;root&amp;quot; of your template so to speak.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creating the manifest ==&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;2.5&amp;quot; type=&amp;quot;template&amp;quot; client=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World! template...&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;templateDetails.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation and Testing == &lt;br /&gt;
&lt;br /&gt;
Before testing your shiny new module you have to install it. In Joomla! there are two ways of doing that, either by packaging the extension into an installable zip package or by using the discovery method. Both methods are described below but I recommend using the packaged zip file as a beginner because it is more hostile towards errors especially in the XML manifest.&lt;br /&gt;
&lt;br /&gt;
=== Installing your template===&lt;br /&gt;
If you have used Joomla before reading this tutorial, you have noticed that extensions are installed using a compressed file containing all the things which are needed for installing and uninstalling them. &lt;br /&gt;
&lt;br /&gt;
A new feature made available in Joomla! 1.6 is &amp;quot;discover.&amp;quot; That means you can place the files in the correct places inside your Joomla! installation (The proper file path for this module will be in &#039;&#039;&#039;templates/helloworld&#039;&#039;&#039; within the Joomla! root), and the &amp;quot;Discover&amp;quot; option within the extension manager will install it, when selected.&lt;br /&gt;
&lt;br /&gt;
=== Packaging an installation zip file ===&lt;br /&gt;
&lt;br /&gt;
Create a compressed file of your extension directory using the structure shown in the file listing section of this page or download the provided installable package.&lt;br /&gt;
&lt;br /&gt;
When you have this package, install it using the extension manager.&lt;br /&gt;
&lt;br /&gt;
=== Testing your template ===&lt;br /&gt;
&lt;br /&gt;
If you want to test this template, you first need to do a couple of things.&lt;br /&gt;
&lt;br /&gt;
# Go to the Template Manager&lt;br /&gt;
# Set your shiny new template to the default template for Site&lt;br /&gt;
&lt;br /&gt;
After performing these steps you can navigate to the frontend and view the template.&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_01&amp;diff=66500</id>
		<title>User:Rvsjoen/tutorial/Developing a Template/Part 01</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template/Part_01&amp;diff=66500"/>
		<updated>2012-04-16T09:39:44Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: Created page with &amp;quot;= Developing a Basic Template =  Alright, lets get cracking on this awesome adventure towards template independence. Creating a basic template is in reality pretty simple, all we...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Developing a Basic Template =&lt;br /&gt;
&lt;br /&gt;
Alright, lets get cracking on this awesome adventure towards template independence. Creating a basic template is in reality pretty simple, all we need is two things.&lt;br /&gt;
&lt;br /&gt;
* A template manifest&lt;br /&gt;
* A template index file&lt;br /&gt;
&lt;br /&gt;
== Creating the index file ==&lt;br /&gt;
&lt;br /&gt;
This is where it all starts, the &amp;quot;root&amp;quot; of your template so to speak.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creating the manifest ==&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;templateDetails.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;templateDetails.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation and Testing == &lt;br /&gt;
&lt;br /&gt;
Before testing your shiny new module you have to install it. In Joomla! there are two ways of doing that, either by packaging the extension into an installable zip package or by using the discovery method. Both methods are described below but I recommend using the packaged zip file as a beginner because it is more hostile towards errors especially in the XML manifest.&lt;br /&gt;
&lt;br /&gt;
=== Installing your template===&lt;br /&gt;
If you have used Joomla before reading this tutorial, you have noticed that extensions are installed using a compressed file containing all the things which are needed for installing and uninstalling them. &lt;br /&gt;
&lt;br /&gt;
A new feature made available in Joomla! 1.6 is &amp;quot;discover.&amp;quot; That means you can place the files in the correct places inside your Joomla! installation (The proper file path for this module will be in &#039;&#039;&#039;templates/helloworld&#039;&#039;&#039; within the Joomla! root), and the &amp;quot;Discover&amp;quot; option within the extension manager will install it, when selected.&lt;br /&gt;
&lt;br /&gt;
=== Packaging an installation zip file ===&lt;br /&gt;
&lt;br /&gt;
Create a compressed file of your extension directory using the structure shown in the file listing section of this page or download the provided installable package.&lt;br /&gt;
&lt;br /&gt;
When you have this package, install it using the extension manager.&lt;br /&gt;
&lt;br /&gt;
=== Testing your template ===&lt;br /&gt;
&lt;br /&gt;
If you want to test this template, you first need to do a couple of things.&lt;br /&gt;
&lt;br /&gt;
# Go to the Template Manager&lt;br /&gt;
# Set your shiny new template to the default template for Site&lt;br /&gt;
&lt;br /&gt;
After performing these steps you can navigate to the frontend and view the template.&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#templateDetails.xml|templateDetails.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.php|index.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Module/Part_01&amp;diff=66499</id>
		<title>User:Rvsjoen/tutorial/Developing a Module/Part 01</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Module/Part_01&amp;diff=66499"/>
		<updated>2012-04-16T09:39:20Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Developing a Basic Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Developing a Basic Module =&lt;br /&gt;
&lt;br /&gt;
Let&#039;s create a &#039;&#039;Hello World!&#039;&#039; module. All file name and path references in this tutorial are relative to the directory you are developing your extension in. In order to create a very basic module, all that is really needed is two files. A module file and an XML manifest. This module will do nothing more than to spit out the words &amp;quot;Hello World!&amp;quot; into the position in which it is published.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;mod_helloworld.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;mod_helloworld.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
Hello World!&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;mod_helloworld.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;mod_helloworld.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;module&amp;quot; version=&amp;quot;2.5.0&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;name&amp;gt;Hello World!&amp;lt;/name&amp;gt;&lt;br /&gt;
        &amp;lt;!-- The following elements are optional and free of formatting constraints --&amp;gt;&lt;br /&gt;
        &amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
        &amp;lt;!--  The version string is stored in the extension table --&amp;gt;&lt;br /&gt;
        &amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
        &amp;lt;!-- The description is optional and defaults to the name --&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;Description of the Hello World module ...&amp;lt;/description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Note the folder attribute: This attribute describes what to copy&lt;br /&gt;
                into the module folder --&amp;gt;&lt;br /&gt;
        &amp;lt;files&amp;gt;&lt;br /&gt;
                &amp;lt;filename module=&amp;quot;mod_helloworld&amp;quot;&amp;gt;mod_helloworld.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;mod_helloworld.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;/files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As we can see, there is a lot of markup here. This is pretty much a minimal extension manifest and we will try to explain the most important bits and pieces. The important thing to note here is the &#039;&#039;&#039;module=&amp;quot;mod_helloworld&amp;quot;&#039;&#039;&#039; attribute which specifies which file is considered the entry point for the module. In theory this can be any file you want but to follow proper naming conventions we name this file &#039;&#039;&#039;mod_helloworld.php&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Installation and Testing == &lt;br /&gt;
&lt;br /&gt;
Before testing your shiny new module you have to install it. In Joomla! there are two ways of doing that, either by packaging the extension into an installable zip package or by using the discovery method. Both methods are described below but I recommend using the packaged zip file as a beginner because it is more hostile towards errors especially in the XML manifest.&lt;br /&gt;
&lt;br /&gt;
=== Installing your module ===&lt;br /&gt;
If you have used Joomla before reading this tutorial, you have noticed that extensions are installed using a compressed file containing all the things which are needed for installing and uninstalling them. &lt;br /&gt;
&lt;br /&gt;
A new feature made available in Joomla! 1.6 is &amp;quot;discover.&amp;quot; That means you can place the files in the correct places inside your Joomla! installation (The proper file path for this module will be in &#039;&#039;&#039;modules/mod_helloworld&#039;&#039;&#039; within the Joomla! root), and the &amp;quot;Discover&amp;quot; option within the extension manager will install it, when selected.&lt;br /&gt;
&lt;br /&gt;
=== Packaging an installation zip file ===&lt;br /&gt;
&lt;br /&gt;
Create a compressed file of your extension directory using the structure shown in the file listing section of this page or download the provided installable package.&lt;br /&gt;
&lt;br /&gt;
When you have this package, install it using the extension manager.&lt;br /&gt;
&lt;br /&gt;
=== Testing your module ===&lt;br /&gt;
&lt;br /&gt;
If you want to test this module, you first need to do a couple of things.&lt;br /&gt;
&lt;br /&gt;
# Go to the Module Manager and edit the module&lt;br /&gt;
# Assign the module to a module position&lt;br /&gt;
# Make sure the module is published&lt;br /&gt;
# Make sure the module is assigned to show on some pages in the module assignment dialog&lt;br /&gt;
&lt;br /&gt;
After performing these steps and saving the module you can navigate to the frontend and view the module.&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#mod_helloworld.xml|mod_helloworld.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#mod_helloworld.php|mod_helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/downloads/rvsjoen/joomla-tutorials/mod_helloworld-part01.zip Download example package]&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Module_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Chunks:Developing_a_Template_Contents&amp;diff=66498</id>
		<title>Chunks:Developing a Template Contents</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Chunks:Developing_a_Template_Contents&amp;diff=66498"/>
		<updated>2012-04-16T09:26:13Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: Created page with &amp;quot;== Articles in this series ==  This tutorial is supported by the following versions of Joomla!   {{JVer|2.5}}  * Introduction * [[...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Articles in this series ==&lt;br /&gt;
&lt;br /&gt;
This tutorial is supported by the following versions of Joomla! &lt;br /&gt;
&lt;br /&gt;
{{JVer|2.5}}&lt;br /&gt;
&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_a_Template|Introduction]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_a_Template/Part 01|Part 01 - Developing a Basic Template]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_a_Template/Part 02|Part 02 - Adding styles and scripts]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_a_Template/Part 03|Part 03 - Parameters]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_a_Template/Part 04|Part 04 - Translation]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_a_Template/Part 05|Part 05 - Template overrides]]&lt;br /&gt;
* [[User:Rvsjoen/tutorial/Developing_a_Template/Part 06|Part 06 - The component template]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Joomla! 2.5]]&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template&amp;diff=66497</id>
		<title>User:Rvsjoen/tutorial/Developing a Template</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Template&amp;diff=66497"/>
		<updated>2012-04-16T09:20:00Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: Created page with &amp;quot;== Introduction == A software framework contains a set of application development tools for developers. Joomla! has been designed for extensibility. The scope of this tutorial wi...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A software framework contains a set of application development tools for developers. Joomla! has been designed for extensibility. The scope of this tutorial will be to develop a simple front-end template using the conventions and coding standards employed by Joomla!.&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Template_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Module/Part_06&amp;diff=65658</id>
		<title>User:Rvsjoen/tutorial/Developing a Module/Part 06</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Module/Part_06&amp;diff=65658"/>
		<updated>2012-03-13T22:47:38Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Testing your component */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Accessing the database =&lt;br /&gt;
&lt;br /&gt;
This part is meant to provide you with a short example on how to access the database and run a query from a module. This is no different than running a query anywhere else in Joomla! but since modules are often the first place you start to learn to write extensions, this tutorial seems like a natural place to cover it.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;helper.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;helper.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @package	Joomla.Tutorials&lt;br /&gt;
 * @subpackage	Module&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license	License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
&lt;br /&gt;
class modHelloWorldHelper&lt;br /&gt;
{&lt;br /&gt;
	public static function getGreeting() {&lt;br /&gt;
		return &amp;quot;Message from the helper&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public static function getCurrentUsers() {&lt;br /&gt;
		$db = JFactory::getDBO();&lt;br /&gt;
		$db-&amp;gt;setQuery($db-&amp;gt;getQuery(true)&lt;br /&gt;
			-&amp;gt;select(&amp;quot;COUNT(*) as users&amp;quot;)&lt;br /&gt;
			-&amp;gt;from(&amp;quot;#__session&amp;quot;)&lt;br /&gt;
		);&lt;br /&gt;
		return $db-&amp;gt;loadResult();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here we add a function to our helper class, the function will simply return the number of currently active sessions by counting the number of rows in the session table.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;tmpl/default.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;tmpl/default.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @package	Joomla.Tutorials&lt;br /&gt;
 * @subpackage	Module&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license	License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;?php echo $params-&amp;gt;get(&#039;greeting&#039;, JText::_(&#039;MOD_HELLOWORLD_GREETING_DEFAULT&#039;)); ?&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;?php echo modHelloWorldHelper::getGreeting(); ?&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;There are &amp;lt;?php echo modHelloWorldHelper::getCurrentUsers(); ?&amp;gt; user(s) logged in&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here we modify the module template to echo out the number of currently active users, as provided by our helper.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;mod_helloworld.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;mod_helloworld.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;module&amp;quot; version=&amp;quot;2.5.0&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;name&amp;gt;MOD_HELLOWORLD&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;!-- The following elements are optional and free of formatting constraints --&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
	&amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;!--  The version string is stored in the extension table --&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.6&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;!-- The description is optional and defaults to the name --&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;MOD_HELLOWORLD_XML_DESCRIPTION&amp;lt;/description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- Note the folder attribute: This attribute describes what to copy&lt;br /&gt;
		into the module folder --&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename module=&amp;quot;mod_helloworld&amp;quot;&amp;gt;mod_helloworld.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;mod_helloworld.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;helper.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;tmpl&amp;lt;/folder&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;language&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;config&amp;gt;&lt;br /&gt;
		&amp;lt;fields name=&amp;quot;params&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;fieldset name=&amp;quot;basic&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;field&lt;br /&gt;
					name=&amp;quot;greeting&amp;quot;&lt;br /&gt;
					type=&amp;quot;text&amp;quot;&lt;br /&gt;
					default=&amp;quot;MOD_HELLOWORLD_GREETING_DEFAULT&amp;quot;&lt;br /&gt;
					label=&amp;quot;MOD_HELLOWORLD_GREETING_LABEL&amp;quot;&lt;br /&gt;
					description=&amp;quot;MOD_HELLOWORLD_GREETING_DESC&amp;quot;&lt;br /&gt;
				/&amp;gt;&lt;br /&gt;
			&amp;lt;/fieldset&amp;gt;&lt;br /&gt;
		&amp;lt;/fields&amp;gt;&lt;br /&gt;
	&amp;lt;/config&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#mod_helloworld.xml|mod_helloworld.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Module/Part_05#mod_helloworld.php|mod_helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#tmpl/default.php|tmpl/default.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Module/Part_04#language/en-GB.mod_helloworld.ini|language/en-GB.mod_helloworld.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Module/Part_04#language/en-GB.mod_helloworld.sys.ini|language/en-GB.mod_helloworld.sys.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#helper.php|helper.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your module ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the module into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Module/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/downloads/rvsjoen/joomla-tutorials/mod_helloworld-part06.zip Download example package]&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Module_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Module/Part_05&amp;diff=65657</id>
		<title>User:Rvsjoen/tutorial/Developing a Module/Part 05</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Module/Part_05&amp;diff=65657"/>
		<updated>2012-03-13T22:47:29Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Testing your component */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Adding a helper =&lt;br /&gt;
&lt;br /&gt;
A helper in the context of a Joomla! extension is usually just a class providing various static helper functions to perform operations. A helper could be used to accomplish a lot of things but common examples are to get a list of items from a database, get the number of currently logged in users, etc... To illustrate how this works, we are going to implement a helper to the module which simple provides the module with yet another string.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;helper.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;helper.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @package	Joomla.Tutorials&lt;br /&gt;
 * @subpackage	Module&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license	License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
&lt;br /&gt;
class modHelloWorldHelper&lt;br /&gt;
{&lt;br /&gt;
	public static function getGreeting() {&lt;br /&gt;
		return &amp;quot;Message from the helper&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, this is nothing more than a class with a static function in it. The class will need to be loaded in the module entry point.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;mod_helloworld.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;mod_helloworld.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; highlight=&amp;quot;13&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @package	Joomla.Tutorials&lt;br /&gt;
 * @subpackage	Module&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license	License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
&lt;br /&gt;
JLoader::register(&#039;modHelloWorldHelper&#039;, JPATH_BASE.&#039;/modules/mod_helloworld/helper.php&#039;);&lt;br /&gt;
&lt;br /&gt;
require JModuleHelper::getLayoutPath(&#039;mod_helloworld&#039;, $params-&amp;gt;get(&#039;layout&#039;, &#039;default&#039;));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The highlighted line takes care of loading the class. We could have used the &#039;&#039;&#039;require()&#039;&#039;&#039; function call to do this, but JLoader offers additional advantages such as lazy loading (The class is not actually loaded unless it is needed). The first argument is the name of the class, and the second argument is the path to the file. &#039;&#039;&#039;JPATH_BASE&#039;&#039;&#039; is a macro which always points to the root of the Joomla! application, in this case the frontend.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;tmpl/default.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;tmpl/default.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; highlight=&amp;quot;15&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @package	Joomla.Tutorials&lt;br /&gt;
 * @subpackage	Module&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license	License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;?php echo $params-&amp;gt;get(&#039;greeting&#039;, JText::_(&#039;MOD_HELLOWORLD_GREETING_DEFAULT&#039;)); ?&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;?php echo modHelloWorldHelper::getGreeting(); ?&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here we modify the module template to call the helper function &#039;&#039;&#039;getGreeting()&#039;&#039;&#039; in our helper class and render the string it returns in a new paragraph in addition to the original greeting.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;mod_helloworld.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;mod_helloworld.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; highlight=&amp;quot;22&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;module&amp;quot; version=&amp;quot;2.5.0&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;name&amp;gt;MOD_HELLOWORLD&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;!-- The following elements are optional and free of formatting constraints --&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
	&amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;!--  The version string is stored in the extension table --&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.5&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;!-- The description is optional and defaults to the name --&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;MOD_HELLOWORLD_XML_DESCRIPTION&amp;lt;/description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- Note the folder attribute: This attribute describes what to copy&lt;br /&gt;
		into the module folder --&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename module=&amp;quot;mod_helloworld&amp;quot;&amp;gt;mod_helloworld.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;mod_helloworld.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;helper.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;tmpl&amp;lt;/folder&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;language&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;config&amp;gt;&lt;br /&gt;
		&amp;lt;fields name=&amp;quot;params&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;fieldset name=&amp;quot;basic&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;field&lt;br /&gt;
					name=&amp;quot;greeting&amp;quot;&lt;br /&gt;
					type=&amp;quot;text&amp;quot;&lt;br /&gt;
					default=&amp;quot;MOD_HELLOWORLD_GREETING_DEFAULT&amp;quot;&lt;br /&gt;
					label=&amp;quot;MOD_HELLOWORLD_GREETING_LABEL&amp;quot;&lt;br /&gt;
					description=&amp;quot;MOD_HELLOWORLD_GREETING_DESC&amp;quot;&lt;br /&gt;
				/&amp;gt;&lt;br /&gt;
			&amp;lt;/fieldset&amp;gt;&lt;br /&gt;
		&amp;lt;/fields&amp;gt;&lt;br /&gt;
	&amp;lt;/config&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here we simply add &#039;&#039;&#039;helper.php&#039;&#039;&#039; to the list of files to be copied when the extension is installed.&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#mod_helloworld.xml|mod_helloworld.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#mod_helloworld.php|mod_helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#tmpl/default.php|tmpl/default.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Module/Part_04#language/en-GB.mod_helloworld.ini|language/en-GB.mod_helloworld.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Module/Part_04#language/en-GB.mod_helloworld.sys.ini|language/en-GB.mod_helloworld.sys.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#helper.php|helper.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your module ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the module into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Module/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/downloads/rvsjoen/joomla-tutorials/mod_helloworld-part05.zip Download example package]&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Module_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Module/Part_04&amp;diff=65656</id>
		<title>User:Rvsjoen/tutorial/Developing a Module/Part 04</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_a_Module/Part_04&amp;diff=65656"/>
		<updated>2012-03-13T22:47:17Z</updated>

		<summary type="html">&lt;p&gt;Rvsjoen: /* Testing your component */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Adding translation =&lt;br /&gt;
&lt;br /&gt;
So, we would like our module to support translation, which essentially means that instead of hard-coding strings, we would like the strings to be read from translation files. This makes it very easy to provide multiple translations since all that has to be done to change the language is to read a different set of language files.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;language/en-GB.mod_helloworld.ini&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;language/en-GB.mod_helloworld.ini&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
MOD_HELLOWORLD=&amp;quot;Hello World!&amp;quot;&lt;br /&gt;
MOD_HELLOWORLD_XML_DESCRIPTION=&amp;quot;Hello World! module description&amp;quot;&lt;br /&gt;
MOD_HELLOWORLD_GREETING_DEFAULT=&amp;quot;I am a module&amp;quot;&lt;br /&gt;
MOD_HELLOWORLD_GREETING_LABEL=&amp;quot;Greeting&amp;quot;&lt;br /&gt;
MOD_HELLOWORLD_GREETING_DESC=&amp;quot;The greeting to display&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, language strings are namespaced. This is a very good practice for avoiding that strings override each other. As an example these strings start with &#039;&#039;&#039;MOD_HELLOWORLD&#039;&#039;&#039; to indicate that they belong to our module.&lt;br /&gt;
&lt;br /&gt;
In order to provide translation during the installation process, in the extension manager and in the menus, another language file is required in the backend. The difference between these two files can be daunting at first, but usually the sys.ini contains a lot less translation strings and this file is loaded in scenarios where the loaded component is not com_helloworld itself, but minimal translation is still needed.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;language/en-GB.mod_helloworld.sys.ini&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;language/en-GB.mod_helloworld.sys.ini&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
MOD_HELLOWORLD=&amp;quot;Hello World!&amp;quot;&lt;br /&gt;
MOD_HELLOWORLD_XML_DESCRIPTION=&amp;quot;Hello World! module description&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;tmpl/default.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;tmpl/default.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @package	Joomla.Tutorials&lt;br /&gt;
 * @subpackage	Module&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license	License GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;?php echo $params-&amp;gt;get(&#039;greeting&#039;, JText::_(&#039;MOD_HELLOWORLD_GREETING_DEFAULT&#039;)); ?&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here we simply change the default value if no parameter is set to use the string provided in the language file. The function call &#039;&#039;&#039;JText::_(&#039;LANGUAGE_KEY&#039;)&#039;&#039;&#039; is used to resolve language strings.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, edit the following file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;mod_helloworld.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;mod_helloworld.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; highlight=&amp;quot;23&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;module&amp;quot; version=&amp;quot;2.5.0&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;name&amp;gt;MOD_HELLOWORLD&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;!-- The following elements are optional and free of formatting constraints --&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;Once upon a time&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
	&amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;!--  The version string is stored in the extension table --&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.4&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;!-- The description is optional and defaults to the name --&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;MOD_HELLOWORLD_XML_DESCRIPTION&amp;lt;/description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- Note the folder attribute: This attribute describes what to copy&lt;br /&gt;
		into the module folder --&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename module=&amp;quot;mod_helloworld&amp;quot;&amp;gt;mod_helloworld.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;mod_helloworld.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;tmpl&amp;lt;/folder&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;language&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;config&amp;gt;&lt;br /&gt;
		&amp;lt;fields name=&amp;quot;params&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;fieldset name=&amp;quot;basic&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;field&lt;br /&gt;
					name=&amp;quot;greeting&amp;quot;&lt;br /&gt;
					type=&amp;quot;text&amp;quot;&lt;br /&gt;
					default=&amp;quot;MOD_HELLOWORLD_GREETING_DEFAULT&amp;quot;&lt;br /&gt;
					label=&amp;quot;MOD_HELLOWORLD_GREETING_LABEL&amp;quot;&lt;br /&gt;
					description=&amp;quot;MOD_HELLOWORLD_GREETING_DESC&amp;quot;&lt;br /&gt;
				/&amp;gt;&lt;br /&gt;
			&amp;lt;/fieldset&amp;gt;&lt;br /&gt;
		&amp;lt;/fields&amp;gt;&lt;br /&gt;
	&amp;lt;/config&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the XML manifest we have replaced all the strings with language keys which you already added to the language files. This makes it possible to provide different strings for different languages. In addition in the highlighted line we have to remember to tell the installer to copy the language files into the module directory during installation.&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#mod_helloworld.xml|mod_helloworld.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[User:Rvsjoen/tutorial/Developing_a_Module/Part_02#mod_helloworld.php|mod_helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#tmpl/default.php|tmpl/default.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#language/en-GB.mod_helloworld.ini|language/en-GB.mod_helloworld.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#language/en-GB.mod_helloworld.sys.ini|language/en-GB.mod_helloworld.sys.ini]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testing your module ==&lt;br /&gt;
&lt;br /&gt;
For details on how to install the module into your Joomla! site, refer to the information provided in&lt;br /&gt;
[[User:Rvsjoen/tutorial/Developing_a_Module/Part_01#Installation_and_Testing|Part 01]].&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/downloads/rvsjoen/joomla-tutorials/mod_helloworld-part04.zip Download example package]&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_a_Module_Contents}}&lt;/div&gt;</summary>
		<author><name>Rvsjoen</name></author>
	</entry>
</feed>