This is a step-by-step description of setting up a Calendar view.
Why not use the Event module?
Using the Event module is perfectly acceptable, quicker/simpler way to get a basic calendar running on your site. If you need something more flexible/extensible, here's how to create a Calendar view. If you've got other differentiating factors, list them in the comments, and I'll incorporate them here.
Requirements
The Calendar module has the following requirements
- Drupal 5.2 or later
- CCK 5.x-1.4 or later
- Views 5.x-1.5 or later
- Date 5.x-1.4 or later
- Calendar 5.x-1.4 or later
Install the modules
Download and extract the modules in your /sites/all/modules directory.
Go to Administer › Site building > Modules and enable:
- Content
- Date (under CCK)
- Date API (under Other)
- Calendar
- Views
- Views UI
Create a custom Content Type
Go to Administer › Content management > Add Content Type
- Name=Performance (or "event" or "meeting" or whatever you want to call it)
- Type=performance
- Description = Sing, Sing a song...
- Whatever you prefer for the rest of the form
- Save the Content Type
Edit the content type again and then select Add field
- Name = Time
- Field Type = Date / Selected list (or Date / Textfield with javascript pop-up calendar - if you have jstools enabled)
- Click "Create Field" and you'll be taken to second form
- Widget = Selected List (or Textfield with javascript pop-up calendar - if you have jstools enabled)(not sure why you have to select this twice)
- Label = Time
- Help Text = whatever
- Under Data settings:
Required: checked
Multiple Values: not checked - Input Options
Granularity: Year,Month,Day,Hour, Minute (but not second) selected
To Date: Optional - Click Save Field Settings
Create a node
Create content > Performance
- Title = Check your calendar
- From Date = This Friday at 3:00pm
- To Date = blank
- Body = Hope I'm doing something fun this weekend
- Click Submit
Modify the default Calendar view
Go to Administer › Site building > Views and you should have a Calendar View
Click Add..
- The info under Basic Information, Page, and Block are all fine.
- Under Fields delete the Node: Updated Time
- Then under Add Field, select Date:Time and click Add Field
- Next to Time Field, Label can be blank, Handler needs to be Do Not Group Multiple Values
- Arguments can all be left alone
- Under Filters ... Add Filter, select Node: Type and click Add Filter
- Operator = Is one of. Value = Performance
- Exposed Filters can be left alone
- Under Sort Criteria, delete Node: Updated Time, and under Add Criteria, select Date: Time (field_time) and click Add Criteria button. Leave the Order Ascending
Click Save and you're back at the Administer › Site building > Views. You should see the default calendar view with an Overridden status. And at the top will be your new calendar view that uses your CCK node called Performance
Click on the link under URL and you should see your performance on the correct day. If everything looks OK, go back and edit the view again and in the Page > Menu section, check Provide Menu. By default, the menu link will appear in the Navigation menu, but you can move it wherever by going to Administer > Site Building > Menus.
Comments
differences
There's a thread which list the differences titled Event module vs Calendar Module : http://drupal.org/node/114282
exposed filters have to be manually clean up
In my case, Drupal 5.10, and calendar 2.0, the exposed filters has the default Node:Type, if don't clean up manually, it will show up at the header of the calendar view page, the "Exposed Filters can be left alone" is not correct for my case.
To remove the unnecessary "is one-of" filter, I have to manually delete this exposed filter.
This for latest version of calendar/views
I'm having trouble making this work in the latest version of calendar/views. I can make my custom content types appear on the calendar but I cant make the calendar use a custom date field rather than the default Node: Updated Date. Any ideas?
To people having trouble...
Drupal Therapy has a great video on how to set this up that walks you through it step by step.
http://www.drupaltherapy.com/date
Hope that helps.
Heaven forfend...
... there should be a simple list of steps instead of a 20 minute video.
UPDATE Sorry to be snarky, but there are times when simple really is simple, and eye candy really is eye candy.
Just found a resource and
I just found a resource and shared it. I too would have preferred a list of steps.
Different filter for block and page
We would like to have a calendar showing only the upcoming events in a block, but with a clickable title leading to a page which shows all events (also past ones).
However, as far as I can see, the filters apply to both block and page view. So either we have past events in the block as well (potentially crowding out upcoming events, due to limited number of entries), or no access to past events even in page.
How can we define a view that has a different filter for block and page?
Thanks
Easiest way I have found
Easiest way I have found around this is to just make two views. One that has a page view and one that has a block view.
What I ended up doing as well
Thanks.
No calendar view?
Except that I don't.
I tried to follow both these instructions (on Drupal 6.20) and the calendar tutorial video, but I see no "calendar" view in
/admin/build/views
.What do I have to do to add it?
n.b. A file
calendar/includes/calendar.views.inc
does exist.update After some going back and forth, installing/enabling/disabling of this (and a few other) modules, suddenly the view did start appearing.
I em>hate how fragile Drupal's installation mechanism is. Apparently it doesn't keep track of how well an installation went, so it could try again next time an installation doesn't complete successfully.
I've got the same problem.. I
I've got the same problem.. I also tried disabling/enabling modules, it didn't help. Does anyone know how to solve this?
Haha! The link "add view from
Haha! The link "add view from template" helped me..