SlideShare a Scribd company logo
How to Develop Your First Ever Joomla Template?
Joomla comes with a nice long list of templates that are
exceptionally good, and responsive. But, if you want to give your
website an interesting outfit, and there's nothing on board like the
one you are looking for, you will need to create a single template.
Let's understand how you can create a Joomla template from the
scratch. It is a step-by-step process, where each step marks an
importance.
Pre-requisites
There are some pre-requisites that you will need to take care of
before you start developing the template for your website. you will
need a server and a database to get started. PHP and MySQL will
come to your rescue in this case. You will need a single installer
which will take care of all these installations and load it to the local
server. Map your system with WAMP. You will first need to install
the installer, and execute it and look out for a file named .wamp. An
icon would be loaded to your PC which will help you gain access to
wamp's control panel that will assist you in installing and enabling
your pre-requisites.
Joomla Installation
Once you have set up the pre-requisites, you will need to get Joomla
installed to your server. Check out the www folder in the wamp
folders, and you will need to install Joomla to this particular folder.
Extract the contents of Joomla zip file to this folder, and rename it.
You will now need to create a database for the same. Go to
http://localhost in the browser, go to the server admin and create
your database. In the aliases section, click on phpmyadmin, and
create your database here. You will need to password protect this
file. Before installing Joomla, check the pre-install checklist, and
mark all the items you have on board to get started. You can easily
skip the FTP configuration screen while installing Joomla. You need
to add the modules, so you should ideally skip adding data at this
point. With all the steps done, you are ready to kickstart your Joomla
website. You can now delete the installation folder present in the
wamp folder.
Before you start your journey with creating the template, you will
need to gain an in-depth understanding of Joomla. Develop a clear
understanding on how the backend of the CMS platform works.
Template Structure
You need to understand the template structure to get started with
creating the template. Study the existing templates for their
structure in the wamp folder. Within the templates folder, there is a
folder for every template that you have installed. Whenever you
create a new template, this is where the template will go. When you
want to create a template, you basically need index.php and
templateDetails.xml files to get started.
index.php The markup for all Joomla includes are added to this file.
These are the hooks where all the information is added
templateDetails.xml This gives out a list of instructions required to
setup a template on Joomla. Name of the template, files used for the
template etc. are all available in this file
Here's a quick example of how templateDetails.xml file looks like.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install PUBLIC "-//Joomla! 1.5//DTD template
1.0//EN"
"http://dev.joomla.org/xml/1.5/template-install.dtd">
<install version="1.5" type="template">
<name>template _sttl</name>
<creationDate>31-01-2009</creationDate>
<author>Netsttl Fan</author>
<authorEmail>your@email.com</authorEmail>
<authorUrl>http://www.siteurl.com</authorUrl>
<copyright>You 2009</copyright>
<license>GNU/GPL</license>
<version>1.0.0</version>
<description>Template Sttl</description>
<files>
<filename>index.php</filename>
<filename>templateDetails.xml</filename>
<filename>css/template.css</filename>
</files>
<positions>
<position>breadcrumb</position>
<position>left</position>
<position>right</position>
<position>top</position>
<position>user1</position>
<position>user2</position>
<position>user3</position>
<position>user4</position>
<position>footer</position>
</positions>
</install>
This code includes a detail regarding name, author, date of creation
etc. for the template. It also offers an insight on the position
structure. You can control some aspects of position along the
backend, if included in the position.
Now that you are aware of the structure, let's get started with
creating a simple template.
Creating the Template
You will first need to prepare to start the template creation process.
Go to Template folder>create new folder
Call it template_sttl
Now create two files in this template folder: index.php and
templateDetail.xml, and paste the code given above to these files
Open index.php file in notepad and add the following code to it
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="<?php echo $this->language; ?>" lang="<?php echo
$this->language; ?>" >
<head>
<jdoc:include type="head" />
</head>
For this purpose, you will use DOCTYPE the PHP code in the header
section. You can add the following code, which is not included in the
position element
<jdoc:include type="head" />.
With this code, the Joomla header code is added which includes the
page title. You can complete the markup for the page by adding body
and closing html tags.
Getting Started with the Template
You have created the template file; it is time to add include to
display the main content that is being viewed in general
<jdoc:include type="component" />
Now, you have the following code as part of your index.php file
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="<?php echo $this->language; ?>" lang="<?php echo
$this->language; ?>" >
<head>
<jdoc:include type="head" />
</head>
<body>
<jdoc:include type="component" />
</body>
</html>
You will need data to test your template. Add an article before you
begin testing. WAMP should be running whilst you are testing the
template.
Navigate to http://localhost/joomla/administrator to enter the
admin panel
Go to content>articlemanager> and add your article. Now, view your
article along the frontend, and once you are satisfied you can
publish the content. Once the content is published, you should start
testing the template you have created.
Go to template manager in the backend and click on extensions.
Here you can access the template_sttl, and set it as your default
template. Preview how the article looks on the template you have
just created.
Beautifying the Template
When you tested the template, you noticed that it is perfectly
capturing the content details, and displaying it to the perfection.
Now, you need to develop the template aesthetically, and for that
you need to program your template further.
Before adding positions, you need to take a look at the positions that
exist in index.php
<positions>
<position>breadcrumb</position>
<position>left</position>
<position>right</position>
<position>top</position>
<position>user1</position>
<position>user2</position>
<position>user3</position>
<position>user4</position>
<position>footer</position>
</positions>
Here's the code to include
<jdoc:include type="modules" name="position_name" />
IF you want to add left position to your index.php file, here's the
code you will need to add
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="<?php echo $this->language; ?>" lang="<?php echo
$this->language; ?>" >
<head>
<jdoc:include type="head" />
</head>
<body>
<jdoc:include type="component" />
<jdoc:include type="modules" name="left" />
</body>
</html>
To add footer
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="<?php echo $this->language; ?>" lang="<?php echo
$this->language; ?>" >
<head>
<jdoc:include type="head" />
</head>
<body>
<jdoc:include type="component" />
<jdoc:include type="modules" name="left" />
<jdoc:include type="modules" name="footer" />
</body>
</html>
Now, you have a clear idea of how to add the positions.
You will need to go to module manager, and click on footer to get the
code working. Now click save, and perform the actions for the other
tasks too.
Conclusion:
Sometimes creating a template gives you the freedom of
customizing it. You can position the header, footer and other aspects
of the template as and where you want to. Follow these steps to
create your template, and then change the positions of the different
elements as per your need. Hire Joomla developer to give your
template the aesthetic purview
Original Source:
http://www.instructables.com/id/How-to-Develop-Your-First-
Ever-Joomla-Template/

More Related Content

What's hot

Implement rich snippets in your webshop
Implement rich snippets in your webshopImplement rich snippets in your webshop
Implement rich snippets in your webshop
Arjen Miedema
 
manifest file on SCORM 1.2
manifest file on SCORM 1.2manifest file on SCORM 1.2
manifest file on SCORM 1.2
aureliomld
 
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
Peter Martin
 
Joomla Custom Fields - the next level
Joomla Custom Fields - the next level Joomla Custom Fields - the next level
Joomla Custom Fields - the next level
Hans Kuijpers
 
Develop Basic joomla! MVC component for version 3
Develop Basic joomla! MVC component for version 3Develop Basic joomla! MVC component for version 3
Develop Basic joomla! MVC component for version 3
Gunjan Patel
 
Using class suffixes
Using class suffixesUsing class suffixes
Using class suffixes
shailendra vishwakarma
 
Rapid application development using Akeeba FOF and Joomla 3.2
Rapid application development using Akeeba FOF and Joomla 3.2Rapid application development using Akeeba FOF and Joomla 3.2
Rapid application development using Akeeba FOF and Joomla 3.2
Tim Plummer
 
blogs911.com
blogs911.comblogs911.com
Joomla Day UK 2009 Basic Templates
Joomla Day UK 2009 Basic TemplatesJoomla Day UK 2009 Basic Templates
Joomla Day UK 2009 Basic Templates
Chris Davenport
 
Child Themes (WordCamp Dublin 2017) with notes
Child Themes (WordCamp Dublin 2017) with notesChild Themes (WordCamp Dublin 2017) with notes
Child Themes (WordCamp Dublin 2017) with notes
Damien Carbery
 
Django
DjangoDjango
Django
Ivan Widodo
 
Joomla! Day UK 2009 Basic Templates
Joomla! Day UK 2009 Basic TemplatesJoomla! Day UK 2009 Basic Templates
Joomla! Day UK 2009 Basic Templates
Andy Wallace
 
Joomla! Day UK 2009 Menus Presentation
Joomla! Day UK 2009 Menus PresentationJoomla! Day UK 2009 Menus Presentation
Joomla! Day UK 2009 Menus Presentation
Andy Wallace
 
SynapseIndia drupal presentation on drupal best practices
SynapseIndia drupal  presentation on drupal best practicesSynapseIndia drupal  presentation on drupal best practices
SynapseIndia drupal presentation on drupal best practices
Synapseindiappsdevelopment
 
Developing new feature in Joomla - Joomladay UK 2016
Developing new feature in Joomla - Joomladay UK 2016Developing new feature in Joomla - Joomladay UK 2016
Developing new feature in Joomla - Joomladay UK 2016
Peter Martin
 
AtlasCamp 2013: Confluence patterns
AtlasCamp 2013: Confluence patternsAtlasCamp 2013: Confluence patterns
AtlasCamp 2013: Confluence patterns
colleenfry
 
Inchoo s magento posts
Inchoo s magento postsInchoo s magento posts
Inchoo s magento posts
Tuyến Trần
 
AtlasCamp 2010: Making Confluence Macros Easy (for the user) - Dave Taylor
AtlasCamp 2010: Making Confluence Macros Easy (for the user) - Dave TaylorAtlasCamp 2010: Making Confluence Macros Easy (for the user) - Dave Taylor
AtlasCamp 2010: Making Confluence Macros Easy (for the user) - Dave Taylor
Atlassian
 
J!Layout Overrides Einstieg und Beispiele
J!Layout Overrides Einstieg und BeispieleJ!Layout Overrides Einstieg und Beispiele
J!Layout Overrides Einstieg und Beispiele
Niels Nübel
 
Joomla 15 Quickstart
Joomla 15 QuickstartJoomla 15 Quickstart
Joomla 15 Quickstart
AmyStephen
 

What's hot (20)

Implement rich snippets in your webshop
Implement rich snippets in your webshopImplement rich snippets in your webshop
Implement rich snippets in your webshop
 
manifest file on SCORM 1.2
manifest file on SCORM 1.2manifest file on SCORM 1.2
manifest file on SCORM 1.2
 
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
 
Joomla Custom Fields - the next level
Joomla Custom Fields - the next level Joomla Custom Fields - the next level
Joomla Custom Fields - the next level
 
Develop Basic joomla! MVC component for version 3
Develop Basic joomla! MVC component for version 3Develop Basic joomla! MVC component for version 3
Develop Basic joomla! MVC component for version 3
 
Using class suffixes
Using class suffixesUsing class suffixes
Using class suffixes
 
Rapid application development using Akeeba FOF and Joomla 3.2
Rapid application development using Akeeba FOF and Joomla 3.2Rapid application development using Akeeba FOF and Joomla 3.2
Rapid application development using Akeeba FOF and Joomla 3.2
 
blogs911.com
blogs911.comblogs911.com
blogs911.com
 
Joomla Day UK 2009 Basic Templates
Joomla Day UK 2009 Basic TemplatesJoomla Day UK 2009 Basic Templates
Joomla Day UK 2009 Basic Templates
 
Child Themes (WordCamp Dublin 2017) with notes
Child Themes (WordCamp Dublin 2017) with notesChild Themes (WordCamp Dublin 2017) with notes
Child Themes (WordCamp Dublin 2017) with notes
 
Django
DjangoDjango
Django
 
Joomla! Day UK 2009 Basic Templates
Joomla! Day UK 2009 Basic TemplatesJoomla! Day UK 2009 Basic Templates
Joomla! Day UK 2009 Basic Templates
 
Joomla! Day UK 2009 Menus Presentation
Joomla! Day UK 2009 Menus PresentationJoomla! Day UK 2009 Menus Presentation
Joomla! Day UK 2009 Menus Presentation
 
SynapseIndia drupal presentation on drupal best practices
SynapseIndia drupal  presentation on drupal best practicesSynapseIndia drupal  presentation on drupal best practices
SynapseIndia drupal presentation on drupal best practices
 
Developing new feature in Joomla - Joomladay UK 2016
Developing new feature in Joomla - Joomladay UK 2016Developing new feature in Joomla - Joomladay UK 2016
Developing new feature in Joomla - Joomladay UK 2016
 
AtlasCamp 2013: Confluence patterns
AtlasCamp 2013: Confluence patternsAtlasCamp 2013: Confluence patterns
AtlasCamp 2013: Confluence patterns
 
Inchoo s magento posts
Inchoo s magento postsInchoo s magento posts
Inchoo s magento posts
 
AtlasCamp 2010: Making Confluence Macros Easy (for the user) - Dave Taylor
AtlasCamp 2010: Making Confluence Macros Easy (for the user) - Dave TaylorAtlasCamp 2010: Making Confluence Macros Easy (for the user) - Dave Taylor
AtlasCamp 2010: Making Confluence Macros Easy (for the user) - Dave Taylor
 
J!Layout Overrides Einstieg und Beispiele
J!Layout Overrides Einstieg und BeispieleJ!Layout Overrides Einstieg und Beispiele
J!Layout Overrides Einstieg und Beispiele
 
Joomla 15 Quickstart
Joomla 15 QuickstartJoomla 15 Quickstart
Joomla 15 Quickstart
 

Viewers also liked

Malla curricular de fisica 10o 11o
Malla  curricular de fisica 10o 11o Malla  curricular de fisica 10o 11o
Malla curricular de fisica 10o 11o
Jhon Pedraza
 
CV March 2014update
CV March 2014updateCV March 2014update
CV March 2014update
Annie Roberts
 
Kom godt i gang med Zotero
Kom godt i gang med ZoteroKom godt i gang med Zotero
Kom godt i gang med Zotero
Marc Sales
 
TrackingBird for App Developers (English)
TrackingBird for App Developers (English)TrackingBird for App Developers (English)
TrackingBird for App Developers (English)
Luke Stapley
 
454548 634160871407732500
454548 634160871407732500454548 634160871407732500
454548 634160871407732500
prabh_in
 
Practico 4
Practico 4Practico 4
Practico 4
joariabi
 
Why your fan count doesn't matter.
Why your fan count doesn't matter.Why your fan count doesn't matter.
Why your fan count doesn't matter.
Mat Morrison
 
Zero Waste in India : Some Policy Questions (by Shubhagato Dasgupta, Senior F...
Zero Waste in India : Some Policy Questions (by Shubhagato Dasgupta, Senior F...Zero Waste in India : Some Policy Questions (by Shubhagato Dasgupta, Senior F...
Zero Waste in India : Some Policy Questions (by Shubhagato Dasgupta, Senior F...
NITI Aayog
 
Engaging parents and protecting children?
Engaging parents and protecting children?Engaging parents and protecting children?
Engaging parents and protecting children?
BASPCAN
 

Viewers also liked (10)

Malla curricular de fisica 10o 11o
Malla  curricular de fisica 10o 11o Malla  curricular de fisica 10o 11o
Malla curricular de fisica 10o 11o
 
CV March 2014update
CV March 2014updateCV March 2014update
CV March 2014update
 
Kom godt i gang med Zotero
Kom godt i gang med ZoteroKom godt i gang med Zotero
Kom godt i gang med Zotero
 
TrackingBird for App Developers (English)
TrackingBird for App Developers (English)TrackingBird for App Developers (English)
TrackingBird for App Developers (English)
 
454548 634160871407732500
454548 634160871407732500454548 634160871407732500
454548 634160871407732500
 
Practico 4
Practico 4Practico 4
Practico 4
 
Why your fan count doesn't matter.
Why your fan count doesn't matter.Why your fan count doesn't matter.
Why your fan count doesn't matter.
 
Zero Waste in India : Some Policy Questions (by Shubhagato Dasgupta, Senior F...
Zero Waste in India : Some Policy Questions (by Shubhagato Dasgupta, Senior F...Zero Waste in India : Some Policy Questions (by Shubhagato Dasgupta, Senior F...
Zero Waste in India : Some Policy Questions (by Shubhagato Dasgupta, Senior F...
 
Engaging parents and protecting children?
Engaging parents and protecting children?Engaging parents and protecting children?
Engaging parents and protecting children?
 
Training Certificate - DC
Training Certificate - DCTraining Certificate - DC
Training Certificate - DC
 

Similar to How to Develop Your First Ever Joomla Template?

Creating a basic joomla
Creating a basic joomlaCreating a basic joomla
Creating a basic joomla
shailendra vishwakarma
 
Joomla Templates101
Joomla Templates101Joomla Templates101
Joomla Templates101
Barb Ackemann
 
Mageguru - magento custom module development
Mageguru -  magento custom module development Mageguru -  magento custom module development
Mageguru - magento custom module development
Mage Guru
 
7 Theming in Drupal
7 Theming in Drupal7 Theming in Drupal
7 Theming in Drupal
Wingston
 
JOOMLA
JOOMLAJOOMLA
JOOMLA
Akhil Kumar
 
Drupal
DrupalDrupal
Joomla Day1
Joomla  Day1Joomla  Day1
Joomla Day1
Phusit Konsurin
 
hellowired_instructions
hellowired_instructionshellowired_instructions
hellowired_instructions
AlexAnderson360
 
Joomla Day Austin Part 4
Joomla Day Austin Part 4Joomla Day Austin Part 4
Joomla Day Austin Part 4
Kyle Ledbetter
 
Joomla tempates talk
Joomla tempates talkJoomla tempates talk
Joomla tempates talk
Chad Windnagle
 
Drupal - Introduction to Drupal Creating Modules
Drupal - Introduction to Drupal Creating ModulesDrupal - Introduction to Drupal Creating Modules
Drupal - Introduction to Drupal Creating Modules
Vibrant Technologies & Computers
 
Joomla basic-iii undersrtanding-installing-configuring-joomla-extensions
Joomla basic-iii undersrtanding-installing-configuring-joomla-extensionsJoomla basic-iii undersrtanding-installing-configuring-joomla-extensions
Joomla basic-iii undersrtanding-installing-configuring-joomla-extensions
Chanratha Sorn
 
php-and-zend-framework-getting-started
php-and-zend-framework-getting-startedphp-and-zend-framework-getting-started
php-and-zend-framework-getting-started
tutorialsruby
 
php-and-zend-framework-getting-started
php-and-zend-framework-getting-startedphp-and-zend-framework-getting-started
php-and-zend-framework-getting-started
tutorialsruby
 
PHP
PHP PHP
php-and-zend-framework-getting-started
php-and-zend-framework-getting-startedphp-and-zend-framework-getting-started
php-and-zend-framework-getting-started
tutorialsruby
 
php-and-zend-framework-getting-started
php-and-zend-framework-getting-startedphp-and-zend-framework-getting-started
php-and-zend-framework-getting-started
tutorialsruby
 
Introduction to-concrete-5
Introduction to-concrete-5Introduction to-concrete-5
Introduction to-concrete-5
ketanraval
 
Introduction to-concrete-5
Introduction to-concrete-5Introduction to-concrete-5
Introduction to-concrete-5
Ketan Raval
 
PrestaShop Kathmandu Ecommerce Meetup #2
PrestaShop Kathmandu Ecommerce Meetup #2PrestaShop Kathmandu Ecommerce Meetup #2
PrestaShop Kathmandu Ecommerce Meetup #2
Hem Pokhrel
 

Similar to How to Develop Your First Ever Joomla Template? (20)

Creating a basic joomla
Creating a basic joomlaCreating a basic joomla
Creating a basic joomla
 
Joomla Templates101
Joomla Templates101Joomla Templates101
Joomla Templates101
 
Mageguru - magento custom module development
Mageguru -  magento custom module development Mageguru -  magento custom module development
Mageguru - magento custom module development
 
7 Theming in Drupal
7 Theming in Drupal7 Theming in Drupal
7 Theming in Drupal
 
JOOMLA
JOOMLAJOOMLA
JOOMLA
 
Drupal
DrupalDrupal
Drupal
 
Joomla Day1
Joomla  Day1Joomla  Day1
Joomla Day1
 
hellowired_instructions
hellowired_instructionshellowired_instructions
hellowired_instructions
 
Joomla Day Austin Part 4
Joomla Day Austin Part 4Joomla Day Austin Part 4
Joomla Day Austin Part 4
 
Joomla tempates talk
Joomla tempates talkJoomla tempates talk
Joomla tempates talk
 
Drupal - Introduction to Drupal Creating Modules
Drupal - Introduction to Drupal Creating ModulesDrupal - Introduction to Drupal Creating Modules
Drupal - Introduction to Drupal Creating Modules
 
Joomla basic-iii undersrtanding-installing-configuring-joomla-extensions
Joomla basic-iii undersrtanding-installing-configuring-joomla-extensionsJoomla basic-iii undersrtanding-installing-configuring-joomla-extensions
Joomla basic-iii undersrtanding-installing-configuring-joomla-extensions
 
php-and-zend-framework-getting-started
php-and-zend-framework-getting-startedphp-and-zend-framework-getting-started
php-and-zend-framework-getting-started
 
php-and-zend-framework-getting-started
php-and-zend-framework-getting-startedphp-and-zend-framework-getting-started
php-and-zend-framework-getting-started
 
PHP
PHP PHP
PHP
 
php-and-zend-framework-getting-started
php-and-zend-framework-getting-startedphp-and-zend-framework-getting-started
php-and-zend-framework-getting-started
 
php-and-zend-framework-getting-started
php-and-zend-framework-getting-startedphp-and-zend-framework-getting-started
php-and-zend-framework-getting-started
 
Introduction to-concrete-5
Introduction to-concrete-5Introduction to-concrete-5
Introduction to-concrete-5
 
Introduction to-concrete-5
Introduction to-concrete-5Introduction to-concrete-5
Introduction to-concrete-5
 
PrestaShop Kathmandu Ecommerce Meetup #2
PrestaShop Kathmandu Ecommerce Meetup #2PrestaShop Kathmandu Ecommerce Meetup #2
PrestaShop Kathmandu Ecommerce Meetup #2
 

Recently uploaded

Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 

Recently uploaded (20)

Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 

How to Develop Your First Ever Joomla Template?

  • 1. How to Develop Your First Ever Joomla Template? Joomla comes with a nice long list of templates that are exceptionally good, and responsive. But, if you want to give your website an interesting outfit, and there's nothing on board like the one you are looking for, you will need to create a single template. Let's understand how you can create a Joomla template from the scratch. It is a step-by-step process, where each step marks an importance. Pre-requisites There are some pre-requisites that you will need to take care of before you start developing the template for your website. you will need a server and a database to get started. PHP and MySQL will come to your rescue in this case. You will need a single installer which will take care of all these installations and load it to the local server. Map your system with WAMP. You will first need to install the installer, and execute it and look out for a file named .wamp. An icon would be loaded to your PC which will help you gain access to wamp's control panel that will assist you in installing and enabling your pre-requisites.
  • 2. Joomla Installation Once you have set up the pre-requisites, you will need to get Joomla installed to your server. Check out the www folder in the wamp folders, and you will need to install Joomla to this particular folder. Extract the contents of Joomla zip file to this folder, and rename it. You will now need to create a database for the same. Go to http://localhost in the browser, go to the server admin and create your database. In the aliases section, click on phpmyadmin, and create your database here. You will need to password protect this file. Before installing Joomla, check the pre-install checklist, and mark all the items you have on board to get started. You can easily skip the FTP configuration screen while installing Joomla. You need to add the modules, so you should ideally skip adding data at this point. With all the steps done, you are ready to kickstart your Joomla website. You can now delete the installation folder present in the wamp folder. Before you start your journey with creating the template, you will need to gain an in-depth understanding of Joomla. Develop a clear understanding on how the backend of the CMS platform works. Template Structure You need to understand the template structure to get started with creating the template. Study the existing templates for their structure in the wamp folder. Within the templates folder, there is a folder for every template that you have installed. Whenever you create a new template, this is where the template will go. When you want to create a template, you basically need index.php and templateDetails.xml files to get started.
  • 3. index.php The markup for all Joomla includes are added to this file. These are the hooks where all the information is added templateDetails.xml This gives out a list of instructions required to setup a template on Joomla. Name of the template, files used for the template etc. are all available in this file Here's a quick example of how templateDetails.xml file looks like. <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE install PUBLIC "-//Joomla! 1.5//DTD template 1.0//EN" "http://dev.joomla.org/xml/1.5/template-install.dtd"> <install version="1.5" type="template"> <name>template _sttl</name> <creationDate>31-01-2009</creationDate> <author>Netsttl Fan</author> <authorEmail>your@email.com</authorEmail> <authorUrl>http://www.siteurl.com</authorUrl> <copyright>You 2009</copyright> <license>GNU/GPL</license> <version>1.0.0</version> <description>Template Sttl</description> <files> <filename>index.php</filename> <filename>templateDetails.xml</filename> <filename>css/template.css</filename> </files>
  • 4. <positions> <position>breadcrumb</position> <position>left</position> <position>right</position> <position>top</position> <position>user1</position> <position>user2</position> <position>user3</position> <position>user4</position> <position>footer</position> </positions> </install> This code includes a detail regarding name, author, date of creation etc. for the template. It also offers an insight on the position structure. You can control some aspects of position along the backend, if included in the position. Now that you are aware of the structure, let's get started with creating a simple template. Creating the Template You will first need to prepare to start the template creation process. Go to Template folder>create new folder Call it template_sttl
  • 5. Now create two files in this template folder: index.php and templateDetail.xml, and paste the code given above to these files Open index.php file in notepad and add the following code to it <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" > <head> <jdoc:include type="head" /> </head> For this purpose, you will use DOCTYPE the PHP code in the header section. You can add the following code, which is not included in the position element <jdoc:include type="head" />. With this code, the Joomla header code is added which includes the page title. You can complete the markup for the page by adding body and closing html tags. Getting Started with the Template
  • 6. You have created the template file; it is time to add include to display the main content that is being viewed in general <jdoc:include type="component" /> Now, you have the following code as part of your index.php file <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" > <head> <jdoc:include type="head" /> </head> <body> <jdoc:include type="component" /> </body> </html> You will need data to test your template. Add an article before you begin testing. WAMP should be running whilst you are testing the template. Navigate to http://localhost/joomla/administrator to enter the admin panel
  • 7. Go to content>articlemanager> and add your article. Now, view your article along the frontend, and once you are satisfied you can publish the content. Once the content is published, you should start testing the template you have created. Go to template manager in the backend and click on extensions. Here you can access the template_sttl, and set it as your default template. Preview how the article looks on the template you have just created. Beautifying the Template When you tested the template, you noticed that it is perfectly capturing the content details, and displaying it to the perfection. Now, you need to develop the template aesthetically, and for that you need to program your template further. Before adding positions, you need to take a look at the positions that exist in index.php <positions> <position>breadcrumb</position> <position>left</position> <position>right</position> <position>top</position> <position>user1</position> <position>user2</position> <position>user3</position> <position>user4</position> <position>footer</position>
  • 8. </positions> Here's the code to include <jdoc:include type="modules" name="position_name" /> IF you want to add left position to your index.php file, here's the code you will need to add <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" > <head> <jdoc:include type="head" /> </head> <body> <jdoc:include type="component" /> <jdoc:include type="modules" name="left" /> </body> </html> To add footer
  • 9. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" > <head> <jdoc:include type="head" /> </head> <body> <jdoc:include type="component" /> <jdoc:include type="modules" name="left" /> <jdoc:include type="modules" name="footer" /> </body> </html> Now, you have a clear idea of how to add the positions. You will need to go to module manager, and click on footer to get the code working. Now click save, and perform the actions for the other tasks too. Conclusion: Sometimes creating a template gives you the freedom of customizing it. You can position the header, footer and other aspects of the template as and where you want to. Follow these steps to create your template, and then change the positions of the different
  • 10. elements as per your need. Hire Joomla developer to give your template the aesthetic purview Original Source: http://www.instructables.com/id/How-to-Develop-Your-First- Ever-Joomla-Template/