I've been using Twitterfall to track a number of topics lately, including Drupal, and I've noticed a couple of widely held beliefs. One is that Drupal is hard to install and the other is that Drupal themes suck.
The first complaint I'm going to generally dismiss with "you forgot to read the instructions." System requirements are there for a reason, and if you meet them and follow the directions, installing Drupal takes about two minutes. Customizing it will take as much time as you choose to spend.
The second complaint I'm going to use as an excuse to write a long-promised but brief book review, along with some thoughts about the state of visual presentation in the world of Drupal websites.
Drupal doesn't impose any particular "look" on a website, regardless of what you may have heard. The Drupal pattern is to provide a default, then allow an override. This approach applies to pretty much everything, opening the door to complete customization, and this is at least as true of the presentation layer as anywhere else in the system.
At work we've been using Drupal to build websites for our newspapers and radio stations, so I'm pretty well acquainted with its strengths and weaknesses. I don't think you can claim http://www.cjonline.com/, which relaunched last week, looks anything like a blog. Or http://www.pinkspage.com/, http://teamsugar.com/, http://www.skirt.com/, http://www.theonion.com/ or any of hundreds of other examples I could cite.
And yet "Drupal themes suck" has an element of truth to it. The universe of free, downloadable themes for Drupal is not very big, and some of the themes are just plain awful.
Why is that? I think there are several powerful reasons:
- Drupal is a wonderful playground for code developers. By and large, code developers are bad graphic designers. It's almost as if loving beautiful code structure keeps you from loving beautiful visual design. So the Drupal development community, huge and diverse though it may be, is not fertile ground.
- A pro-am divide. There are many great website designs implemented in Drupal -- for high-end, paying customers. The resulting professionally developed themes are part of the visual branding of the customers' products. They will not be released. Many of the released themes come instead from people who are teaching themselves to write CSS on the fly, and tinkering with their own blog design to do it. The result is predictable.
- Themes don't benefit from contributions like modules do.
- Drupal theming is scary.
That last point brings me to the book: Drupal 6 Themes: Create new themes for your Drupal 6 site with clean layout and powerful CSS styling, by Rick Shreves (Packt Publishing).
I generally don't turn to books to help me figure out computer problems; there are lots of Web resources. In the case of Drupal theming, I've been able to rely on Web documentation.
But I have an advantage that a lot of designers don't have: I'm fairly adept at PHP and not at all afraid to dive into the deep end of the pool.
As Drupal's theme system has grown more sophisticated, the Drupal documentation team has struggled to tell its story. A major rewrite of both the theme system and the theme guide for Drupal 6 inadvertently made it all harder for designers, because the documentation is aimed more at the journeyman Drupal developer than at a guy whose strengths are outside the world of coding.
Drupal 6 Themes takes a designer's point of view and walks -- very slowly, at first -- through the sometimes bewildering process through which Drupal transforms database content into presentations. It explains the modularity of the system, the way optional microtemplates can override the presentation of just about everything.
This isn't code-free by any means; if you intend to go down this road, be prepared with a solid understanding of contemporary HTML and CSS. And, because the book concentrates on the PHPTemplate engine, you should know at least enough PHP to understand conditional statements (if-then-else) and how to print $variables.
You'll also need to understand that Drupal theming is a bit like skiing. If you fight the mountain, it will win.
But if you have what it takes to make it through the book, for less than $40 and a bunch of your time you'll have positioned yourself to do something about that "Drupal themes suck" problem. And given the growing demand for competent Drupal site designers and themers, you'll have broadened your own career options. Not a bad thing to do in this economy.
Comments
an explanation of Drupal negs
One Word: Community
Ease of theming
I actually find Drupal theming easy -- well, easier than getting pages to display properly on Internet Explorer 6. I can't compare it with theming Wordpress, as I don't do that, but I do see why some people would find it overwhelming at the start, especially if you start overriding theme functions in template.php. D6 makes that a whole lot less scary, but you still need to know what you're overriding.
As for Smarty (and the other non-PHP templating engines) -- Ack! It seems a whole lot easier to just print $variable when you need it.
Related: Don't Let Drupal Design Your Site
Drupal is way too geeky out of the box
Added to DrupalSightings.com
A Topic That's Been on My Mind Lately...
CVS is evil, but ...
CVS is evil. Learning Russian would be easier.
But the change rolled into production this week helps a lot.
If you're a contributor, there's a new "CVS instructions" tab on your project page.
It gives you a dropdown to select from any branches/tags you've created, then generates personalized CVS commands that you can cut/paste to check stuff in, check out, create releases, generate diffs, et cetera.
Its almost like
drupal themes don't suck
You have no control over where the comments go
Guys, I've been using
So True
Because it was written by programmers, for programmers
Long standing and all over
Drupal theming sucks
Incorrect
You can create a theme with nothing more than an info file and a CSS file.
The only time you would need to install a module in order to use a downloaded Drupal theme would be if the theme required an alternative template engine, such as PHPTal or Smarty. Few do.
I think you misunderstand the purpose of the template.php file. It's not for providing page templates, and it's entirely optional, as are all the *.tpl.php files. You theme only the parts you want to change.
Some points to make...
MrX
Drupal is written for everyone, yet pleases no one
Kind of odd
"Pleases no one" is rather at odds with the meteoric rise of Drupal as a major-league CMS over the past year.
4. Drupal theming is
4. Drupal theming is scary.
Just at the beginning. After that, drupal theming system is really flexible and powerful.If Drupal has a lot to learn
It is obvious to me that the