Introduction to Creating Joomla Templates for Sale on Freelancer Marketplace

Building Joomla templates requires skills in various areas of web development. You will need to have a strong knowledge of CSS and HTML. You will also need to have a basic understanding of PHP. If you want to sell more templates you will need to know some JavaScript as well. Joomla by default uses the Mootools javascript framework, but it is also possible to integrate other frameworks such as JQuery or prototype. You will also need a nice up-to-date design. If you are not so good with designing Joomla templates, you can buy a design on Freelancer Marketplace and just build on that.

Choosing a Framework for Your Template

First you will want to decide what Joomla framework you will use for your template. There are a couple that are free to use and sell, such as T3 from Joomlaart or Gantry from Rockettheme. Of course, you may decide to build your template from scratch and make your own little framework. Clearly, that decision would require you to know more advanced PHP, but sometimes people prefer a home-made framework because it's easier to understand and work on.

Choosing the Components and Modules

When choosing components and modules for your template, be sure that you are aware of the JavaScript library that is in use. Sometimes using more than one type of JavaScript library will cause conflicting problems within your template and may slow down your template when it is viewed in some web browsers. So be sure to read the documentation of every component and module you decide to use for your template. If you choose to use components and modules that all use the same JavaScript library, you'll save yourself some time in the future. This is especially wise if you are an inexperienced developer and have limited knowledge of JavaScript. Also, sometimes components and modules will make your template not pass the HTML validation, so be sure to check on that too! Even though it is not required for your template to pass XHTML validation, passing will give you extra points as a developer and make your template sell more.

File Structure

Be sure to organize your files professionally, which means that you place everything where it belongs: CSS files into a directory called CSS, HTML overrides into an HTML directory, JavaScript files into a JS directory, PHP files into a directory called PHP, and so forth. It is good practice to do so, because this helps the purchaser of your template to find his or her way around in your template.

Code, Comments and Documentation

Be sure to keep your code clean, whether it is CSS, HTML or PHP, make sure that your code is well-structured clean and neat. Also, make sure you add comments wherever you think it might be useful and necessary. After you are done with everything, be sure to write instructions explaining everything about installing the template or customizing the components and modules. Put those instructions into a HELP.txt file.


It is always a good selling point to supply your buyers with different color options. Sometimes the colors you would pick for yourself are not always the colors a customer would to choose, so it is wise to build a template with alternative color schemes. Also, it is good practice to use overrides to make your template table-less where ever possible. Standard Joomla 1.5 comes with layouts in tables, which is an old web development practice and very unfriendly to Smartphone-type devices that are commonly in use today. Also, if you supply your buyer with a layout option for hand-held devices, you will be able to charge more for your template. A smart thing to do is to make a preview site on which your buyers can see your template in action. People buying Joomla templates will almost never buy one just based on a couple of screenshots: they will want to check it out in action on a live preview site, so try to upload it somewhere and supply a link to it when uploading your template.

Cross-browser and Validation

For a Joomla template to sell, you have to make sure that is compatiable across all modern browsers. You must check that everything works fine and there are no conflicting behaviors on some browsers. Internet Explorer 7 will probably give you the most problems, but the most common practice is to use a special CSS file for Internet Explorer 7 and correct all the errors there. Also, try to validate your template for both CSS and XHTML to W3C web compliance standards. Valid XHTML and CSS shows the buyer that you actually know what you are doing and therefore gives you extra points as a seller.

Putting it all Together

After your template has been built, you will need to pack everything up. Usually it is good to make a Quickstart package from which a user can easily install his own copy of the template along with Joomla. Also you should create a simple template package for users who already have a working copy of Joomla installed and want just the template. Also, if you don't have the permission to include the template's Modules and Components in your package, be sure to supply your purchasers with the link to where they can be downloaded. Also include the PSD file and any fonts you may have used. Finally, package everything into a single ZIP archive and you are more or less ready to upload your Joomla template. When uploading you will also need a thumbnail image (JPEG, GIF or PNG format. Size: 156x92px) representing your work as well as bigger preview image (JPEG, GIF or PNG format. Size: 590x300px). Also you will need to choose three keywords describing your template.