J JamesGames.com Drupal 6 Themes
 

Drupal 6 Themes

(Originally Posted 3/26/2009)
By: James Oppenheim | Created: 2012-05-22 12:55:08 | (Updated: 0000-00-00 00:00:00)
Drupal 6 Themes from Packt Press by Ric Shreves is a remarkably disappointing book.

Many authors have tackled explaining the programming and configuration of Drupal websites, but this is the first book dedicated to teaching users how to make Drupal 6 look and feel like their own.

Out of the box, Drupal is an amazing website creation package; it has features that would take years to “reinvent” if you tried to work from scratch. From a technical, back-end , programmer’s point of view it inspires admiration.

When I put my artistic, designer’s hat on, though, Drupal can leave me nearly in tears. Though version 6 radically simplified and improved the design process over the previous edition, learning to skin a dynamically generated Drupal site is still an order of magnitude harder than designing a static web page. Though it is possible, for example, to use Dreamweaver in parts of the Drupal design process, ultimately your snippets of code and css stylesheets are going to need to be channeled to many different locations that on the site that are not readily viewable in a WYSIWYG environment.

In other words, to effectively give a Drupal site a makeover you need to know everything you’d need to do to design a regular website, plus a wealth of information about the “how” and “where” Drupal needs you to follow to get your vision integrated into its content management system. From a technical point of view, the way Drupal gives granular control of the design process without the need to hack the core code is an engineering marvel. Harnessing that power, particularly given the state of the online documentation is challenging.

It is for that reason that, even after working with Drupal for over a year, I looked forward to Ric Shreves Drupal 6 Themes. It is also why I am so profoundly disappointed by this ill-conceived book.

When I first picked up the book there were immediate red flags. In the preface, under the heading “Who is this book for?” the short paragraph that follows doesn’t answer that question directly. Is this a book for designers? For programmers? For beginners to Drupal? For intermediates? Instead, the section explains that for a designer to theme in Drupal “a basic knowledge of PHP will be helpful”. Frankly, most designers I know don’t fit into that category and have little interest in wading through Fundamentals of PHP and MySQL, let alone PHP for Dummies. I think most of them coming to this book are looking for an author to step them through the basics of what they need to bring their vision to fruition in Drupal – even if this means spoon feeding them some basic PHP.

More intermediate users are going to want to know about how to completely revamp the look and feel of Drupal: How do you change the look and feel of the Tabs and Menu systems, for example; the interrelationship between themes, views, and CCK fields, for another. How do you integrate the color picker functions into your own themes? What is the best workflow? What advanced tools are available, and how do you use them? You’re not going to find this level of advice here.

Advanced users might want to see a dissection and annotation of the more advanced themes and how they work. The forums at Drupal.org are simply filled with requests of this sort from users who tried to modify some of the included themes only to find them as difficult to navigate uncharted as the Sargasso Sea.

By failing to adequately target a typical reader of the book the author languishes without focus, specificity, or purpose. The first three chapters of the book feel more like a regurgitation of on-line documentation, without adding much new information or clarity : In general terms, how does the theme system work? How do you install a download and install a theme? How do you turn on blocks and modules?

Things begin to break down early in Chapter 3, “Working with Theme Engines”. The introduction to the PHPTemplate engine is alright as far as it goes (covering ground already well tilled in virtually every other Drupal book) but it does not concisely take the lesson to the next level with explanations and examples that one would expect in a single topic volume.

Actually, despite the plurality suggested in the chapter heading (“Theme Engines”), the author focuses almost exclusively on the PHPTemplate engine, devoting only two and a half pages to alternatives. Since he gives no examples to contrast the engines and speaks only in generalities, why bother to mention them at all beyond a simple statement such as: “the consideration of alternative theme engines is beyond the scope of this book”, an approach he uses elsewhere in the book.

By Chapter 4, “Identifying Templates, Stylesheets, and Themable Functions”, I could feel the book go through a schizophrenic shudder, as it abruptly shifted from the “beginners guide” to advanced user’s “bible”. Forty-five pages are devoted to listing theme elements in Drupal, without explanation or example. At best, this material might have been useful as an appendix, but the leap from “how we turn on an theme” to “provides a div for standardizing indentation” is simply too great. Likewise, this chapter seems to be conceived alphabetically- starting with a description of the theming the “Agregator Module” (try asking most designers what the heck that is) rather than the all important Page.tpl.php file that controls nearly every page on the site. Again, it felt as if this material had been lifted from on-line faqs and documentations and inserted here without much amplification or explanation. Certainly, the tone and manner of the chapter bears nearly no relation to the preceding chapters. Much of it is written in phrases, not even sentences.

Things improve somewhat in the next two chapters. Almost without explanation the technospeak of Chapter 4 is dismissed and the author gives some specific examples of how to modify themes. There is a lot of material missing here: the relationship between Ajax and themes is the most glaring omission. It is hard to imagine a book on theming Drupal that doesn’t spend time on formatting “tabs” or “menus”, but Shreves avoids these topics. Likewise, there isn’t an index entry for theming CCK fields, panels, or views (though they are mentioned in the appendix) – and these modules are considered by many to be nearly indispensible elements in Drupal Site building.

Another glaring omission are third party tools that purport to make theming easier for the beginner. I would include some reference to Artiseer 2, here, perhaps including one of the Artiseer themes, how it works, and how it might be modified.

An appendix to the book entitled “A Themer’s Toolkit” encapsulated many of the faults of the book as a whole. Knowing about the Devel Module, for instance, is important. But, knowing how to use it is even more important. The three short paragraphs plus one “tip”, barely scratch the surface. Similar, even shorter, blurbs do little more than acknowledge that other modules that would be useful to the theme developer exist. Invariably, these “descriptions” are followed by a weblink where you can learn more. For many readers, the reason we bought this book in the first place was the insufficiency of the on-line material. So, let me save you some time. For basic Drupal 6 Themes, see more at the Drupal handbook on theming, and keep the $39.99 in your pocket.
 
- details -
Publisher:
Packt Press