SlideShare a Scribd company logo
Joomla! Template Development
        for Beginners



         2 Oct 2010
This training will be conducted in a
non-linear fashion.
Books are boring.
The human brain is
interested in making
    connections,
  and not so good in following orders.
No pens, papers or notebooks
          needed.
Sit back, relax,
and let the human brain
make connections!
www.joomla.org
joomla
    templates
        beez
        ja_purity
        rhuk_milkyway
        system
beez
ja_purity
  beez
rhuk_milkyway
joomla
    templates
        beez
        ja_purity
        rhuk_milkyway
        system
What does the
“system” folder do?
What does the
 “system” folder do?

Common html layout & css styling
   that is used throughout
   the entire Joomla! site.
http://yoursite/administrator
Extensions > Template Manager
joomla
   templates
        rhuk_milkyway
            index.php
Things that I saw
but I did not understand
<jdocs:include> stuff
              <jdoc:include type="component" />
         <jdoc:include type="modules" name="top" />
<jdoc:include type="modules" name="left" style="rounded" />
 <jdoc:include type="modules" name="right" style="xhtml"/>
<jdoc:include type="modules" name="footer" style="xhtml"/>
Removed this.
And inserted a ducky...
Can you spot the difference?
<jdoc:include type="component" />
Then I replaced this with a ducky…
 <jdoc:include type="modules" name="left" style="rounded" />
and we have 2 duckies.
<jdoc:include
type="modules"
  name="left"
style="rounded"
       />         <jdoc:include type="component" />
module

                   module

                   module




         module                      module




module

              component
                                              module




                  module
Joomla! templates are built with
    Component & Modules.
<jdoc:include type="component" />
<jdoc:include type="modules" name="left" style="rounded" />
So, build your html codes around
   Component & Modules.
<div id="mainContent">
<jdoc:include type="component" />
</div>

<div id="sidebar">
<jdoc:include type="modules" name="left" style="rounded" />
</div>
joomla
   templates
        rhuk_milkyway
            templateDetails.xml
template metadata
templateDetails.xml contains the metadata of your template,
 e.g. template name, template description, template license.
template files
    It also contains the list of your template files,
which Joomla! look up to when installing/uninstalling
          a Joomla! template on Joomla! site.
So, build your html codes around
   Component & Modules.
<div id="mainContent">
<jdoc:include type="component" />
</div>

<div id="sidebar">
<jdoc:include type="modules" name="left" style="rounded" />
</div>
module positions
     The available module positions of the template
       is listed right here. Do you still remember…

<jdoc:include type="modules" name="left" style="rounded" />
2 most important file that makes
   any Joomla! template work.

    index.php
templateDetails.xml
The bare essentials of index.php
       1. Doctype
       2. Head
       3. Joomla! system stylesheets
       4. Component
       5. Modules
1. Doctype
<!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; ?>" >
2. Head
<head>
<jdoc:include type="head" />
</head>
3. Joomla! system stylesheets
<link rel="stylesheet“
      type="text/css"
      href="<?php echo $this->baseurl?>
      /templates/system/css/system.css" />

<link rel="stylesheet“
      href="<?php echo $this->baseurl?>
      /templates/system/css/general.css" type="text/css" />
4. Component
<jdoc:include type="component" />
5. Modules
<jdoc:include type="modules" name="left" style="rounded" />
The bare essentials of index.php
<!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" />
          <link rel="stylesheet“
                type="text/css"
                href="<?php echo $this->baseurl?>
                /templates/system/css/system.css" />

          <link rel="stylesheet“
                href="<?php echo $this->baseurl?>
                /templates/system/css/general.css" type="text/css" />
</head>

<body>
          <jdoc:include type="component" />
          <jdoc:include type="modules" name="left" style="rounded" />
</body>
</html>
Demo
The Bare Essentials
some things here…




                   Let’s talk about…
                  Modules.                      some things
                                                here also…




some things
everywhere…



                           some things there…
Extensions > Module Manager
click!




Creating a module.
Select module type.
Configure module & you’re done!
I’m green with white border!




    What I really want to talk about is…
      Module Chrome.
                                   I’m purple
                                  with rounded
                                     corner!
What does this style attribute does?
<jdoc:include type="modules" name="left" style="rounded" />



<jdoc:include type="modules" name="right" style="xhtml"/>
There are 6 types of Chrome that
         comes with Joomla!.
<jdoc:include type="modules" name="left" style="none" />
                                         style="table"
                                         style="horz"
                                         style="xhtml"
                                         style="rounded"
                                         style="outline"
How do they look like?




rounded     xhtml      outline
Speaking of outline…
Now that’s a neat trick!




http://yoursite/index.php?tp=1
Where do module chromes
      come from?
joomla
    templates
        system
            html
                modules.php
Can I make my own
 module chrome?
joomla
    templates
        yourtemplatename
            html
               modules.php
The bare essentials
of a module chrome
  <?php echo $module->title; ?>
 <?php echo $module->content; ?>
A sample module chrome
<?php function modChrome_rounded($module, &$params, &$attribs)
{ ?>
       <h3><?php echo $module->title; ?></h3>
       <div><?php echo $module->content; ?></div>
<?php } ?>
Demo
Module Chrome
Demo
A quick Joomla! template.
We are hiring Web Designers.
Become a Joomla! Web Designer @ Slashes and Dots!
  Talk to us or contact Meriza - meriza@azrul.com.
Recommend a friend and get RM1500
     If you know any friends who is a web designer.
Recommend them to us! If we hire them, you get RM1500.

More Related Content

What's hot

The go-start webframework (GTUG Vienna 27.03.2012)
The go-start webframework (GTUG Vienna 27.03.2012)The go-start webframework (GTUG Vienna 27.03.2012)
The go-start webframework (GTUG Vienna 27.03.2012)
ungerik
 
Your Custom WordPress Admin Pages Suck
Your Custom WordPress Admin Pages SuckYour Custom WordPress Admin Pages Suck
Your Custom WordPress Admin Pages Suck
Anthony Montalbano
 
Iasi code camp 12 october 2013 shadow dom - mihai bîrsan
Iasi code camp 12 october 2013   shadow dom - mihai bîrsanIasi code camp 12 october 2013   shadow dom - mihai bîrsan
Iasi code camp 12 october 2013 shadow dom - mihai bîrsan
Codecamp Romania
 
How to create a basic template
How to create a basic templateHow to create a basic template
How to create a basic template
vathur
 

What's hot (20)

Future-proof styling in Drupal (8)
Future-proof styling in Drupal (8)Future-proof styling in Drupal (8)
Future-proof styling in Drupal (8)
 
The go-start webframework (GTUG Vienna 27.03.2012)
The go-start webframework (GTUG Vienna 27.03.2012)The go-start webframework (GTUG Vienna 27.03.2012)
The go-start webframework (GTUG Vienna 27.03.2012)
 
Decoupling the Front-end with Modular CSS
Decoupling the Front-end with Modular CSSDecoupling the Front-end with Modular CSS
Decoupling the Front-end with Modular CSS
 
OOCSS Lightening Talk
OOCSS Lightening TalkOOCSS Lightening Talk
OOCSS Lightening Talk
 
モダンなCSS設計パターンを考える
モダンなCSS設計パターンを考えるモダンなCSS設計パターンを考える
モダンなCSS設計パターンを考える
 
Intro to OOCSS Workshop
Intro to OOCSS WorkshopIntro to OOCSS Workshop
Intro to OOCSS Workshop
 
Your Custom WordPress Admin Pages Suck
Your Custom WordPress Admin Pages SuckYour Custom WordPress Admin Pages Suck
Your Custom WordPress Admin Pages Suck
 
Beyond CSS Architecture
Beyond CSS ArchitectureBeyond CSS Architecture
Beyond CSS Architecture
 
Introduction to jQuery Mobile - Web Deliver for All
Introduction to jQuery Mobile - Web Deliver for AllIntroduction to jQuery Mobile - Web Deliver for All
Introduction to jQuery Mobile - Web Deliver for All
 
Iasi code camp 12 october 2013 shadow dom - mihai bîrsan
Iasi code camp 12 october 2013   shadow dom - mihai bîrsanIasi code camp 12 october 2013   shadow dom - mihai bîrsan
Iasi code camp 12 october 2013 shadow dom - mihai bîrsan
 
HTML5 Essentials
HTML5 EssentialsHTML5 Essentials
HTML5 Essentials
 
How to create a basic template
How to create a basic templateHow to create a basic template
How to create a basic template
 
Developing Your Ultimate Package
Developing Your Ultimate PackageDeveloping Your Ultimate Package
Developing Your Ultimate Package
 
Front End Tooling and Performance - Codeaholics HK 2015
Front End Tooling and Performance - Codeaholics HK 2015Front End Tooling and Performance - Codeaholics HK 2015
Front End Tooling and Performance - Codeaholics HK 2015
 
JavaScript
JavaScriptJavaScript
JavaScript
 
JD17NL Joomla! Overrides and alternate layouts
JD17NL Joomla! Overrides and alternate layoutsJD17NL Joomla! Overrides and alternate layouts
JD17NL Joomla! Overrides and alternate layouts
 
Web basic
Web basicWeb basic
Web basic
 
About Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSAbout Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JS
 
Interacting with the DOM (JavaScript)
Interacting with the DOM (JavaScript)Interacting with the DOM (JavaScript)
Interacting with the DOM (JavaScript)
 
Rapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with BootstrapRapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with Bootstrap
 

Similar to Joomla! Template for Beginners

Template overrides austin
Template overrides   austinTemplate overrides   austin
Template overrides austin
Chad Windnagle
 
Techgig Webinar: Joomla Introduction and Module Development June 2012
Techgig Webinar: Joomla Introduction and Module Development June 2012Techgig Webinar: Joomla Introduction and Module Development June 2012
Techgig Webinar: Joomla Introduction and Module Development June 2012
Vishwash Gaur
 
Joomla! Frappe - Κατασκευή εφαρμογών για το Joomla! χωρίς να τραβάτε τα μαλιά...
Joomla! Frappe - Κατασκευή εφαρμογών για το Joomla! χωρίς να τραβάτε τα μαλιά...Joomla! Frappe - Κατασκευή εφαρμογών για το Joomla! χωρίς να τραβάτε τα μαλιά...
Joomla! Frappe - Κατασκευή εφαρμογών για το Joomla! χωρίς να τραβάτε τα μαλιά...
Nicholas Dionysopoulos
 
HTML 5 Drupalcamp Ireland Dublin 2010
HTML 5 Drupalcamp Ireland Dublin 2010HTML 5 Drupalcamp Ireland Dublin 2010
HTML 5 Drupalcamp Ireland Dublin 2010
alanburke
 

Similar to Joomla! Template for Beginners (20)

Creating a basic joomla
Creating a basic joomlaCreating a basic joomla
Creating a basic joomla
 
Modules and Components Introduction in Joomla! 2.5
Modules and Components Introduction in Joomla! 2.5Modules and Components Introduction in Joomla! 2.5
Modules and Components Introduction in Joomla! 2.5
 
Template overrides austin
Template overrides   austinTemplate overrides   austin
Template overrides austin
 
Joomla Day UK 2009 Template Design Presentation
Joomla Day UK 2009 Template Design PresentationJoomla Day UK 2009 Template Design Presentation
Joomla Day UK 2009 Template Design Presentation
 
Joomla! Day UK 2009 Template Design
Joomla! Day UK 2009 Template DesignJoomla! Day UK 2009 Template Design
Joomla! Day UK 2009 Template Design
 
Joomla Templates101
Joomla Templates101Joomla Templates101
Joomla Templates101
 
crtical points for customizing Joomla templates
crtical points for customizing Joomla templatescrtical points for customizing Joomla templates
crtical points for customizing Joomla templates
 
How to Develop Your First Ever Joomla Template?
How to Develop Your First Ever Joomla Template?How to Develop Your First Ever Joomla Template?
How to Develop Your First Ever Joomla Template?
 
Joomla Beginner Template Presentation
Joomla Beginner Template PresentationJoomla Beginner Template Presentation
Joomla Beginner Template Presentation
 
Techgig Webinar: Joomla Introduction and Module Development June 2012
Techgig Webinar: Joomla Introduction and Module Development June 2012Techgig Webinar: Joomla Introduction and Module Development June 2012
Techgig Webinar: Joomla Introduction and Module Development June 2012
 
Joomla! Frappe - Κατασκευή εφαρμογών για το Joomla! χωρίς να τραβάτε τα μαλιά...
Joomla! Frappe - Κατασκευή εφαρμογών για το Joomla! χωρίς να τραβάτε τα μαλιά...Joomla! Frappe - Κατασκευή εφαρμογών για το Joomla! χωρίς να τραβάτε τα μαλιά...
Joomla! Frappe - Κατασκευή εφαρμογών για το Joomla! χωρίς να τραβάτε τα μαλιά...
 
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 Basic Templates
Joomla Day UK 2009 Basic TemplatesJoomla Day UK 2009 Basic Templates
Joomla Day UK 2009 Basic Templates
 
Building Templates for Joomla
Building Templates for JoomlaBuilding Templates for Joomla
Building Templates for Joomla
 
Mageguru - magento custom module development
Mageguru -  magento custom module development Mageguru -  magento custom module development
Mageguru - magento custom module development
 
Polytechnic speaker deck oluwadamilare
Polytechnic speaker deck oluwadamilarePolytechnic speaker deck oluwadamilare
Polytechnic speaker deck oluwadamilare
 
J!Layout Overrides Einstieg und Beispiele
J!Layout Overrides Einstieg und BeispieleJ!Layout Overrides Einstieg und Beispiele
J!Layout Overrides Einstieg und Beispiele
 
HTML 5 Drupalcamp Ireland Dublin 2010
HTML 5 Drupalcamp Ireland Dublin 2010HTML 5 Drupalcamp Ireland Dublin 2010
HTML 5 Drupalcamp Ireland Dublin 2010
 
Creating Custom Templates for Joomla! 2.5
Creating Custom Templates for Joomla! 2.5Creating Custom Templates for Joomla! 2.5
Creating Custom Templates for Joomla! 2.5
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and Programmers
 

Recently uploaded

What is social media.pdf Social media refers to digital platforms and applica...
What is social media.pdf Social media refers to digital platforms and applica...What is social media.pdf Social media refers to digital platforms and applica...
What is social media.pdf Social media refers to digital platforms and applica...
AnaBeatriz125525
 
Constitution of Company Article of Association
Constitution of Company Article of AssociationConstitution of Company Article of Association
Constitution of Company Article of Association
seri bangash
 

Recently uploaded (20)

USA classified ads posting – best classified sites in usa.pdf
USA classified ads posting – best classified sites in usa.pdfUSA classified ads posting – best classified sites in usa.pdf
USA classified ads posting – best classified sites in usa.pdf
 
What is social media.pdf Social media refers to digital platforms and applica...
What is social media.pdf Social media refers to digital platforms and applica...What is social media.pdf Social media refers to digital platforms and applica...
What is social media.pdf Social media refers to digital platforms and applica...
 
Falcon Invoice Discounting Setup for Small Businesses
Falcon Invoice Discounting Setup for Small BusinessesFalcon Invoice Discounting Setup for Small Businesses
Falcon Invoice Discounting Setup for Small Businesses
 
The Ultimate Guide to IPTV App Development Process_ Step-By-Step Instructions
The Ultimate Guide to IPTV App Development Process_ Step-By-Step InstructionsThe Ultimate Guide to IPTV App Development Process_ Step-By-Step Instructions
The Ultimate Guide to IPTV App Development Process_ Step-By-Step Instructions
 
LinkedIn Masterclass Techweek 2024 v4.1.pptx
LinkedIn Masterclass Techweek 2024 v4.1.pptxLinkedIn Masterclass Techweek 2024 v4.1.pptx
LinkedIn Masterclass Techweek 2024 v4.1.pptx
 
TriStar Gold Corporate Presentation May 2024
TriStar Gold Corporate Presentation May 2024TriStar Gold Corporate Presentation May 2024
TriStar Gold Corporate Presentation May 2024
 
Global Interconnection Group Joint Venture[960] (1).pdf
Global Interconnection Group Joint Venture[960] (1).pdfGlobal Interconnection Group Joint Venture[960] (1).pdf
Global Interconnection Group Joint Venture[960] (1).pdf
 
Hyundai capital 2024 1q Earnings release
Hyundai capital 2024 1q Earnings releaseHyundai capital 2024 1q Earnings release
Hyundai capital 2024 1q Earnings release
 
Understanding UAE Labour Law: Key Points for Employers and Employees
Understanding UAE Labour Law: Key Points for Employers and EmployeesUnderstanding UAE Labour Law: Key Points for Employers and Employees
Understanding UAE Labour Law: Key Points for Employers and Employees
 
Cracking the Change Management Code Main New.pptx
Cracking the Change Management Code Main New.pptxCracking the Change Management Code Main New.pptx
Cracking the Change Management Code Main New.pptx
 
Creative Ideas for Interactive Team Presentations
Creative Ideas for Interactive Team PresentationsCreative Ideas for Interactive Team Presentations
Creative Ideas for Interactive Team Presentations
 
Constitution of Company Article of Association
Constitution of Company Article of AssociationConstitution of Company Article of Association
Constitution of Company Article of Association
 
Revolutionizing Industries: The Power of Carbon Components
Revolutionizing Industries: The Power of Carbon ComponentsRevolutionizing Industries: The Power of Carbon Components
Revolutionizing Industries: The Power of Carbon Components
 
The Inspiring Personality To Watch In 2024.pdf
The Inspiring Personality To Watch In 2024.pdfThe Inspiring Personality To Watch In 2024.pdf
The Inspiring Personality To Watch In 2024.pdf
 
Event Report - IBM Think 2024 - It is all about AI and hybrid
Event Report - IBM Think 2024 - It is all about AI and hybridEvent Report - IBM Think 2024 - It is all about AI and hybrid
Event Report - IBM Think 2024 - It is all about AI and hybrid
 
Meaningful Technology for Humans: How Strategy Helps to Deliver Real Value fo...
Meaningful Technology for Humans: How Strategy Helps to Deliver Real Value fo...Meaningful Technology for Humans: How Strategy Helps to Deliver Real Value fo...
Meaningful Technology for Humans: How Strategy Helps to Deliver Real Value fo...
 
Equinox Gold Corporate Deck May 24th 2024
Equinox Gold Corporate Deck May 24th 2024Equinox Gold Corporate Deck May 24th 2024
Equinox Gold Corporate Deck May 24th 2024
 
Special Purpose Vehicle (Purpose, Formation & examples)
Special Purpose Vehicle (Purpose, Formation & examples)Special Purpose Vehicle (Purpose, Formation & examples)
Special Purpose Vehicle (Purpose, Formation & examples)
 
Engagement Rings vs Promise Rings | Detailed Guide
Engagement Rings vs Promise Rings | Detailed GuideEngagement Rings vs Promise Rings | Detailed Guide
Engagement Rings vs Promise Rings | Detailed Guide
 
A Brief Introduction About Jacob Badgett
A Brief Introduction About Jacob BadgettA Brief Introduction About Jacob Badgett
A Brief Introduction About Jacob Badgett
 

Joomla! Template for Beginners