I am thinking about developing a custom theme for any Drupal site I am focusing on. I'm a new comer to Drupal, however I've got a decent little bit of experience when controling the actual concepts it appears are essential to construct a style (CSS, PHP, HTML).
So, my real question is - where will i start? It is possible to canonical help guide to creating Drupal styles? Assets which i should know (apart from the Theming Guide)? Gotchas that others have experienced, or simply general words of knowledge from individuals who're more knowledgeable?

Begin with a starter theme after which build you have on the top it. Here is a comparison table of various starter styles.

Update: Gleam starter theme review with screenshots, in which the author describes them:

Starter or "base" styles really are a class of styles that aim to provide best-practices beginning points for themers to construct unique designs. Most incorporate a common group of features essential for most sites, assisting to minimize the repeating a themer re-creating many similar files, markup and code for every project.

Can I suggest you install the DEVEL module http://drupal.org/project/devel

It can provide you with some really informative clues the way your page has been come up with.

Additionally, it has a really helpful feature known as DRUAPL THEMER INFORMATION, that when triggered allows clicking on areas of your page, and informs you what items of code did what.

My second tip is try to make your own node type templates, after which discover the way the node data works.

For instance within the theme folder produce a new file known as node-story.tpl.php


     print "<textarea cols=100 rows=30>". print_r($node,true) ."</textarea>"

# or krumo($node) # for those who have krumo installed

     print "<h1>". $node->title ."</h1>"

    print "<p>" . formdat_date($node->created,"custom", "d/m/Y) ."</p>"


The easiest method to get it done is to begin with a style, and modify it piece by piece. That's how most people whom I understand get it done. You are taking the styles/garland directory and copy it to sites/all/styles/garland-modified, then you definitely change a couple of things inside it to mirror the brand new change (in principle you relabel the .info file towards the new directory location and also you edit it to alter garland for your new directory), then you definitely go piece by piece and alter things within the files to mirror your design.

This might appear tiresome along with a total waste of time (why don't you just begin with scratch?) but there are several advantages:

  • starting with a functional theme
  • starting with an entire theme, wich everything you might want
  • you do not chance of failing to remember pieces that are needed to possess a working site

You will find starter kits which are meant to make things simpler (begin to see the zen theme for instance) that you simply essentially edit similarly I layed out above. However I found them a little harder to know...

Have fun with Drupal theming :)

There's a learning curve, but I would suggest starting with the Zen Theme with a theme starter package incorporated. Buy the Drupal 6 Styles Book, Using Drupal Book and Front-end Drupal also it should enable you to get pointed in the right direction.

I have been learning it for nearly 5 several weeks now (from the Joomla world) and I've discovered it useful to become familiar with the Drupal system by really dealing with the good examples by using Drupal and also the Front-end Drupal Book. It got me up to date how the machine works, from setting up modules, to setting up modules and establishing permissions and all sorts of the how to's for creating styles.

Finding out how to setup a Drupal website is pertinent to building and implementing sites with Drupal in addition to theming sites since the led modules along with the core ones need to be over written with your personal styles. Many people enter into Drupal convinced that Drupal Themers are Designers but they're not. Many of them are developers with little if any design experience and also have another person hands a pre-made design for them and they go integrate with Drupal. You'll have to have, xhtml, css plus some php experience to theme for Drupal. I really hope this can help.