SlideShare uma empresa Scribd logo
1 de 15
Joomla Templates 101
             Barb Ackemann

                        Joomla Day NE
                         May 30, 2009


NOTE: Slides, files and resources are all online –
So you can listen /think hard and not worry about writing everything down!
Joomla Templates 101 – Agenda
•   Introduction
•   “ons” and “tos”
•   Module positions in Joomla
•   Ingredients of a Joomla 1.5 template
•   Build the html / css, add php snippets
•   templateDetails.xml
•   Upload, Activate and Tweak!
•   Tips and Tricks
Barb Ackemann
  •   Public education (k-12) for 28 years
  •   M.S.I.T MCGS 2006
  •   Independent web developer
  •   Owner, Iris Lines Designs –
      irislines.com
  • Instructor MCGS
      – Designing with Web Standards
        (html and css)
      – Web Accessibility
Ons and Tos
This workshop assumes you are able to create
  a static html page layout with all aspects of
  presentation in an external stylesheet.

Html is for structuring your content with semantic markup
(related to the meaning of the content)

CSS is for all things presentational: color, font, layout, etc.

The two files work together. There are many advantages to this
separation, including: accessibility, efficiency, SEO.
Ons and Tos

This workshop assumes you are familiar with
  working with Joomla content and modules.

Joomla presents the content of your pages in various kinds of blocks.

Articles or other components (photo galleries, contacts, forms, etc.) sit in one
position on the page (usually the largest block).

Other blocks (navigation menus, random images, most read, etc.) are assigned to
module positions which are defined in the template.
Ons and Tos

After this workshop, you should be able to
  create a simple custom Joomla 1.5 template.

You’ll be able to install your custom template
  and make adjustments to the cssstylesheet.

You’ll learn about some helpful tools and tricks.
Software Tools
Graphics: PhotoShop, FireWorks or other graphics program.

HTML editor or simple text editor to write HTML and CSS or
Dreamweaver CS4.

Firefox browser with the free Web Developer’s Tool Bar
(WDTB) extension.
       (https://addons.mozilla.org/en-US/firefox/addon/60)

Other CSS tools: CSS Edit for the Macintosh
(http://macrabbit.com/cssedit/) or TopStyle for Windows
(http://www.newsgator.com/individuals/topstyle/default.aspx
)
Ingredients of a Joomla 1.5 template:
The template “BEEZ” has these files:
The ones with * are needed for even a basic template.

*index.html (blank html so users won’t see the contents of folder –
               include one of these in every sub-folder as well!)
*index.php
*templateDetails.xml (start wth file from BEEZ and modify for your template)
*template_thumbnail.png
favicon.ico (generate one of these at http://tools.dynamicdrive.com/favicon )
*css (folder) (minimum of one template.css file can have others for ie or print)
*images (folder) (images used in template or to decorate modules or components)
 html (folder) – (borrow whole folder from BEEZ template to use in your template!)


Beez also adds:
component.php
images_general(folder)
javascript(folder)
params.ini
templateDetails.xml
The templateDetails.xml file creates the installer and lists all of the files included in
the template.

It also includes details about the template (author, copyright, etc.)

Template module positions are identified in the templateDetails.xml file.
<positions>
<position>left</position>
<position>right</position>
<position>top</position>
<position>breadcrumb</position>
                                                   It’s probably a good idea to
<position>user1</position>
                                                   use these names for module
<position>user2</position>
                                                   positions so you can switch
<position>user3</position>
                                                   between templates without
<position>user4</position>
                                                   having to reassign your
<position>debug</position>
                                                   modules to new positions.
<position>syndicate</position>
</positions>
Live Demonstration
At this point in the workshop, Barb turned to the real tools and demonstrates the
process of creating a Joomla template using FireWorks, Dreamweaver, Firefox and
the Web Developer’s Tool Bar.

Some of the files you’ll see are posted for you to examine
( Note: php files are saved as .txt so you can open them without restriction!)

These (and more!) are available at http://iriswebs.com/JoomlaDay/

     Fireworks mockup file
     Original html file with embedded styles
     First version of template file (as a text file)
     First version of stylesheet
     Second version of template file with if / else conditional code (as a text file)
     Second version of stylesheet
     Sample templateDetails.xml file
     A live version of the site
Live Demonstration
The steps were:

1. Develop graphic design
2. Plan and develop html and css code to achieve the design. Insert “dummy” content as
    placeholders. Validate the code. Test in other browsers. (Now and often!)
3. Take a screen shot and save at 200px wide as template_thumbnail.png
4. Plan for module positions and names.
5. Save index.htmlas index.phpin a folder for your template.
6. Replace head code with Joomla “snippet”.
7. Replace placeholder content with Joomla “snippets”.
8. Save css as template.cssin css folder.
9. Have image folder for all template images.
10. Copy html folder from BEEZ template into your template folder.
11. Create a favicon .icofile if you want one.
12. Open BEEZ templateDetails.xmland modify to be an exact inventory of your files.
13. Zip the folder.
14. Install into your Joomla site, set as default or assign to a test page.
15. Use the Firefox Web Developer Toolbar to tweak and fine tune your css. Save copies of
    changes locally and copy and paste into Template Manager template.cssfile.
Things to watch out for…..
Paths to images:

1. Hardcoded into template: <imgsrc=“http://domain.com/templates/<?php echo
   $this->template; ?>images/logo.gif” />

2. Called by cssstylesheet: background-image:url(../images/logo.gif);

3. Called by content item: <imgsrc=“ images/stories/photo.jpg” />


Be sure to include <jdoc:include type="message" />-- usually just above your
   component.


Be sure your templateDetails.xmlfile list matches the contents of your template
   folder EXACTLY! If your installation fails, it is most likely a problem of a missing
   file or mis-named file. Fix .xml file, re-zip and re-install until it works!
Snippets
Dreamweaver Snippets: http://iriswebs.com/JoomlaDay/JOOMLA_1.5.zip

Or text file of snippets:          http://iriswebs.com/JoomlaDay/all-snippets.txt

For Dreamweaver:
Your Snippets are here (Vista) -

C:Users<username>AppDataRoamingAdobeDreamweaver
CS4en_USConfigurationSnippets

and here (WXP) -

C:Documents and Settings<username>Application DataAdobeDreamweaver
CS4en_USConfigurationSnippets

and here (Mac) -

Library :: Application Support :: Adobe :: Dreamweaver CS4 :: en_US ::
Configuration :: Snippets

Be aware that the Windows location is normally HIDDEN - you would have to
unhide it in the Explorer options.
Module Styles
The “snippet” for adding a module position is:

<jdoc:include type="modules" name="footer" style="xhtml" />

style=“xhtml” is one of five options for designating how Joomla will wrap your module
    content. It is the one I use the most. The options are:

style=“table” – Joomla will wrap your module as a <td> in a single column <table> to place
    one module under another.

style=“horz” – Joomla will wrap your module as a <td> in a single row <table> to place
    modules side by side.

style=“xhtml” – Joomla gives you a single <div> wrapper.

style=“rounded” – Joomla will wrap each module in four nested <div>s.

style=“none” – no containing code will be added.
All resources available at:   PDF Version of this slide show
                              All files you saw today

iriswebs.com/JoomlaDay        Dreamweaver CS4 Snippets
                              Joomla Snippets in a text file

                              Book List
                              Online Resources




barb@irislines.com

Mais conteúdo relacionado

Mais procurados

Best Practice Checklist for Building a Drupal Website
Best Practice Checklist for Building a Drupal WebsiteBest Practice Checklist for Building a Drupal Website
Best Practice Checklist for Building a Drupal Website
Acquia
 
Hello Drupal!
Hello Drupal!Hello Drupal!
Hello Drupal!
Acquia
 
Preventing Drupal Headaches: Establishing Flexible File Paths From The Start
Preventing Drupal Headaches: Establishing Flexible File Paths From The StartPreventing Drupal Headaches: Establishing Flexible File Paths From The Start
Preventing Drupal Headaches: Establishing Flexible File Paths From The Start
Acquia
 
Implementing xpages extension library
Implementing xpages extension libraryImplementing xpages extension library
Implementing xpages extension library
dominion
 
RoundTrip_references
RoundTrip_referencesRoundTrip_references
RoundTrip_references
tutorialsruby
 

Mais procurados (20)

Drupal 8 theming deep dive
Drupal 8 theming deep diveDrupal 8 theming deep dive
Drupal 8 theming deep dive
 
Best Practice Checklist for Building a Drupal Website
Best Practice Checklist for Building a Drupal WebsiteBest Practice Checklist for Building a Drupal Website
Best Practice Checklist for Building a Drupal Website
 
Create a landing page
Create a landing pageCreate a landing page
Create a landing page
 
Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...
Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...
Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...
 
Hello Drupal!
Hello Drupal!Hello Drupal!
Hello Drupal!
 
How Joomla! builds a webpage (annotated)
How Joomla! builds a webpage (annotated)How Joomla! builds a webpage (annotated)
How Joomla! builds a webpage (annotated)
 
DevLearn 2017 - Getting Started with Adapt
DevLearn 2017 - Getting Started with AdaptDevLearn 2017 - Getting Started with Adapt
DevLearn 2017 - Getting Started with Adapt
 
Simplifying End-user Drupal 7 Content Administration
Simplifying End-user Drupal 7 Content Administration Simplifying End-user Drupal 7 Content Administration
Simplifying End-user Drupal 7 Content Administration
 
WordPress 2.5 Overview - Rich Media Institute
WordPress 2.5 Overview - Rich Media InstituteWordPress 2.5 Overview - Rich Media Institute
WordPress 2.5 Overview - Rich Media Institute
 
Preventing Drupal Headaches: Establishing Flexible File Paths From The Start
Preventing Drupal Headaches: Establishing Flexible File Paths From The StartPreventing Drupal Headaches: Establishing Flexible File Paths From The Start
Preventing Drupal Headaches: Establishing Flexible File Paths From The Start
 
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
 
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
 
Media handling in Drupal (Drupalcamp Leuven 2013)
Media handling in Drupal (Drupalcamp Leuven 2013)Media handling in Drupal (Drupalcamp Leuven 2013)
Media handling in Drupal (Drupalcamp Leuven 2013)
 
Implementing xpages extension library
Implementing xpages extension libraryImplementing xpages extension library
Implementing xpages extension library
 
BP210 XPages: Enter The Dojo
BP210 XPages: Enter The DojoBP210 XPages: Enter The Dojo
BP210 XPages: Enter The Dojo
 
Style guides in drupal development workflows
Style guides in drupal development workflowsStyle guides in drupal development workflows
Style guides in drupal development workflows
 
Cms & wordpress theme development 2011
Cms & wordpress theme development 2011Cms & wordpress theme development 2011
Cms & wordpress theme development 2011
 
Wordpress overview
Wordpress overviewWordpress overview
Wordpress overview
 
Joomla Presentations
Joomla PresentationsJoomla Presentations
Joomla Presentations
 
RoundTrip_references
RoundTrip_referencesRoundTrip_references
RoundTrip_references
 

Destaque

A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
SlideShare
 

Destaque (14)

DevCamp 2014 - Formando times ágeis. Da contratação à demissão.- Thiago F. Me...
DevCamp 2014 - Formando times ágeis. Da contratação à demissão.- Thiago F. Me...DevCamp 2014 - Formando times ágeis. Da contratação à demissão.- Thiago F. Me...
DevCamp 2014 - Formando times ágeis. Da contratação à demissão.- Thiago F. Me...
 
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014
OAuth2: Uma abordagem para segurança de aplicações e APIs REST  - Devcamp 2014OAuth2: Uma abordagem para segurança de aplicações e APIs REST  - Devcamp 2014
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014
 
Developing Joomla! 1.5 Extensions, Explained
Developing Joomla! 1.5 Extensions, ExplainedDeveloping Joomla! 1.5 Extensions, Explained
Developing Joomla! 1.5 Extensions, Explained
 
Use Data to Deliver Better Results and Drive Revenue in B2B Publishing
Use Data to Deliver Better Results and Drive Revenue in B2B PublishingUse Data to Deliver Better Results and Drive Revenue in B2B Publishing
Use Data to Deliver Better Results and Drive Revenue in B2B Publishing
 
Words of Wisdom for the Class of 2015
Words of Wisdom for the Class of 2015Words of Wisdom for the Class of 2015
Words of Wisdom for the Class of 2015
 
The Hierarchy of Engagement
The Hierarchy of EngagementThe Hierarchy of Engagement
The Hierarchy of Engagement
 
Search Content vs. Social Content
Search Content vs. Social ContentSearch Content vs. Social Content
Search Content vs. Social Content
 
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
 
Introduction to SlideShare for Businesses
Introduction to SlideShare for BusinessesIntroduction to SlideShare for Businesses
Introduction to SlideShare for Businesses
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShare
 
Lead Generation on SlideShare: A How-to Guide
Lead Generation on SlideShare: A How-to GuideLead Generation on SlideShare: A How-to Guide
Lead Generation on SlideShare: A How-to Guide
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Semelhante a Joomla Templates101

Template overrides austin
Template overrides   austinTemplate overrides   austin
Template overrides austin
Chad Windnagle
 
7 Theming in Drupal
7 Theming in Drupal7 Theming in Drupal
7 Theming in Drupal
Wingston
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
Lauren Roth
 
Creating Drupal A Module
Creating Drupal A ModuleCreating Drupal A Module
Creating Drupal A Module
arcaneadam
 
Drupalcamp Atlanta 2010 Design-to-Theme
Drupalcamp Atlanta 2010 Design-to-ThemeDrupalcamp Atlanta 2010 Design-to-Theme
Drupalcamp Atlanta 2010 Design-to-Theme
Mediacurrent
 

Semelhante a Joomla Templates101 (20)

Creating a basic joomla
Creating a basic joomlaCreating a basic joomla
Creating a basic joomla
 
Drupal - Introduction to Drupal Creating Modules
Drupal - Introduction to Drupal Creating ModulesDrupal - Introduction to Drupal Creating Modules
Drupal - Introduction to Drupal Creating Modules
 
Joomla Beginner Template Presentation
Joomla Beginner Template PresentationJoomla Beginner Template Presentation
Joomla Beginner Template Presentation
 
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 tempates talk
Joomla tempates talkJoomla tempates talk
Joomla tempates talk
 
Drupal
DrupalDrupal
Drupal
 
Template overrides austin
Template overrides   austinTemplate overrides   austin
Template overrides austin
 
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
 
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
 
7 Theming in Drupal
7 Theming in Drupal7 Theming in Drupal
7 Theming in Drupal
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
 
Creating Drupal A Module
Creating Drupal A ModuleCreating Drupal A Module
Creating Drupal A Module
 
Adopt or hack - how to hack a theme in a Drupal way
Adopt or hack - how to hack a theme in a Drupal wayAdopt or hack - how to hack a theme in a Drupal way
Adopt or hack - how to hack a theme in a Drupal way
 
WordPress Theming 101
WordPress Theming 101WordPress Theming 101
WordPress Theming 101
 
Drupalcamp Atlanta 2010 Design-to-Theme
Drupalcamp Atlanta 2010 Design-to-ThemeDrupalcamp Atlanta 2010 Design-to-Theme
Drupalcamp Atlanta 2010 Design-to-Theme
 
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
 
The Drupal 7 Worst Practices Catalogue
The Drupal 7 Worst Practices CatalogueThe Drupal 7 Worst Practices Catalogue
The Drupal 7 Worst Practices Catalogue
 
Connections customization lite
Connections customization liteConnections customization lite
Connections customization lite
 
CrowdFusion: The Front-End Edition, Part I: Presentation Layer
CrowdFusion: The Front-End Edition, Part I: Presentation LayerCrowdFusion: The Front-End Edition, Part I: Presentation Layer
CrowdFusion: The Front-End Edition, Part I: Presentation Layer
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Joomla Templates101

  • 1. Joomla Templates 101 Barb Ackemann Joomla Day NE May 30, 2009 NOTE: Slides, files and resources are all online – So you can listen /think hard and not worry about writing everything down!
  • 2. Joomla Templates 101 – Agenda • Introduction • “ons” and “tos” • Module positions in Joomla • Ingredients of a Joomla 1.5 template • Build the html / css, add php snippets • templateDetails.xml • Upload, Activate and Tweak! • Tips and Tricks
  • 3. Barb Ackemann • Public education (k-12) for 28 years • M.S.I.T MCGS 2006 • Independent web developer • Owner, Iris Lines Designs – irislines.com • Instructor MCGS – Designing with Web Standards (html and css) – Web Accessibility
  • 4. Ons and Tos This workshop assumes you are able to create a static html page layout with all aspects of presentation in an external stylesheet. Html is for structuring your content with semantic markup (related to the meaning of the content) CSS is for all things presentational: color, font, layout, etc. The two files work together. There are many advantages to this separation, including: accessibility, efficiency, SEO.
  • 5. Ons and Tos This workshop assumes you are familiar with working with Joomla content and modules. Joomla presents the content of your pages in various kinds of blocks. Articles or other components (photo galleries, contacts, forms, etc.) sit in one position on the page (usually the largest block). Other blocks (navigation menus, random images, most read, etc.) are assigned to module positions which are defined in the template.
  • 6. Ons and Tos After this workshop, you should be able to create a simple custom Joomla 1.5 template. You’ll be able to install your custom template and make adjustments to the cssstylesheet. You’ll learn about some helpful tools and tricks.
  • 7. Software Tools Graphics: PhotoShop, FireWorks or other graphics program. HTML editor or simple text editor to write HTML and CSS or Dreamweaver CS4. Firefox browser with the free Web Developer’s Tool Bar (WDTB) extension. (https://addons.mozilla.org/en-US/firefox/addon/60) Other CSS tools: CSS Edit for the Macintosh (http://macrabbit.com/cssedit/) or TopStyle for Windows (http://www.newsgator.com/individuals/topstyle/default.aspx )
  • 8. Ingredients of a Joomla 1.5 template: The template “BEEZ” has these files: The ones with * are needed for even a basic template. *index.html (blank html so users won’t see the contents of folder – include one of these in every sub-folder as well!) *index.php *templateDetails.xml (start wth file from BEEZ and modify for your template) *template_thumbnail.png favicon.ico (generate one of these at http://tools.dynamicdrive.com/favicon ) *css (folder) (minimum of one template.css file can have others for ie or print) *images (folder) (images used in template or to decorate modules or components) html (folder) – (borrow whole folder from BEEZ template to use in your template!) Beez also adds: component.php images_general(folder) javascript(folder) params.ini
  • 9. templateDetails.xml The templateDetails.xml file creates the installer and lists all of the files included in the template. It also includes details about the template (author, copyright, etc.) Template module positions are identified in the templateDetails.xml file. <positions> <position>left</position> <position>right</position> <position>top</position> <position>breadcrumb</position> It’s probably a good idea to <position>user1</position> use these names for module <position>user2</position> positions so you can switch <position>user3</position> between templates without <position>user4</position> having to reassign your <position>debug</position> modules to new positions. <position>syndicate</position> </positions>
  • 10. Live Demonstration At this point in the workshop, Barb turned to the real tools and demonstrates the process of creating a Joomla template using FireWorks, Dreamweaver, Firefox and the Web Developer’s Tool Bar. Some of the files you’ll see are posted for you to examine ( Note: php files are saved as .txt so you can open them without restriction!) These (and more!) are available at http://iriswebs.com/JoomlaDay/ Fireworks mockup file Original html file with embedded styles First version of template file (as a text file) First version of stylesheet Second version of template file with if / else conditional code (as a text file) Second version of stylesheet Sample templateDetails.xml file A live version of the site
  • 11. Live Demonstration The steps were: 1. Develop graphic design 2. Plan and develop html and css code to achieve the design. Insert “dummy” content as placeholders. Validate the code. Test in other browsers. (Now and often!) 3. Take a screen shot and save at 200px wide as template_thumbnail.png 4. Plan for module positions and names. 5. Save index.htmlas index.phpin a folder for your template. 6. Replace head code with Joomla “snippet”. 7. Replace placeholder content with Joomla “snippets”. 8. Save css as template.cssin css folder. 9. Have image folder for all template images. 10. Copy html folder from BEEZ template into your template folder. 11. Create a favicon .icofile if you want one. 12. Open BEEZ templateDetails.xmland modify to be an exact inventory of your files. 13. Zip the folder. 14. Install into your Joomla site, set as default or assign to a test page. 15. Use the Firefox Web Developer Toolbar to tweak and fine tune your css. Save copies of changes locally and copy and paste into Template Manager template.cssfile.
  • 12. Things to watch out for….. Paths to images: 1. Hardcoded into template: <imgsrc=“http://domain.com/templates/<?php echo $this->template; ?>images/logo.gif” /> 2. Called by cssstylesheet: background-image:url(../images/logo.gif); 3. Called by content item: <imgsrc=“ images/stories/photo.jpg” /> Be sure to include <jdoc:include type="message" />-- usually just above your component. Be sure your templateDetails.xmlfile list matches the contents of your template folder EXACTLY! If your installation fails, it is most likely a problem of a missing file or mis-named file. Fix .xml file, re-zip and re-install until it works!
  • 13. Snippets Dreamweaver Snippets: http://iriswebs.com/JoomlaDay/JOOMLA_1.5.zip Or text file of snippets: http://iriswebs.com/JoomlaDay/all-snippets.txt For Dreamweaver: Your Snippets are here (Vista) - C:Users<username>AppDataRoamingAdobeDreamweaver CS4en_USConfigurationSnippets and here (WXP) - C:Documents and Settings<username>Application DataAdobeDreamweaver CS4en_USConfigurationSnippets and here (Mac) - Library :: Application Support :: Adobe :: Dreamweaver CS4 :: en_US :: Configuration :: Snippets Be aware that the Windows location is normally HIDDEN - you would have to unhide it in the Explorer options.
  • 14. Module Styles The “snippet” for adding a module position is: <jdoc:include type="modules" name="footer" style="xhtml" /> style=“xhtml” is one of five options for designating how Joomla will wrap your module content. It is the one I use the most. The options are: style=“table” – Joomla will wrap your module as a <td> in a single column <table> to place one module under another. style=“horz” – Joomla will wrap your module as a <td> in a single row <table> to place modules side by side. style=“xhtml” – Joomla gives you a single <div> wrapper. style=“rounded” – Joomla will wrap each module in four nested <div>s. style=“none” – no containing code will be added.
  • 15. All resources available at: PDF Version of this slide show All files you saw today iriswebs.com/JoomlaDay Dreamweaver CS4 Snippets Joomla Snippets in a text file Book List Online Resources barb@irislines.com