SlideShare a Scribd company logo
Design, UX and Theming




Forensic Theming


       Emma Jane Hogbin
       @emmajanedotnet
     www.designtotheme.com
drupal.org participation
●   emmajane
●   uid: 1773
●   First look at the Drupal code base: 2003ish.
    I stole the i18n table structure.
●   First Drupal site “for pay”: 2006ish.
●   First Drupal socks: 2007.
●   First DrupalCon conference: Szeged in 2008.
●   First Drupal book: 2009.
●   First Drupal core patch: 2010.
    Removed the “welcome” screen.
Really Tiny Web Budgets
The Socks




http://www.flickr.com/photos/mortendk/1439332466/
www.emmajane.net/craft/drupal
Book (Co)Author
Workbook Author
  www.designtotheme.com
Discount Code: DCLON87488
 Valid to the end of August.
Drupal Trainer




 www.sitebuildingextravaganza.com
Lazy Front End Developer
I'll just change this one tpl.php file
                  http://www.flickr.com/photos/gibbons/2500423526
Okay ... and a module file?
and ...
... everything else too? Bugger.
                http://www.flickr.com/photos/amagill/3225245292
This presentation is not about ...
●   Best practices          ●   Inheritance
●   Anything advanced       ●   HTML5
●   Design                  ●   Photoshop
●   Semantic markup         ●   Web systems
●   Responsive Web design
                            ●   Theming APIs
●   Typography
                            ●   Mobile devices
●   Grids (maybe a little
    bit)                    ●   Unicorns
●   CSS optimization        ●   Sprites
●   CSS preprocessing       ●   In-the-browser design
●   Rick Astley             ●   Sliding doors
●   PHP
                            ●   Gradients
●   Hooks
                            ●   IE6
Advanced Theming Sessions
Display Suite
Tuesday 17:00 - NodeOne Road - Fairfield Room
http://tinyurl.com/dclondon-displaysuite


Theming API
Tuesday 15:45 - NodeOne Road - Fairfield Room
http://tinyurl.com/dclondon-themingapi


Responsive Design
Thursday 11am - Axis 12 Street - Arnhem Gallery
http://tinyurl.com/dclondon-responsivedesign
Forensic Theming

       Best
       Practices
       Dissecting
       Themes
Agenda
Tools for Forensic Theming   Theming Tools
                                 Sketchbooks           CSS Frameworks
    Sweaver
                                                   ●
●                            ●



                                 Wireframes        ●   Base themes
    Firebug
                             ●
●
                             ●
                                 Data models       ●   Layout modules
●   Devel Themer             ●   Grid frameworks   ●   Text editors

Theme Building               Summary
●   Base themes              ●   Questions/Answers
●   Image extraction         ●   Bonuses
●   MVTs
●   Forensic styling
The Crime
Crime Scene
Forensic Theming


Definition: the art of
investigating a
Drupal page to find
out how that thing
got there.
Two Types of Clues
       Crime Scene Investigation
       Working with the rendered page:
       ●   Available CSS selectors.
       ●   Applied CSS styles.



       Crime Lab Forensics
       Working with Drupal code files:
       ●   Theme templates
       ●   Module templates
       ●   Hard coded module nonsense
Crime Scene




              Working with rendered
              pages. You can only look
              at the effects of Drupal
              on a rendered page.
Identifying CSS Selectors
               With Sweaver
●   Common newbie problem: being able to find
    relevant CSS selectors.
●   Sweaver can be used as a pointy-clicky-non-scary
    CSS class selector.
●   Can save/publish minor changes to CSS to live
    Web sites.
●   http://drupal.org/project/sweaver
Sweaver User Interface
Click on Stuff
See How a Selector Will Be Applied




Change CSS properties
                        See the changes


                                          CSS selector to use in your theme
Risky Live Demo
http://d7.sandbox/sweaver
Identifying What's Applied
                With Firebug
●
    Common newbie problem: trying to identifying
    what CSS styles are being applied by staring at
    code.
●   Firebug can be used to identify what CSS is
    actually being applied to a rendered Web page.
●   www.getfirebug.com
Locate Properties of Page Elements




Relevant HTML   Page element   CSS styles
source
Risky Live Firebug Demo
●
    http://d7.sandbox/sbe-site3/
●   Inspect element.
●   Edit CSS properties.
●   Edit CSS files.
●   Cannot publish changes.
●   www.getfirebug.com
Other Useful Browser Tools
●
    Web Developer Toolbar
    http://chrispederick.com/work/web-developer/
●   IE Web Developer Toolbar
    http://tinyurl.com/ie-web-dev-toolbar
Forensics
Devel / Themer
●   The Cadillac of theming tools.
●
    Tells you which tpl.php or theme function is
    responsible for that thing displaying over there.
●   http://drupal.org/project/devel_themer
●   http://drupal.org/project/devel
Point, Click, Analyse




                                                  3. Analyse the list of
                                                  functions, templates,
                          2. Click on the thing   variables, etc which
1. Enable Themer Info     you want to             control this page element.
                          investigate
Investigate What Themer Reveals




      Also go to: http://api.drupal.org
Ooops.
No risky live demo.
Making It Easier
node.tpl.php


                                 field.tpl.php


jplayer.tpl.php




                  page.tpl.php
content
I want less yucky markup!
Pink sherbert photography http://www.flickr.com/photos/pinksherbet/3372060864/
Forensic Theming - DrupalCon London
Less Yucky Markup
●
    European vs American theming
●   Inheritance: start with a better base.
●   Base theme: mothership
●   Modules: Semantic Views
●   D6 Modules: Semantic CCK
●   HTML5 http://drupal.org/project/html5_tools
Theming Tools
Sketchbook
Wire Frames




       www.balsamiq.com
Data Model




    http://www.flickr.com/photos/alan-dean/3513723498
Grid Framework




http://960.gs/
Want to Learn Grids?
Harass @markboulton and tell him to finish his book.
http://www.fivesimplesteps.com/
Do it.
Right now.
Tweet him.
And tell him if he doesn't finish his book you're going
to build exclusively 16-column, grid-based Web sites
until his book his published.
CSS (Grid) Framework
Base Theme




●   drupal.org/project/ninesixty
●   drupal.org/project/fusion
●   drupal.org/project/zen
Drupal (Layout) Modules
●
    Context http://drupal.org/project/context
●   Display Suite http://drupal.org/project/ds
●   Panels http://drupal.org/project/panels
Text Editor
Use anything that doesn't make you
want to punch someone in the face.
Build me a theme!
Steps to Making a Theme
1. Communicate with your whole team.
2. Plan your data structure.
3. Use wire frames to prove what you're saying about how the
   site ought to be built.
4.Build the site (ignore the theme).
5. Convert your wire frame to a grid layout.
6.Build out the HTML fragments in the relevant tpl.php files.
7. Apply your theme to the site.
8.Refine as necessary based on the UX.
Domicile
●
    Designed by Betty Biesenthal.
●   Themed by Emma Jane Hogbin.
●   Available from http://drupal.org/project/domicile
●   Described in Drupal: a user's guide
Forensic Theming - DrupalCon London
Forensic Theming - DrupalCon London
Forensic Theming - DrupalCon London
Theme Folder

sites/example.com/themes/theme_name
   theme_name.info
   page.tpl.php



Also: sites/all/themes/base_theme
theme_name.info (1 of 2)
name = D7SBE - Domicile
description = A three-column design by Design House (www.design-house.ca) and themed by
Design to Theme.
screenshot = screenshot.png
core = 7.x
engine = phptemplate
base theme = ninesixty


; Stylesheets.
stylesheets[all][] = styles.css


; To show the 960.gs grid and debug your theme's layout, delete this section.
; You will be able to remove this when http://drupal.org/node/1032486 is rolled out
stylesheets[all][] = debug.css
theme_name.info (2 of 2)
; Regions
regions[nav_left]   = Navigation (left)
regions[feature_middle] = Feature column (middle)
regions[content] = Content column (right)
regions[copyright_footer] = Copyright notice (footer)


; Features
features[] = logo
features[] = name
features[] = favicon
page.tpl.php
Forensic Theming - DrupalCon London
Forensic Theming - DrupalCon London
Forensic Theming - DrupalCon London
Forensic Theming - DrupalCon London
Forensic Theming - DrupalCon London
Hard Code Relevant Images
Minimum Viable Theme
Locate Properties of Page Elements




Relevant HTML   Page element   CSS styles
source
styles.css
Domicile: the theme
Summary
●   Plan. Think. Build. Test. Theme. Iterate.
●   Use relevant Drupal modules to break up content and display it
    in relevant locations.
●   Use Sweaver to isolate selectors for your CSS files.
●   Use Firebug to diagnose and fix CSS problems.
●   Use Devel to isolate theme functions and variables.
●   Correlate the number of tpl and PHP files you edit to the size of
    your budget and amount of time you have.
The practical guide to building sites with Drupal.



                                              Pre-order eBook edition on




                                                    and SAVE 45%!


                                             Use Coupon Code
                                                          IUGD45
                                                  at Step 3 of Checkout




Available September 2011
Theming Birds of a Feather Sessions
●
    Advanced Theming
    Time slot: 24 August 13:45 – 14:45
    Room 333 Part 1
●
    Front End Development
    Time slot: 25 August 13:30 – 14:30
    Room 333 Part 2
●
    Theming in Drupal 8
    Time slot: 25 August 14:45 – 15:45
    Room 333 Part 2
What did you think?
      Locate this session on the DrupalCon London website:
      http://london2011.drupal.org/conference/schedule


Click the “Take the survey” link

Discounts'n'stuff                                BoFs
45% off Drupal User Guide                        Advanced Theming
www.informit.com Code: IUGD45                    Time slot: 24 August 13:45 – 14:45
                                                 Room 333 Part 1
45% off Design to Theme workbooks
www.designtotheme.com Code: DCLON87488           Front End Development
                                                 Time slot: 25 August 13:30 – 14:30
www.sitebuildingextravaganza.com                 Room 333 Part 2

@emmajanedotnet                                  Theming in Drupal 8
emma@designtotheme.com                           Time slot: 25 August 14:45 – 15:45
                                                 Room 333 Part 2
Forensic Theming - DrupalCon London

More Related Content

KEY
@wcmtl
PDF
Building mobile applications with DrupalGap
PDF
Evaluating Base Themes
PDF
Front-End Frameworks: a quick overview
PDF
Web Design for Literary Theorists I: Introduction to HTML
KEY
Why You Need a Front End Developer
PPTX
Making your site printable: WordCamp Buffalo 2013
PDF
Taiwan Web Standards Talk 2011
@wcmtl
Building mobile applications with DrupalGap
Evaluating Base Themes
Front-End Frameworks: a quick overview
Web Design for Literary Theorists I: Introduction to HTML
Why You Need a Front End Developer
Making your site printable: WordCamp Buffalo 2013
Taiwan Web Standards Talk 2011

What's hot (12)

PDF
Dive into HTML5: SVG and Canvas
PDF
JavaScript-Core
PDF
Web Development for UX Designers
PDF
Javascript Libraries
ODP
Drupal distributions - how to build them
PPT
Lecture 3 Javascript1
PPTX
Bootstrap 5 ppt
PDF
Clojurescript slides
PPTX
From PSD to WordPress Theme: Bringing designs to life
PDF
Designers & Developers
PPTX
Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...
PDF
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
Dive into HTML5: SVG and Canvas
JavaScript-Core
Web Development for UX Designers
Javascript Libraries
Drupal distributions - how to build them
Lecture 3 Javascript1
Bootstrap 5 ppt
Clojurescript slides
From PSD to WordPress Theme: Bringing designs to life
Designers & Developers
Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
Ad

Viewers also liked (20)

PPTX
Buenas practicas de uso de agua en servicios
PDF
habitats_fluviales_red_URA.pdf
PPT
Presentacion Jornadas As Sistema
DOC
Ficha 9
PPT
Vip BLD (Business Link Direct)
DOCX
Practica de biologia n°01
DOCX
Columnas
DOC
Act 2 blog
PPTX
Quik Venues
PPS
Pescado fresco
PPTX
Presentació2102n1
PPT
Trabalho final roseny
PPTX
Correcciones logistica
PPTX
HERRAMIENTAS DE LA WEB 2.0 PARA CREAR Y PUBLICAR ARCHIVOS
PDF
Comp aula02 penal_comp
 
PDF
eMarketer_China_Digital_Ad_Trends-Multiple_Forces_Driving_Growth
PPT
T Ips Metodologia Formacion Proyectos 1
PPT
Carlos verdun merchandising
PPT
Rodriguez sabina e2 modificado
DOCX
Memento
Buenas practicas de uso de agua en servicios
habitats_fluviales_red_URA.pdf
Presentacion Jornadas As Sistema
Ficha 9
Vip BLD (Business Link Direct)
Practica de biologia n°01
Columnas
Act 2 blog
Quik Venues
Pescado fresco
Presentació2102n1
Trabalho final roseny
Correcciones logistica
HERRAMIENTAS DE LA WEB 2.0 PARA CREAR Y PUBLICAR ARCHIVOS
Comp aula02 penal_comp
 
eMarketer_China_Digital_Ad_Trends-Multiple_Forces_Driving_Growth
T Ips Metodologia Formacion Proyectos 1
Carlos verdun merchandising
Rodriguez sabina e2 modificado
Memento
Ad

Similar to Forensic Theming - DrupalCon London (20)

PDF
Forensic Theming for Drupal
PDF
Theme customisation for beginners
PDF
Intro to Theming Drupal, FOSSLC Summer Camp 2010
PDF
Drupal Flyover, CMS Expo
PDF
There's a Module for That, MIMA Summit 2010
PDF
Spark: Authoring Experience++ in Drupal 7, 8, and Beyond
PDF
Design to Theme @ CMSExpo
PPTX
Ready. Set. Drupal! An Intro to Drupal 8, Part 2
PDF
Implementing a Symfony Based CMS in a Publishing Company
PDF
Architektura html, css i javascript - Jan Kraus
PPTX
Becoming A Drupal Master Builder
PDF
Developing Custom WordPress Themes for Clients
PPTX
Atlanta Drupal User Group (ADUG)
PDF
Decoupling Drupal mit dem Lupus Nuxt.js Drupal Stack
PPT
Freelancer Weapons of mass productivity
PPT
Drupal: an Overview
PPTX
Making Your Site Printable: CSS Summit 2014
PDF
Drupal in-depth
PDF
Responsive Web Design for Drupal, CMS Expo
PPTX
Future proofing design work with Web components
Forensic Theming for Drupal
Theme customisation for beginners
Intro to Theming Drupal, FOSSLC Summer Camp 2010
Drupal Flyover, CMS Expo
There's a Module for That, MIMA Summit 2010
Spark: Authoring Experience++ in Drupal 7, 8, and Beyond
Design to Theme @ CMSExpo
Ready. Set. Drupal! An Intro to Drupal 8, Part 2
Implementing a Symfony Based CMS in a Publishing Company
Architektura html, css i javascript - Jan Kraus
Becoming A Drupal Master Builder
Developing Custom WordPress Themes for Clients
Atlanta Drupal User Group (ADUG)
Decoupling Drupal mit dem Lupus Nuxt.js Drupal Stack
Freelancer Weapons of mass productivity
Drupal: an Overview
Making Your Site Printable: CSS Summit 2014
Drupal in-depth
Responsive Web Design for Drupal, CMS Expo
Future proofing design work with Web components

More from Emma Jane Hogbin Westby (20)

PDF
Managing a Project the Drupal Way - Drupal Open Days Ireland
PDF
Was it something I said?
PDF
PDF
Getting a CLUE at the Command Line
PDF
Lessons From an Unlikely Superhero
PDF
PSD to Theme: The SMACSS Way
PDF
Git Makes Me Angry Inside - DrupalCon Prague
PDF
Git Makes Me Angry Inside
PDF
Was It Something I Said? The Art of Giving (and getting) A Critique
PDF
Beyond the Bikeshed
PDF
Gamestorming Meets Quiet
PDF
Git Makes Me Angry Inside
PDF
Work Flow for Solo Developers and Small Teams
PDF
Speaker Check-in - 3 - Munich
PDF
Selling Hopes and Dreams - DrupalCamp Toronto
PDF
Advanced Layout Techniques @ CMSExpo
PDF
Drupal Help System
PDF
Lessons from Life Coaching for Linux
PDF
Beautiful In Print
PDF
We Economy - Drupalsouth
Managing a Project the Drupal Way - Drupal Open Days Ireland
Was it something I said?
Getting a CLUE at the Command Line
Lessons From an Unlikely Superhero
PSD to Theme: The SMACSS Way
Git Makes Me Angry Inside - DrupalCon Prague
Git Makes Me Angry Inside
Was It Something I Said? The Art of Giving (and getting) A Critique
Beyond the Bikeshed
Gamestorming Meets Quiet
Git Makes Me Angry Inside
Work Flow for Solo Developers and Small Teams
Speaker Check-in - 3 - Munich
Selling Hopes and Dreams - DrupalCamp Toronto
Advanced Layout Techniques @ CMSExpo
Drupal Help System
Lessons from Life Coaching for Linux
Beautiful In Print
We Economy - Drupalsouth

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
KodekX | Application Modernization Development
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Cloud computing and distributed systems.
PDF
Electronic commerce courselecture one. Pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Approach and Philosophy of On baking technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
20250228 LYD VKU AI Blended-Learning.pptx
Chapter 3 Spatial Domain Image Processing.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
KodekX | Application Modernization Development
Understanding_Digital_Forensics_Presentation.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Encapsulation_ Review paper, used for researhc scholars
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Mobile App Security Testing_ A Comprehensive Guide.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Cloud computing and distributed systems.
Electronic commerce courselecture one. Pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Approach and Philosophy of On baking technology
Advanced methodologies resolving dimensionality complications for autism neur...

Forensic Theming - DrupalCon London

  • 1. Design, UX and Theming Forensic Theming Emma Jane Hogbin @emmajanedotnet www.designtotheme.com
  • 2. drupal.org participation ● emmajane ● uid: 1773 ● First look at the Drupal code base: 2003ish. I stole the i18n table structure. ● First Drupal site “for pay”: 2006ish. ● First Drupal socks: 2007. ● First DrupalCon conference: Szeged in 2008. ● First Drupal book: 2009. ● First Drupal core patch: 2010. Removed the “welcome” screen.
  • 3. Really Tiny Web Budgets
  • 7. Workbook Author www.designtotheme.com Discount Code: DCLON87488 Valid to the end of August.
  • 9. Lazy Front End Developer
  • 10. I'll just change this one tpl.php file http://www.flickr.com/photos/gibbons/2500423526
  • 11. Okay ... and a module file?
  • 13. ... everything else too? Bugger. http://www.flickr.com/photos/amagill/3225245292
  • 14. This presentation is not about ... ● Best practices ● Inheritance ● Anything advanced ● HTML5 ● Design ● Photoshop ● Semantic markup ● Web systems ● Responsive Web design ● Theming APIs ● Typography ● Mobile devices ● Grids (maybe a little bit) ● Unicorns ● CSS optimization ● Sprites ● CSS preprocessing ● In-the-browser design ● Rick Astley ● Sliding doors ● PHP ● Gradients ● Hooks ● IE6
  • 15. Advanced Theming Sessions Display Suite Tuesday 17:00 - NodeOne Road - Fairfield Room http://tinyurl.com/dclondon-displaysuite Theming API Tuesday 15:45 - NodeOne Road - Fairfield Room http://tinyurl.com/dclondon-themingapi Responsive Design Thursday 11am - Axis 12 Street - Arnhem Gallery http://tinyurl.com/dclondon-responsivedesign
  • 16. Forensic Theming Best Practices Dissecting Themes
  • 17. Agenda Tools for Forensic Theming Theming Tools Sketchbooks CSS Frameworks Sweaver ● ● ● Wireframes ● Base themes Firebug ● ● ● Data models ● Layout modules ● Devel Themer ● Grid frameworks ● Text editors Theme Building Summary ● Base themes ● Questions/Answers ● Image extraction ● Bonuses ● MVTs ● Forensic styling
  • 20. Forensic Theming Definition: the art of investigating a Drupal page to find out how that thing got there.
  • 21. Two Types of Clues Crime Scene Investigation Working with the rendered page: ● Available CSS selectors. ● Applied CSS styles. Crime Lab Forensics Working with Drupal code files: ● Theme templates ● Module templates ● Hard coded module nonsense
  • 22. Crime Scene Working with rendered pages. You can only look at the effects of Drupal on a rendered page.
  • 23. Identifying CSS Selectors With Sweaver ● Common newbie problem: being able to find relevant CSS selectors. ● Sweaver can be used as a pointy-clicky-non-scary CSS class selector. ● Can save/publish minor changes to CSS to live Web sites. ● http://drupal.org/project/sweaver
  • 26. See How a Selector Will Be Applied Change CSS properties See the changes CSS selector to use in your theme
  • 28. Identifying What's Applied With Firebug ● Common newbie problem: trying to identifying what CSS styles are being applied by staring at code. ● Firebug can be used to identify what CSS is actually being applied to a rendered Web page. ● www.getfirebug.com
  • 29. Locate Properties of Page Elements Relevant HTML Page element CSS styles source
  • 30. Risky Live Firebug Demo ● http://d7.sandbox/sbe-site3/ ● Inspect element. ● Edit CSS properties. ● Edit CSS files. ● Cannot publish changes. ● www.getfirebug.com
  • 31. Other Useful Browser Tools ● Web Developer Toolbar http://chrispederick.com/work/web-developer/ ● IE Web Developer Toolbar http://tinyurl.com/ie-web-dev-toolbar
  • 33. Devel / Themer ● The Cadillac of theming tools. ● Tells you which tpl.php or theme function is responsible for that thing displaying over there. ● http://drupal.org/project/devel_themer ● http://drupal.org/project/devel
  • 34. Point, Click, Analyse 3. Analyse the list of functions, templates, 2. Click on the thing variables, etc which 1. Enable Themer Info you want to control this page element. investigate
  • 35. Investigate What Themer Reveals Also go to: http://api.drupal.org
  • 37. No risky live demo.
  • 39. node.tpl.php field.tpl.php jplayer.tpl.php page.tpl.php
  • 41. I want less yucky markup! Pink sherbert photography http://www.flickr.com/photos/pinksherbet/3372060864/
  • 43. Less Yucky Markup ● European vs American theming ● Inheritance: start with a better base. ● Base theme: mothership ● Modules: Semantic Views ● D6 Modules: Semantic CCK ● HTML5 http://drupal.org/project/html5_tools
  • 46. Wire Frames www.balsamiq.com
  • 47. Data Model http://www.flickr.com/photos/alan-dean/3513723498
  • 49. Want to Learn Grids? Harass @markboulton and tell him to finish his book. http://www.fivesimplesteps.com/ Do it. Right now. Tweet him. And tell him if he doesn't finish his book you're going to build exclusively 16-column, grid-based Web sites until his book his published.
  • 51. Base Theme ● drupal.org/project/ninesixty ● drupal.org/project/fusion ● drupal.org/project/zen
  • 52. Drupal (Layout) Modules ● Context http://drupal.org/project/context ● Display Suite http://drupal.org/project/ds ● Panels http://drupal.org/project/panels
  • 53. Text Editor Use anything that doesn't make you want to punch someone in the face.
  • 54. Build me a theme!
  • 55. Steps to Making a Theme 1. Communicate with your whole team. 2. Plan your data structure. 3. Use wire frames to prove what you're saying about how the site ought to be built. 4.Build the site (ignore the theme). 5. Convert your wire frame to a grid layout. 6.Build out the HTML fragments in the relevant tpl.php files. 7. Apply your theme to the site. 8.Refine as necessary based on the UX.
  • 56. Domicile ● Designed by Betty Biesenthal. ● Themed by Emma Jane Hogbin. ● Available from http://drupal.org/project/domicile ● Described in Drupal: a user's guide
  • 61. theme_name.info (1 of 2) name = D7SBE - Domicile description = A three-column design by Design House (www.design-house.ca) and themed by Design to Theme. screenshot = screenshot.png core = 7.x engine = phptemplate base theme = ninesixty ; Stylesheets. stylesheets[all][] = styles.css ; To show the 960.gs grid and debug your theme's layout, delete this section. ; You will be able to remove this when http://drupal.org/node/1032486 is rolled out stylesheets[all][] = debug.css
  • 62. theme_name.info (2 of 2) ; Regions regions[nav_left] = Navigation (left) regions[feature_middle] = Feature column (middle) regions[content] = Content column (right) regions[copyright_footer] = Copyright notice (footer) ; Features features[] = logo features[] = name features[] = favicon
  • 71. Locate Properties of Page Elements Relevant HTML Page element CSS styles source
  • 74. Summary ● Plan. Think. Build. Test. Theme. Iterate. ● Use relevant Drupal modules to break up content and display it in relevant locations. ● Use Sweaver to isolate selectors for your CSS files. ● Use Firebug to diagnose and fix CSS problems. ● Use Devel to isolate theme functions and variables. ● Correlate the number of tpl and PHP files you edit to the size of your budget and amount of time you have.
  • 75. The practical guide to building sites with Drupal. Pre-order eBook edition on and SAVE 45%! Use Coupon Code IUGD45 at Step 3 of Checkout Available September 2011
  • 76. Theming Birds of a Feather Sessions ● Advanced Theming Time slot: 24 August 13:45 – 14:45 Room 333 Part 1 ● Front End Development Time slot: 25 August 13:30 – 14:30 Room 333 Part 2 ● Theming in Drupal 8 Time slot: 25 August 14:45 – 15:45 Room 333 Part 2
  • 77. What did you think? Locate this session on the DrupalCon London website: http://london2011.drupal.org/conference/schedule Click the “Take the survey” link Discounts'n'stuff BoFs 45% off Drupal User Guide Advanced Theming www.informit.com Code: IUGD45 Time slot: 24 August 13:45 – 14:45 Room 333 Part 1 45% off Design to Theme workbooks www.designtotheme.com Code: DCLON87488 Front End Development Time slot: 25 August 13:30 – 14:30 www.sitebuildingextravaganza.com Room 333 Part 2 @emmajanedotnet Theming in Drupal 8 emma@designtotheme.com Time slot: 25 August 14:45 – 15:45 Room 333 Part 2