Signing up for events with CCK Signup (Drupal 7)
Last updated on
30 April 2025
This Drupal 7 tutorial describes how to set up a calendar of upcoming events with the option of signing up for events.
This tutorial is based on this Drupal 6 version of these CCK Signup configuration steps, written by tvn.
Creating Calendar of upcoming events in Drupal 7
You will need the following modules:
- CTools
- Views
- Date
- Calendar
- Optional: Advanced Help (for assistance configuring Views).
To begin:
-
Download, install and enable listed modules:
- Advanced Help
- CTools
- Calendar
- Date (Date includes: Date All Day, Date API, Date Popup, Date Repeat API, Date Repeat Field, Date Tools, Date Views)
- Views (includes Views UI)
- Configure the site Date/Time settings by navigating to these two admin pages:
- Administration > Configuration > Regional Settings
(http://example.com/admin/config/regional/settings) - Administration > Configuration > Date and Time
(http://example.com/admin/config/regional/date-time)
- Administration > Configuration > Regional Settings
-
Create new content type "Event" by navigating to Administration > Structure > Content types > +Add content type (
http://example.com/admin/structure/types/add) with the following fields:- Name : Event
- Machine name : event (automatically created from the Name).
- Title field label : Event name
- Save the new content type
-
Add a date field to the Event content type:
- Go to the Content types administration page (Administration > Structure > Content types
http://example.com/admin/structure/types/) and click the "Manage fields" link next to the Event content type. - Add a new field with these settings:
- Label: Event date and time
- Field name: event_datetime
- Field type: Date
- Widget type: choose the Select list, Pop-up calendar or Text field, as you prefer
- Save the new field settings.
- On the next page you will see more detailed settings for the Event date and time field. Choose whichever options suit your site and Save settings.
- Go to the Content types administration page (Administration > Structure > Content types
-
Configure calendar view:
- Go to the Views administration page (Administration > Structure > Views or
http://example.com/admin/structure/views). - Click +Add view from template at the top of the Views page (
http://example.com/admin/structure/views/add-template). - Click add on the Calendar template line described as "A calendar view of the 'field_event_datetime' field in the 'node' base table.".
- Set the View name to 'Events Calendar' (the machine name should be 'events_calendar'.) and click Continue.
- Configure calendar month view in this way:
-
Title
- Title: None
-
Format
- Format: Calendar
- Show: Calendar Entities
-
Fields:
- Content: Title
- Content: Event date and time
- All other fields which you would like to display on the calendar for you event.
-
Filter criteria
- Content: Published (Yes)
-
Sort criteria:
- Content: Event date and time - start date (asc)
-
Advanced > Contextual filters:
- Date: Date (node) (Content: Event date and time - start date (field_event_datetime))
- Click Save to keep all your calendar settings.
-
Title
- Go to the Views administration page (Administration > Structure > Views or
Setting up sign-ups for events
You will need following modules:
- Download and install listed modules.
-
Create a new content type "Signup" by navigating to Administration > Structure > Content types > +Add content type (
http://example.com/admin/structure/types/add) with the following fields:- Name : Signup
- Machine name : signup (automatically created from the Name).
- Title field label : Registrant's name
- Click Save and add fields
-
Add the event reference field to Signup content type:
- Go to the Content types administration page by navigating to Administration > Structure > Content types > +Add content type (
http://example.com/admin/structure/types/add) and click the "Manage fields" link next to the Signup content type. - Add new field with next data:
- Label: Signup for event
- Field name: eventref
- Field type: Node reference
- Widget type: Reference from URL
- On the next page you will see more detailed settings for the field.
- At the bottom of the page find "Content types that can be referenced:" and make sure Event content type (the one we created earlier) is checked.
- The rest of the settings configure how you think is best for your site. For example it could be something like:
- Fallback behavior: Display page not found error.
- Referenceable node links:
Create link on the teaser view
Create link on the full view - Link title: Signup for this event
- Return path: The referenced node
- Go to the Content types administration page by navigating to Administration > Structure > Content types > +Add content type (
-
Set up signups for Event content type:
- Go to the Content types administration page Administration > Structure > Content types (
http://example.com/admin/structure/types/manage/event) and edit your Event content type. - In the node settings you will see new section "CCK Sign-up":
- Enable Sign-ups for event nodes.
- "Node reference field to associate sign-up nodes" set to "field_eventref". (Event reference field you created earlier)
- "Date field to associate with sign-ups:" set to "Event date and time". (Date field you created earlier)
- Go to the Content types administration page Administration > Structure > Content types (
-
Check user permissions for the content types and fields which you created:
- Go to the Permissions administration page Administration > People > Permissions (
http://example.com/admin/people/permissions). - In node module check permissions for event and signup content. Specify which users can create/edit/delete these content types.
- Don't forget to configure other node-related modules you are using. Such as Path auto, Node access etc.
- Go to the Permissions administration page Administration > People > Permissions (
-
Create view to display list of signups on the event page (this view will be attached to the Event node using the EVA module):
- Go to the Views administration page (Administration > Structure > Views or
http://example.com/admin/structure/views). - Press +Add new view
- View name: Signup list
- Show: Content of type: Signup sorted by: Newest first
- Uncheck: Create a page
- Click Continue & edit
- On the next page configure options as follows:
- Format: Table
- Fields. As fields choose all the information you want to show. For example user name (author of signup), custom fields of Signup content type, some fields from user profile etc. To make signups' management easier you can also add Node: Edit link and Node: Delete link fields.
-
Filters:
- Content: Published (Yes)
- Content: Type (= Signup). Filter options set to "is one of" "Signup".
-
Advanced > Contextual filters:
- Content: Signup for event (field_eventref).
- Finally at the top left of the View Displays panel, click +Add > "EVA Field" and press add display (if you don't see EVA Field option - make sure module Entity Views Attachment (EVA) is enabled).
- You will see new view "EVA Field" appear in the list of Displays. Choose this view and in its settings find section "Entity content settings".
- Entity type: Node
- Bundles: Event
- IMPORTANT: After you have created some event and signup content, you may need to Clear all caches (Administration > Configuration > Development > Performance or
http://example.com/admin/config/development/performance) in order to see the attached view on the Event node view.
Note: Node field Title is required for all nodes, including signup. If you don't want your users to fill this field, you can use Automatic Nodetitles module, which will automatically create node titles and hide them from users.
- Go to the Views administration page (Administration > Structure > Views or
Help improve this page
Page status: Not set
You can:
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion