DrupalCon Denver 2012: THEME PREPROCESS FUNCTIONS: AN INTRODUCTION
Channel: Drupal Association
Date: 28/03/2013

How many times has this happened to you: You're theming a Drupal site, writing your CSS and making a few changes to the tpl files here and there. Everything is going great, then suddenly you realize you need to change one of those things that starts with a "$" inside those funny-looking php tags. Panic! You exclaim... "Crap! Where does php print $content; come from?! How do I change it?!" or maybe... "Crap! I need to have an extra CSS class on this body tag that depends on the taxonomy of the node on the page! Is that possible?!" or perhaps even... "Crap! I need a dropdown on a node edit form to change the way how a differet image field is rendered! How can I get that working?!" Sound familiar? Preprocess functions are the diplomats of Drupal themes. They are the missing link between what happens in the modules, and what gets sent to the template files. Goals: In this session, we'll dispel PHP fears, and get our feet wet with a little code that goes a long way to helping out with improving the flexibility of our theme. Prerequisites: Some experience with Drupal theming, general understanding of the templating system, good understanding of HTML and CSS, some basic familiarity with PHP. If you have a good grasp on the topics from from my proposed introduction to theming session, this is probably for you. This session was presented at BADCamp 2009, DrupalCon San Francisco 2010, DrupalCon Copenhagen 2010, BADCamp 2010, SandCamp 2011, and DrupalCamp Colorado 2011

Questions answered by this session: 
Blimey! Where do theme template variables come from?
Aha! How do I take control of theme template variables?
Glorious! How do I create logic and pass information between templates?
I'm starving! Where are we going for lunch?
I'm bored! Do you want to go skiing?