Dear all,

I have a question which may seem rather bizare to the more frequent users of Drupal, but I am running into a bit of difficulty understanding how to fully utilise drupal.

The main problem I have had is that when I install the Drupal software on my server and load it up, the page looks like a blog. It makes me think that all I can do is make a blog and it's frustrating when I see that it is actually possible to make a website and I don't understand how.

My main question is: Can you all please provide me with some useful links to tutorials/documentation on exactly HOW I make my new drupal installation work like a proper website? What I want to be able to do is the following:

1) Have a variation of pages throughout the site. Most would follow a similar layout, but I need about 3-4 variatons
2) How do I set-up the page and create "zones". I know there is the block feature and I've looked through the .tpl (i think) files, so do I just have to edit those or what? I normally code my web-pages with css/html by hand to get the layout and then use php to fill in the spaces
3) How do I add custom code to certain areas? Am I fully restricted to installing modules that other people provide? Or can I add my own content into a block (i.e. query the database and get information on the current user and display custom information from the DB in a panel somewhere). Basic example, but I'd like links to content for this too.

I think that is all the basic things I would like to know. I am not so much worried about the quantity of links I am given but I really want high quality links to stuff I can read that will really make me understand. I am REALLY struggling to get my head around how to use Drupal to make websites efficiently. So far it seems so much faster to make them the way I have with hand-made code, but I am expecting to be proven wrong :)

Many thanks in advance

Comments

karschsp’s picture

The front page of the out-of-the-box Drupal install gives you the "river of news" or blog-like look. You can change the front page by going to Configuration -> Site Information.

1) Have a variation of pages throughout the site. Most would follow a similar layout, but I need about 3-4 variatons

You can certainly do this with a custom theme, but you may also want to check out the Panels module (http://drupal.org/project/panels), which offers a point and click interface for laying out your site and determining variations based on context (page being viewed, user role, etc etc).

2) How do I set-up the page and create "zones". I know there is the block feature and I've looked through the .tpl (i think) files, so do I just have to edit those or what? I normally code my web-pages with css/html by hand to get the layout and then use php to fill in the spaces

Again, you could do this with your own theme (or even a subtheme of a base theme like Omega http://drupal.org/project/omega), or you could use Panels for this as well.

3) How do I add custom code to certain areas? Am I fully restricted to installing modules that other people provide? Or can I add my own content into a block (i.e. query the database and get information on the current user and display custom information from the DB in a panel somewhere). Basic example, but I'd like links to content for this too.

The beauty of Drupal is that you are not at all restricted to installing contributed modules. You can create your own modules as well. For the specific use case you mentioned, check out the block API http://api.drupal.org/api/drupal/modules--block--block.api.php/7
Also, take a look at the Examples module (http://drupal.org/project/examples) which provides many...uh...examples of Drupal API implementations.

Other resources:

Lullabot also has a free Understanding Drupal video which provides a nice overview of the foundational Drupal concepts.

All of the things you mentioned above are totally possible with Drupal. There's a wealth of information out there. Remember Google and the Drupal Community are your friends.

Good luck!

goose87’s picture

Thank you very much for the extremely informative response. I will read through all of the documentation you have listed for me and hopefully I will soon be able to achieve what I want to! :)

markhope’s picture

That's good information from karschsp.

1) Have a variation of pages throughout the site. Most would follow a similar layout, but I need about 3-4 variatons

I'd add to this...
If you're not talking specifically about the style and layout of pages (or rather different types of content), consider creating new 'Content Types'.
http://drupal.org/documentation/modules/field-ui

One type of page might be, for example, an event page type - you could add a location field, venue picture field, description field, start and end date fields etc. You can then use theming (php template files and/or css) to change the look of that particular Content Type.

nevets’s picture

Using panels (to sub-divide the content area), content types and views (to list content) would allow you to do most if not all you are after without any custom code.`

davidmac’s picture

I normally code my web-pages with css/html by hand to get the layout and then use php to fill in the spaces

You've been given some great pointers here, and after familiarising yourself with the documentation, you'll find that your existing skills will serve you well in relation to setting up the different layouts that you want.

In particular, Views 2 and Panels, as mentioned, are really great for layout and you can use your CSS skills by adding classes to Views and Panels to get the layout and format you require. The style.css is where you will add new classes, and you can create new CSS files, then specify them in your themes .info file.

By editing tpl.php files, you are essentially editing the HTML layout and you can create additional elements and CSS classes etc., particularly when adding new regions to the .info file that you'll find in themes.

This is a useful overview http://drupal.org/node/171194

DavidMac