Adapted using slides from Emma Jane Hogbin, http://emmajane.net. See her full presentation here: http://munich2012.drupal.org/program/sessions/evaluating-base-themes
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
The drupal theme layer
1. The Drupal Theme Layer:
What’s the Deal?
UMass Drupal User Group, December 6, 2012
Slides from Emma Jane Hogbin’s “Evaluating Base Themes” presentation at
DrupalCon Munich, August 2012
Adapted with permission by Johanna Bates
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31. Resources to Check Out
• Emma Jane Hogbin
• Drupalcon Munich, 8/2012:
http://munich2012.drupal.org/program/sessions/evaluating-base-themes
• http://emmajane.net, @emmajanedotnet, emmajane on Drupal.org
• D7 Base Theme Comparison Chart:
http://drupalwatchdog.com/2/1/drupal7-starter-themes
• IRC Theming Support Channels: #drupal-themes, #drupal-
adaptivetheme
• The theme layer is changing in D8! Twig has been committed to
core! Layouts based on Panels functionality are being incorporated
into core as well. Get more involved here:
• IRC: #drupal-ladder, #drupal-twig
• Drupal Ladder: http://drupalladder.org/
• http://drupal.org/community-initiatives/drupal-core
Editor's Notes
I’ve prepared a presentation that I can tweak based on interest and the amount of time we have. The first part is an adaptation of EMH’s DrupalCon Munich Aug 2012 presentation – got her permission to adapt and share this with you Frame for understanding base themes Tells us a lot about core and the theme layer Includes some really interesting short survey put to prominent base theme developers At that point, we can go on to talk about how to evaluate base themes for use in projects OR We could dive in and look at two base themes in action on live D7 sites I will finish up by mentioning some D8 things going on WRT the theme layer.Specific requests? Please feel free to interrupt me to ask questions!
Final say on what appears on the site. View Source – see this in action. Stacks! Cascades! Layers! Load order. Fun times.
Use cases for not using base themes, for sure, but for standard builds, it can be a best practices (JR example if needed). More importantly: These three categories help reveal some of the good and bad things about core and the current state of the theme layer. Current state of the theme layer is widely regarded in the Drupal community as being pretty far from ideal. Attempts to address that I can discuss later.
Very light and simple. Complex layout stuff is left to modules (John Albin believes this is best, i.e. ZenGrids is separate; plays well with Panels by staying out of the way.) Attempts to optimize Drupal core markup, make it as semantic as possible – best possible foundation to build on. Hand-coders often find these easiest to work with. Tells us about Drupal core: Bad: Core markup is far form WordPress-approachable; if you’re not steeped in Drupal, you may have trouble with these Good: Core is flexible.. Can be optimized for hand-coding, or other kinds of theme-building
Adapts the structure of core to make it best for your needs Then you can decorate it
Offers easier layouts for those who like these frameworks – makes theming more accessibleDrupal core Good: Again, core is flexible. Example: 960 not in core. Good thing, as we will see. Technologies & best practices change quickly. Bad: Again, shows what is needed to get multi-column layouts working in Drupal.
You’re using someone else’s structure. You’re not renovating, just decorating.
WordPress-like—much is clickable in the UI. Can use custom code, but can create complex layouts without it. Omega is the extreme example of an Annex theme. AT is like the Zen-most version of an Annex theme, as it supports but doesn’t require other modules. It can be dialed back or extended out via the UI.Drupal Core: Good: Flexible! The fact that you can throw all this on top of core and have it work is amazing. Bad: To get to this approachable-theming level, the theme layer is doing a lot of heavy lifting, using volatile systems that may change before the base theme life is up (responsive)
Like living in a group of structures with other families: you get benefits, but also shared problems
Optimized foundation. Will likely vary based on project, clients, developer skills, etc.
Shouldn’t have to hack anything out—just build on it/decorate it/enhance it.
AT this point: Talk about how to eval base themes? Look at live examples of D7 HTML5 versions of AT and Zen? Talk about D8? Questions? Needs?
Left column, not right column. Also, it’s smart to check on core and take into consideration what concepts and technologies might play nicely with D8: http://drupal.org/community-initiatives/drupal-core
There are charts available, but it’s important to make your own chart that takes into accountyour project’s immediate and long term needs and your skills. Also, it’s smart to check on core and take into consideration what concepts and technologies might play nicely with D8: http://drupal.org/community-initiatives/drupal-core