Drupal 6 Themes, by Ric Shreves (book review)
I have recently read Drupal 6 Themes and thought I would post a few wrapup thoughts about it. It is written by Ric Shreves and published by Packt Publishing.
The title describes the book well. It is a valuable overview of the architecture of themes and how to get started building your own themes. This book would be good for people who are familiar with HTML & CSS, and new to Drupal and PHP. I didn't notice any typos or coding errors, which is always a good thing.
The first two chapters get the newcomer introduced to the purpose and functionality of themes, and how they relate to the rest of Drupal.
Chapter 3, Theme Engines, talks mostly about the PHPTemplate theme engine, and mentions Smarty and other template engines. Unfortunately, there are no examples of their usage other than PHPTemplate.
Drupal comes with default templates and markup. Becoming familiar with this markup and Drupal's default CSS can make it easier to customize your theme. Chapter 4 and appendix A are helpful for this.
Chapter 5 presents some essential information on overriding default templates and functions.
Chapters 6 and 7 are probably the most hands-on chapters, and likely provide the best of why most people are reading this book. These chapters include real examples of how to build a theme from the ground up.
Chapter 6 introduces the reader to subtheming, which is generally the most recommended way of theming -- subtheming a solid base theme such as Zen, Ninesixty, Basic, or now Fusion.
Chapter 7 presents a good walthrough of the static and dynamic elements of template files. It would be nice to have a consolidated template, presented all at once, with annotations or comments.
Chapter 8, Dynamic Theming, presents a good introduction to how template suggestions work. Examples: page.tpl.php vs page-story.tpl.php, node.tpl.php vs node-edit.tpl.php vs node-2.tpl.php.
Chapter 9, Working With Forms, is the chapter that I thought held together the best and was the most interesting and useful. It presents several methods of manipulating forms, and provides good examples.
Finally, if you have not built your first theme or subtheme yet, this book will help, and will point you to other resources that you will need.