I am now creating my 5-th site in Drupal, three of them being pretty big and totally custom. So using a free or even premium theme was not an option. Each section of the site looked so much different that if i would cover logo and name of the site, you would probably think twice before saying thats its the same site. Obviously i made a lot of mistakes, but as they say “The best way to learn is from your mistakes”. So let me share with you some of my mistakes and what i learned from them, plus some of the modules that i found really useful.
Start with free blueprint theme this will give you a starting point so that you will have all the elements on the page but without actually having any design, so that when you start putting in your design you don’t have to fight with legacy code from the theme.
Next very important step is going to be to install Admin Menu. This module is so important that it was included in core of Drupal 7.
Theming the site
There are few must have tools (Modules) in this area. You will need Devel Module to see whats going on under the hood of your drupal site what templates and what functions are used and which names you could use to override those. Another module that i find myself using a lot is Views. I use it for two entirely different purposes, one to create a custom block or a page. Another use is not so “Drupal”, sometimes you have no other choice but to stick in a SQL query into your theme, but the problem you will encounter is Drupal is so flexible and generic that sometimes to get one entry from the database you will need to connect and join three, four or even five tables, so to write the SQL query by hand will take you a while, here is where my second use of Views comes into play, there is an option to show you the SQL query the view runs while generating content you requested, so you could just copy it and stick it into your theme.
Other Modules i use:
- Token – Used mostly by other modules
- imageapi – Used by other modules
- Disqus – substitutes the default comment system with the one from Disqus which lets your readers comment by login in with their Twitter, Facebook login or others, plus it lets you have the conversation all across the web, i find it truly amazing.
- CCK – Lets you add custom fields aside from title and body
- filefield – File type of CCK Field
- imagefield – Image type of CCK Field
- imagecache – Lets you show the same image in variety of sizes, based on presets
- Poormanscron – runs the cron jobs for you (will be included in core of Drupal 7)
- pathauto – automatically generates aliases
- globalredirect – makes sure that node/10 takes you to node10alias, so that there is only one URL to unique content
- webform – If you are planning to have any forms on your site
- webformblock – If you want to show the form in a block, versus a whole page
As i continue to make more mistakes (read learn) i will continue to share more lessons i learned. If there is anything you would like to share or ask, feel free to do so in the comments.
If you liked this post you might want to read the part 2.
Related articles by Zemanta
- How to add a custom login box into your Drupal theme (lichtman.ca)