This won’t be a step by step guide on how to install or configure Drupal. There are more than enough of those. It will be a global overview of all the different components so it makes it easier to understand how you build websites with Drupal.
A database with a GUI
First, what you need to understand is that Drupal is just a big database with an easy to use Graphical User Interface (GUI). With this GUI you can manipulate (add, edit or delete) the database by mainly clicking and typing (naming things). You don’t have to know MySQL or PHP to create a Drupal website.
For instance if you want to add a page to your website you can click on ‘Create content > Add page’. You fill in the title, add some text to the body field and publish the page. But, this is nothing special and basic functionality in any Content Management System. The power of Drupal lies in it’s extensibility.
Creating different types of content
In Drupal you can easily create unlimited types of content. Common examples are pages, articles, and products or services. But every situation is unique. Maybe you want to list rental properties. In that case you can create a ‘Property’ content type.
The fields make the content type
Creating content types is done in order to give them fields that are unique to this specific type of content.
Every content type shares the ‘Title’ field. But you can extend content types with other fields such as images, files, text, numbers, etc. As in the example above you can create fields for the ‘Property’ content type, for example:
- Location: This can be plain text such as ‘Amsterdam’ or ‘San Francisco’
- Monthly rate: Using a number field people can sort rental properties from low to high or it can even be used as a slider when users are filtering the properties
- Video: Maybe you want to show a tour of the property. In that case you can choose to use the built in media options Drupal provides. You can either choose to upload your own video and display it with an HTML5 video player or you can use remote video’s with services such as YouTube or Vimeo
Creating categories with taxonomy
When you want to categorize content you can use the taxonomy module included in Drupal core. You can create multiple vocabularies. For example ‘Accommodation type’ which would contain terms like ‘Apartment’ and ‘House’.
This taxonomy can be referenced by adding a field to the ‘Property’ content type that refers to this vocabulary. Now you can add an ‘Accommodation type’ to all the content of the type ‘Property’.
List items with Views
Another basic Drupal functionality is the Views module. You can use this module to create an overview of content within your Drupal website. This way you can show all the items of the content type ‘Property’ on one page.
When you create a view you can:
- Filter by content type
- Add the fields you want to show. In some cases you might want to only show certain fields. In an overview with blog posts you probably want to hide the full body text
- Sort the listing by creation date or a field that’s available for this content type. In the rental properties example this might be the monthly rate
- Expose a filter to your visitors such as a taxonomy field. In the property listing you can let users select an ‘Accommodation type’ so only items of this type will be shown
All this (and much much more) can be done by simply clicking the right buttons. No need to write any PHP code or MySQL.
Users and roles
Built into the Drupal core is extensive user management. You have the possibility to create, edit or delete users and give them access to your Drupal site. Or you can choose to open up the registration so users can create their own account.
On top of that you can create roles. With these roles you grant users, it’s possible to give them access to only some parts of the content or configuration. Following the example of the rental properties you could enable your visitors to create an account and give them access to exclusive rental properties. Or you could create a role for realtors so they can add their own rental properties.
Drupal gives you endless possibilities
Hopefully this compact overview has given you more insights in how you would go about building a Drupal website. It starts with the content type to which you add fields. You then create a view showing items of this content type and select the desired fields to display.