Article for conference booklet:
Node templating in Drupal currently exists in a strange place which is simultaneously theming, UI administration, and coding. If you find yourself struggling at times with the need to take more control of node displays, this session will demystify this portion of the theming system and present options and best practices for handling many node templating needs. We will discuss not only node templating itself but also taking control of the variables used in node templates as well as ways to avoid node templating (the best node template may be using the default one!).
Some of the modules which will be discussed in their relation to node templating include CCK and its assorted field modules, contemplate, views, panels, and devel.
We'll look especially at creating your own node template files for your theme, using template.php to add or modify the template variables, and overriding the themeable functions related to node templates in order to customize such components as the taxonomy or links components of node displays.
Node templating is work which should be done only when truly necessary. We'll demonstrate ways to avoid node templating, such as making good use of CCK and Panels 2. Using CCK to its maximum value is the first step in all node displays. Good use of Panels 2 is also very valuable and we'll show how to take over node displays with Panels and the conveniences that result from doing so. We'll look closely at how CCK handles field displays and show how to still make the best use of this great convenience even when custom templating is necessary.
Looking beyond full node displays, we'll discuss templating for teasers as well as views-specific node templating.
Some useful API functions will also be introduced which can be conveniently used for templating.
Bios for conference booklet:
Jody Hamilton is partner and Lead Developer at Zivtech, a Drupal development shop in Philadelphia. She has been building sites, theming, writing modules, fixing bugs and consulting on Drupal for two years and is essentially a Drupal generalist. Her Drupal username is Lynn.