355 Modules match your search

Extend and customize Drupal functionality with contributed modules. If a module doesn't quite do what you want it to do, if you find a bug or have a suggestion, then join forces and help the module maintainer. Or, share your own by starting a new module.



Requires Views and the Date API (packaged with the Date module).

This module will display any Views date field in calendar formats, including CCK date fields, node created or updated dates, etc. Switch between year, month, and day views. Back and next navigation is provided for all views. Lots of the Calendar functionality comes from the Date module, so any time you update the Calendar module you should be sure you also update to the latest version of the Date module at the same time.

See also Date iCal, a project that contains code and features needed to either import or export dates using iCal feeds. The functionality that used to be in the Calendar iCal module has been moved into that module.

Be sure to read Debugging Information before reporting a problem. Going through those steps may resolve your problems and will help provide enough information to tell if this is a bug.

Date iCal

Date iCal is your one-stop shop for iCal support in Drupal. It provides a plugin for Views to enable exporting your site's calendar as an iCal feed, and a plugin for Feeds to enable importing external iCal feeds into your site's calendar.

Entity Registration

Entity Registration is a simple, flexible module for allowing and tracking user registrations for events, or just about anything you want people to sign up for. Entity Registration can be integrated with Drupal Commerce to allow fee-based registrations: sell tickets to your stuff! This module is also handy if you want to collect information along with registrations: like shoe-size for a bowling event.



Provides a Views display, style and row plugin for displaying nodes using Adam Shaw's FullCalendar jQuery plugin.


There is a good deal of info in the issue queue, but if you're on IRC, come by the #drupal-fullcalendar channel and say hello!


As of 7.x-2.0-beta1, the Colorbox integration is part of the FullCalendar Options submodule.

Please remember to run update.php first, or clear all caches.

The FullCalendar Colors submodule requires the Colors API module. There is an upgrade path, be sure to run update.php and clear your caches.
Specifically, if you are using FullCalendar beta2, you must use Colors beta2.

The template files (*.tpl.php) have been removed, if you still wish to use those, please install FullCalendar Templates.


See the documentation for installation instructions.


See the documentation for usage information.


Maintainer and developer: tim.plunkett

jQuery Countdown

jQuery Countdown Drupal Module

Provides the jQuery Countdown plugin by Keith Wood, along with a simple API function (jquery_countdown_add) to easily add countdown/countup timer elements to the page.

Add to Cal

A field formatter providing a widget for exporting events to:

  • Google Calendar
  • Yahoo! Calendar
  • iCal
  • Outlook

The field formatter provides a button next to the field that shows a drop-down menu. This menu contains links to the supported formats, and includes basic styling that can be easily modified through CSS.

For screenshots and a more detailed explanation of how this module works, check out this blog post.


The Block

The Agenda module allows you to display a list of upcoming events from Google Calendar as a block on your website.

The events are automatically downloaded and cached from the Calendar IDs specified in the Agenda administration page. Unlimited calendars can be added, and the colours for each calendar can be specified in the CSS file.

The output is fully themeable, and uses jQuery for dynamic effects such as rounded corners, and click-toggling extra information.

Pop-up announcement


The module provides a pop-up announcements in the overlay which will appear for the site visitor on the first, second and fifth visit to the site (customizable).

You may create so much announcements, as You need and define where and when each from them will be appear.

Very useful solution for interaction and communication with site visitors. You may post announcement about conferences, great news, "Tip of day" system, information about coming site maintenance, new goods, sales and much more.


  • The announcements may be with html.
  • The announcements will appear on the overlay.
  • Announcements added to the site as a block - it make possible to use flexible visibility settings to define pages where announcement will appear.
  • On the configure page it is possible to define, on which visit the announcement will appear. By default on the first, second and fifth visit.
  • If interval between http requests is more than one hour, these are two different visits.
  • After 23 days records about visits become old and automatically are removed from the database.
  • Any count of separates blocks with announcements is available now. It is possible to define different visibility for every announcement - for example, for different parts of site.
  • Admin page for managing all announcements.
  • Ability to define time delay after which announcement would be visible was added.

Rooms - Drupal Booking for Hotels, B&Bs and Vacation Rentals


Drupal Rooms is a basic booking and room management solution for hotels, vacation rentals and B&Bs.

All future regarding booking solutions is concentrated on the BAT module - the Booking and Availability Management Toolkit that will offer both a D7 and D8 version.

For vacation rentals, hotels and B&Bs please checkout Roomify for Accommodations - a complete Drupal distribution based on BAT with integrated channel management.

Opigno Calendar App

Opigno Calendar app. Creates a calendar for your platform.

Date Repeat Entity


The Date Repeat Entity Module complements the Date suite of modules, in particular the Date Repeat module. For repeating dates that follow a recurring rule, this module creates a unique entity for each date instance in the series.

Events calendar feature

Events listing at /events once the feature has been enabled and some events have been created.

Here is an example of how to build a list of events with a calendar block that filters the listed events for a particular day in Drupal 7.

FullCalendar Create

A new extension for FullCalendar. This module allows you to click directly on the calendar to create new events. Currently only supports nodes, generic entities will be supported after #1437902: Allow custom $form_state to be used with entity_form().

Commerce Registration


Provides Drupal Commerce with the ability to sell registrations via the Entity Registrations module.


Entity Registration
Drupal Commerce


This module, along with Entity Registrations, is still in beta. That means there can be substantial code changes, although the schema is relatively stable. However, this does not completely remove the possibility of any major changes that will affect interaction between the two modules. Check the issue queue for any possibly existing problems.

Set Up

Use Drupal Commerce as usual.

If you don't already have a product display set up, create one with a product reference field.

Add a Registration field to the commerce product type you want.

Create a product and set the Registration type (or create one if you haven't already), add a new product display with that reference, and add the settings to the DB as above.


Adds a block titled "Countdown" to count the days, hours, minutes, and seconds since or until a specified event. Can configure to just show days, or days and hours, etc.

See also:


Previewable email templates

The Previewable Email Template (PET) module lets you create email templates, with token substitution, which can be previewed by the user before sending. The emails can be sent to one or many email addresses in a flexible way, and the recipients may or may not be Drupal account holders (users).

PET stores templates in a db table, not the variables table, so there is none of the memory usage which goes with the latter.

PET templates are in one place for easy management by site administrators. Emails can be sent one of three ways:

  • interactively, from a link
  • programmatically, in response to any situation
  • via a Rules action (D7 only)

README for D7 version

Previewable Email Templates (PET)

The Previewable Email Template (PET) module lets users create email templates,
with token substitution, which can be previewed before sending. The emails can
be sent to one or many email addresses in a flexible way, and the recipients
may or may not be Drupal account holders (users).

Individual email sends can be customized per email send without affecting the
template, which makes one-off customization a breeze.

PET puts all your email templates in one place which makes for easy editing by
your users, who don't have to go into the bowels of Rules to edit an email.

Add To Calendar


Add to Calendar Module integrates 'Add to Calendar' button provided by addtocalendar.com which supports iCalender, Google Calendar, Outlook, Outlook Online and Yahoo Calendar.

User Alert


This module provides a simple way to show a short-term urgent message on the website. Think of CNN Breaking News, when they show a short message the top of the site (or the 'Welcome!' style messages at StackExchange websites). This module works for both anonymous and authenticated users by using a cookie, and recording actions in the database. This solves the need to show messages independent of the users authenticated status.

With User Alerts, you can:

  • Alert users about breaking news, or a special same-day sale for ecommerce
  • Schedule publishing of alerts via Scheduler
  • Override display with TPL and CSS

How to use this module:

  1. Enable User Alerts
  2. Set the appropriate permissions for selected roles
  3. Set the User Alert block in the appropriate region of your theme.
  4. Create a user alert node.

You can also set some global settings for alerts at admin/settings/user-alert.

Unpublished alert nodes are removed from the system automatically. This is to prevent an old alert being seen by a user (if the cookie was cleared or expired, for example) if a node was republished accidentally.

Node registration

Allows (authenticated and/or anonymous) users to register for events. Events are nodes with certain node types. You can enable registration for any node type and add fields and manage display per type and per node.

N.B. If you can't register or don't see the link/form, you can add ?debug=1 to the URL and the reason will be saved into the watchdog table. It might be a date, a permission, a status etc. The watchdog message will tell.

Since it's built on Entities and Fields, it works perfectly together with Views, Tokens, Rules, VBO etc.

Requires PHP >= 5.3.

Set up

  1. Download & enable + dependencies
  2. Choose node types to enable (admin/structure/types/manage/TYPE/edit)
  3. Add fields to new registration type (admin/structure/node_registration/manage/TYPE/fields)
  4. Tweak registration type settings (admin/structure/node_registration/manage/TYPE/settings)
  5. Party


Most permissions are intelligent: a combination of
checkboxes (People > Permissions), registration type
settings and node registration settings (node/2/registration/settings).


For registration types and nodes:

    Who Bought What|Ubercart


    This is for Ubercart. If you are using Ubercart to sell tickets or entries to an event or perhaps a race, it's very helpful to have a list, per item, of who bought what. For a competition, this will become an entry list. For a performance, this may become your will-call attendance list.

    You may simply want to know who bought what! Who are the purchasers of a given item can be useful in any of a number of instances... recalls, promotions, and the like.

    Event Views

    Requires both the Event module and the Views module. The Event Views module exposes event fields to the Views module, creates year, month, day, and week argument handlers, and provides default event views that filter events using a drop-down date selector, the jscalendar selector, if installed, or by arguments in the url. Argument combinations can include year, year/month, year/month/day, and year/week.

    Ajax throbber

    mschudders ajax throbber fading circle

    Displays an Ajax throbber in an overlay on every ajax request.
    For example on views, facetapi, custom javascript, ...

    So user interaction will be blocked until the request is completed.

    So this is not tied to one component like views or webforms.
    But usable for everything.

    The animation of the throbber + overlay is all CSS


    Choice between:

    MERCI (Manage Equipment Reservations, Checkout and Inventory)


    MERCI can extend any content type into a list of unique reservable items (like studios) or buckets of interchangeable items (like DV cameras). We followed the approach used by Organic Groups, Feed API, and Scheduler and added MERCI's configuration to the Edit tab of those content types.



    Registration Commerce

    "Registration Commerce" (not to be confused with Commerce Registration) is an integration point between the entity-based Registration Module and Commerce, enabling paid registrations. Registration Commerce lets you generate a Commerce Line Item from a Registration, then update the Registration's State when the Line Item is paid.

    The intended application is paid event registrations where you want to create the Registration before you create a commerce transaction.

    RNG - Events and Registrations


    RNG is an event management module for Drupal 8 created in the spirit of Entity Registration (Drupal 7) and Signup (Drupal 6). Users can create registrations for events, and event managers can manage these registrations.

    See the quick start guide for setup instructions and basic configuration.

    RNG 1.3: The Registrant Update

    See RNG 1.3: The Registrant Update for an overview of this update.