Theme preprocess functions: an Introduction
Video by Variant Studios
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!
"Crap! Where does <?php print $content; ?> come from?! How do I change it?!"
"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! This View is perfect, and it even says which posts are unread, but I need to have the background color for unread item to be different! 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