DrupalCon Munich 2012: Dominate The Theme Layer
Channel: Drupal Association
Date: 29/03/2013

Looking for nitty-gritty code? I created a toolbox with 500+ lines of documented code, that goes with the session.Tools are available at Github.com: https://github.com/woeldiche/domination_tools/

Feel free to copy, re-use, fork or send me pull-requests with more examples and bug-fixes.

Drupal's theming layer is a powerful and beautiful beast, but it requires a firm hand to really behave. New themers often start out trying to control it with a light touch and gentle strokes of CSS. Only too late do they realize their error...

All too often the result of this misguided approach is bloated and inefficient CSS and JavaScript and site out of control. By the time the themer realizes what the beast have done, it might be too late to fix.

Don't let Contrib bully you around. Grab the reins, create a frontend architecture and teach the theming layer to produce lean, extendable, high performance markup and CSS that is easy and cost-efficient to maintain.

This session is about learning to take charge.

In this session
Techniques and workflows for domination.
Principles and benefits of a CSS architecture with inspiration from object-oriented CSS and SMACSS.
Base your frontend on relevant design and business goals instead of back-end architecture.
Designing your frontend for extensibility.
Avoiding common pitfalls and dangers when working with Drupal.
Tools of domination
The session will supply attendees with a range of useful tools and techniques of domination to make the beast behave, including preprocess functions, theme function overrides and templates.

Tools are available at Github.com: https://github.com/woeldiche/domination_tools/

Feel free to fork, comment or send me pull-requests with improvements and bugfixes.

Intended audience
The session is aimed at beginner and intermediate themers, but also designers and site builders interested in transitioning from design to theme and building views and panels for extensibility and existing CSS.