New Adventures in Drupal Theming

2,308 views
2,186 views

Published on

These are the slides for the presentation I gave at DrupalCamp Chicago 2009. http://www.drupalcampchicago.org/sessions/new-adventures-drupal-theming

In this session I’ll present a roadmap to learning Drupal Theming. You won’t learn everything about Drupal theming, but you will learn that you don’t need to know everything in order to start building Drupal themes.

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,308
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
77
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

New Adventures in Drupal Theming

  1. 1. Designing for Drupal ! Overview of the Layer Drupal Theming ! Implementation Details ! Templates ! Preprocessors ! Base Themes ! Where to go for help
  2. 2. Theming Example
  3. 3. Theming Example
  4. 4. More Zen Examples
  5. 5. More Zen Examples
  6. 6. More Zen Examples
  7. 7. Drupal Design
  8. 8. <?php print "with some PHP" ?> Drupal Design
  9. 9. Drupal’s Theme Layer (the big picture)
  10. 10. Example Theme
  11. 11. Structure of page.tpl.php
  12. 12. Structure of page.tpl.php CSS style sheets Search box . Title Conditional Info content
  13. 13. Where do page.tpl.php variables come from?
  14. 14. What do you need to know? • Your theme doesn’t need all the templates • You don’t need to learn all the variables • Let Drupal’s architecture build parts of your theme
  15. 15. Copy, Override, Modify Templates and CSS are pulled from lower layers. Unless they are overridden in your theme.
  16. 16. Preprocess Functions modify variables using a function: [theme name]_preprocess_[hook] e.g. example_preprocess_page
  17. 17. Preprocess Functions Page Variable modifications modify variables using a function: [theme name]_preprocess_[hook] Node Variable e.g. example_preprocess_page Additions Put preprocess functions in your theme’s template.php
  18. 18. What was the part in the middle? http://drupal.org/theme-guide
  19. 19. Base Themes Powerful Frameworks for Beginners and Power Users
  20. 20. Benefits of Base Themes • You don’t have to build everything yourself. Copy, override, and modify only what you need to. • Bug fixes. Others can fix any bugs in the base theme. • New features. For contrib Themes, there will occasionally be new features. • Support. If you have modified an existing theme, sometimes the only answer you will get to your support question is “Well, it works fine in the original theme.” • Rapid Theme Development. Many things are built for you.
  21. 21. http://drupal.org/project/zen
  22. 22. Why use Zen? • Designed for beginners and Theming ninjas. • Extensive on-line documentation. • Step-by-step instructions on building your own sub-theme. • Extensive in-line comments in its PHP and CSS files. • It’s also got a laundry list of features. (which are exciting to use, but boring to list.) • A fantastically flexible CSS Layout method (that even works with IE5.5.) • You just met the developer.
  23. 23. Why use Zen? • Designed for beginners and Theming ninjas. • Extensive on-line documentation. • Step-by-step instructions on building your own sub-theme. • Extensive in-line comments in its PHP and CSS files.
  24. 24. Brief overview of Zen’s Layout method • Source-ordered HTML: The importance of the pieces of content determines the order in HTML, and not the graphic design. • Flexible layout options: • Fluid (100% width) or fixed-width layout • Optional horizontal navbar • 1-3 columns built-in. More columns are possible without mind-bending contortions. • Zen’s default Layout Method is completely pluggable. If you don’t like it, just replace the layout.css file with your own layout method: YUI, YAML, Jello Mold, Holy Grail, etc.
  25. 25. Brief overview of Zen’s Layout method • Source-ordered HTML: The importance of the pieces of content determines the order in HTML, and not the graphic design. • Flexible layout options: • Fluid (100% width) or fixed-width layout • Optional horizontal navbar • 1-3 columns built-in. More columns are possible without mind-bending contortions. • Zen’s default Layout Method is completely pluggable. If you don’t like it, just replace the layout.css file with your own layout method: YUI, YAML, Jello Mold, Holy Grail, etc.
  26. 26. Brief overview of Zen’s Layout method • Source-ordered HTML: The importance of the pieces of content determines the order in HTML, and not the graphic design. • Flexible layout options: • Fluid (100% width) or fixed-width layout • Optional horizontal navbar • 1-3 columns built-in. More columns are possible without mind-bending contortions. • Zen’s default Layout Method is completely pluggable. If you don’t like it, just replace the layout.css file with your own layout method: YUI, YAML, Jello Mold, Holy Grail, etc.
  27. 27. Negative Margins (and positive results) ( These blocks have float: left; )
  28. 28. Negative Margins (and positive results) ( These blocks have float: left; )
  29. 29. Negative Margins (and positive results) ( These blocks have float: left; )
  30. 30. Negative Margins (and positive results) ( These blocks have float: left; )
  31. 31. Negative Margins (and positive results) ( These blocks have float: left; )
  32. 32. Negative Margins (and positive results) ( These blocks have float: left; )
  33. 33. Getting Help http://drupal.org/theme-guide http://drupal.org/project/zen http://drupal.org/irc #drupal-design #drupal-themes #drupal-support #drupal Ask Questions!

×