Training and Development for Drupal

Date + Calendar Screencast (Drupal 6)

FAIL (the browser should render some flash content, not this).

(If you are looking for Date + Calendar instructions for Drupal 7, look here.)

If you like this screencast, you can show it by pitching in to a special fundraising effort. (And here's why.)

Here is a fast screencast covering the Date and Calendar modules for Drupal 6. This recipe illustrates one way to let your users post their own events (like parties, appointments, meetups, etc) that include date information stored in a field. Then you can see how to display these dates on a traditional calendar layout with all the events sorted into the correct days.

The modules doing the heavy work are the Date module (for use with CCK) and Calendar module (for use with Views). Something to note is that the Calendar module provides a number of default views that display a calendar-style layout. While you can simply enable the view called "Calendar" and call it done, this screencast instead demonstrates the two to three different steps one would take to build a calendar-style view from scratch. I chose to do it this way to help you better understand how the all the date and calendar parts fit together.

There is an entirely different approach to making dated nodes, which uses the Event module, but that is not covered in this screencast.

To make the best use of this screencast it would be awesome to have some prior exposure to the Views and CCK modules for Drupal 6. You should also have working knowledge of Drupal including the installation of contributed modules.

If you find this helpful, drop me a note. Also, if you find anything incorrect that I may have overlooked the please let me know so I can correct it.


Fabulous! Thank you for taking the time to make this!

Great tutorial! I think this wraps up a lot of what you need to know to make using drupal efficient.


one week old drupaller here.. this tutorial is gold for me.. exactly what the client needed.. . all that's left to do is styling and that shouldn't be so hard. .

GREAT TUTORIAL! I'll be back!

Does anyone know if this will change brutally in Drupal 7?

Hi, First congrats about the tutorial, make it so easy this way.
I did exactly what you explain and everything works perfect, but i want the calendar view to work as a block, so it is part of a node, my problem is that when i use the pager (prev, next) it sends me to the page of the view instead refreshing the block.
How could i make to refresh the conteiner block instead of going to the view page???

Very cool, thanks a lot Sean

That was really useful and clear and covered some of the irritating holes left in many Howtos where inconsistent assumptions are made about the users. Helped me to see more clearly how the entire Drupal 'thing' works. Clever stuff to be able to deliver so much succinctly and effectively.

... I'll be back ;-)

Very cool. I just started getting into Drupal and this was quite helpful in getting me up to speed with dates and calendars!

Awesome video, thanks alotman.

Beautiful!! Just what I needed. Thanks Sean!!

it is the first time since I use drupal that i make it first try. thanks a lot. I only have 1 question, how can i add thie to a node??? i mean I have a page called agenda i am would like to display this calendar as that node.

Great screencast!
One question: How can i change the output format in the calendar view?
I only need title and time, but i ever see title + date + time ...
Can you help me please?

Thank you for that informative post. My organization is looking to have a Calendar system, and this explained Drupal's capabilities very simply. Love the Drupal!

Great screencast, really useful, thanx

I have following versions:
drupal 6.13
date 6.x-2.2
calendar: 6.x-2.1
cck 6.x-2.4
views 6.x-2.6

After the installation i have only the Page and Story - Content type. This is something different to this screencast. Looking for the content type Event.

I also don't have the content type 'event' after installing the modules mentioned in the video. What can I do to get them?

Pls forget this comment. ;-)

Thanks, Sean! Great tutorial. Really clear. BTW, who's the 'menace'?

Nice, simple and very informative ... Thanks buddy

Thanks for taking the time to share all this great info.

Well just my luck... it did not work and crashed my whole site!

Of course the most recent back up is not up to date. So I guess I am up the creek. Any way to pull my data off or am I totally screwed?

Need help bad on this one! Never had this much trouble... :(


Great guide!

Thanks a lot!


Hello! Your tutorial is understandable by the French people. Thanks a lot!

Great, I am glad I can be so helpful to France.

Great Tutorial! After scratching my head about how to implement a calendar, you cleared everything up.

Thank so much!

From an absolute beginner at Drupal, you've explained this so clearly even I understand! Many thanks. :)

Just as I was about to watch the video my internet connection died, then I remembered I live in Africa and though the weather is good the internet is still not that good, any chance of you having the instructions in a text format?

Sorry about your internet! I'm not smart enough to make these recipes up myself. Almost all of these examples exist on other people's blogs and even on the handbook pages in text format. Just run a little Google search and I'm sure you'll find what you need.

Bless you for creating this fantastic tutorial. You've made my month. People like you make PHP programming a joy instead of a chore.

Hi thanks for really the clear presentation.
I just follow ur tutorial step by step, and created some sample event content to test this. I am curious, could I add sort of privacy and sharing functions to each individual user?

I own 2 accounts to test and develop my drupal site. I found the events I created by administer are listed in the calendar and are able to be saw by other users.

If you want privacy from other users then you will have to either build views (using the Views module) that are accessible to only specific roles. This is a setting per view on each view display you create.

If you want privacy from everyone, experiment by making nodes that are unpublished. Then no one can see them except you until you are ready to go live.

very nice presentation, makes me feel comfortable to deploy it myself ;-)

Very nice screencast, and the basic recipe works like a charm.

I found, however, with the July 8th -dev versions of these modules that things can get ugly very quickly if you deviate much from that recipe.

For instance, I tried to add additional pages for slightly different filters (in this case calendars for different organic groups). In trying different things, these pages ended up either:

- prev/next navigation at the bottom of the calendar
- no prev/next navigation at all
- prev/next navigation, but no calendar

I even tried to delete the additional pages and still had problems.

More exasperation, I mean experimentation to do.

I suspect I'll have to make a completely separate view for each group/calendar, whereas I'd prefer to use just an argument, or at least separate pages for each. . .

Hi. Nice calendar. Only one question? If I use a cck date field with from-to ranges, how can I use it to show more than on day "active" on calendar block?

Very Helpful..

Quick, crystal clear and exactly what I needed. I am going to settle down to watch the rest of your tutorials.

Fantastic video! Easy to follow instructions. My users love the calendar. Also great intro to the Views module.

I couldn't have installed this without the help of this video. Very, very greatful.

So how do I strip the redundant date from the event in the calendar view?

Simplest way would be to split your start date into two fields One for the Calendar Day and one for the Time. (for redundancies sake, you'd want to do it for your end time too)

Then use the Calendar Date as the criteria to place that information into that view...but then choose not to display it.

How do you split your start date into two fields?

The date field contains both a start and end date and time, so really they are not separate fields. They can be configured to display separately with Views and stuff.

If you need two separate fields then make a second date field and label it as such, but you probably don't need to go there since the developer of the Date modules has done a good job for you already.

Thanks man, useful video.

Great video. I am pretty new to Drupal and was just looking for a calendar like this. Thanks very much for helping me to jump-start into this.

Well done tutorial - thanks! Already started enhancing my site.

Just to add, got it working... at

Thanks again.

well done thanks!

Thanks, Sean! I am very new to Drupal and your screencast was a great help!

I had a question - I am trying to add in events but don't want the date to show up as it shows on the calendar. I also want the tiltle of the event to show up as a link. I tried out a couple of ways but if I do not display the date on the calendar, the evnet title does not show up.

Your help will be appreciated! Thanks!

Lots of people have all sorts of variations of this.

You must include the date field in the view in order to get the display to work. BUT, you can mark any field as "Hide field from view" (probably not the right phrase, but it's close) and hide the field on the resulting view.

So, the date field has to be included but it doesn't have to be visible.

Great tutorial, Thank you

Thank you for your help....

Post new comment

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

Most Recent Screencast

See video

Support the Association