39,819 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.

Embedded Google Docs Viewer


The Embedded Google Docs Viewer module adds a new formatter to the File field using the Field API. This formatter displays PDFs, Microsft Word documents, Powerpoint presentations, or Excel spreadsheets directly within a Drupal node.


The Embedded Google Docs Viewer is a custom formatter for the Core "Field" module - therefore the "Field" module must be enabled.

Text Size

This module display a adjustable text size changer or a zoom function on the page for a better web accessibility.

The zoom function is comparable to the text zoom function in Firefox 3, but this module resize also variable media objects, variable pixel images and vector images. No JavaScript required (WCAG/BITV 6.3).

WCAG and BITV conform. Keep the conditions 1.1, 3.1, 6.3, 11.1 and 13.6. More Information: Web Content Accessibility Guidelines.

Mobile Switch

Use Mobile Switch

The Mobile Switch module provides various functionalities to develop mobile ready websites, based on device detection by Browscap or Mobile Detect.



Dynamic Entity Reference

Dynamic Entity Reference


Dynamic Entity Reference provides a field type/widget/formatter combination for Drupal 8 that allows an entity-reference field to reference more than one entity type.


Create a single field to hold references to Users and Nodes, Or Terms and Nodes, or all three.


This version only supports content entities with integer IDs as referenceable entities. It doesn't allow content entities with string IDs as referenceable entities.

Node Save Redirect

This module provides a method of specifying a location to take the user after saving a piece of content.

A set of radios buttons are added to the submission vertical tab on the content type edit form.

The available options are.

Default - Default behaviour
Return to Edit page after saving
Return to content overview page (assuming the user has access permissions
Re-redirect to another location. (any valid drupal path)

** New in 7.x-1.x **
Tokens are now supported for custom paths.

Mobile sliding menu

Drupal mobile sliding menu module - demo example

The mobile sliding menu module integrates the mmenu jQuery plugin for creating slick, app look-alike sliding menus for your mobile website.

Node form columns

Form editing

Separates the node forms into two columns and a footer.

This module alleviates some of the problems with the mile-long node forms in Drupal. Other than that it gives you the possibility to use different weights and collapsed states for your forms than for your presentation.

To get started, go to "admin/content/node-type/page" (or whatever content type you want to configure) and you should see the "Manage form" option that points to "admin/content/node-type/page/form". If not, clear your cache.

S3 File System

S3 File System (s3fs) provides an additional file system to your drupal site, which stores files in Amazon's Simple Storage Service (S3) or any other S3-compatible storage service. You can set your site to use S3 File System as the default, or use it only for individual fields. This functionality is designed for sites which are load-balanced across multiple servers, as the mechanism used by Drupal's default file systems is not viable under such a configuration.

Views UI: Edit Basic Settings

Does your client want to modify the header, footer, title, or empty text of a view, but you don't want to train them on the rather intimidating Views UI admin interface or give them access to pages that may allow them to mess up their site? Then this handy little module is the solution for you!

Context error

Provides a context condition for triggering on a 403, or 404 error page. Possible combinations:

  • 403 error only
  • 404 error only
  • 403, or 404 error
  • Neither 403 nor 404 error page

Development of the Drupal 6 branch was sponsored by Freestyle Systems.

Most of the Drupal 7 branch has been contributed by szantog.

Commerce Custom Offline Payments

Drupal 8 - Commerce 2.x

Please follow and help with Commerce 2.x core issue : #2828525: Implement manual payment gateways

Offline payments for Drupal Commerce 2.x.
For now there is nothing sure about Offline payments in Commerce 2.x
This could be part of Commerce 2.x core.
At least some Offline capabilities will need to be built in the Commerce 2.x core.

Workbench Email

Provides a way for administrators to define email transitions and configurable email subject / messages between those transitions. Email transitions can be defined as when content moves from state to state. Based on those email transitions, configurable emails can be created / updated / deleted as the site admin see's fit.

Example: When a content creator moves a piece of content from draft to needs review, they will be presented with a list of users that they can email the content update to. Selecting user(s) will send emails with the subject / message defined in the workbench email configuration page.

About Workbench

Workbench is a suite of modules which provide easier content management for content administrators. Each of the "Workbench" modules has been tested to work with the main Workbench module, and with the other modules in the Workbench suite. The Workbench suite is modular, allowing site builders to build the workflow that best suits the content administrators on their site. The Workbench suite provides authors, editors, and publishers with a unified interface for managing content relevant to them. It allows people to focus on content, rather than on learning Drupal.

Commerce extra panes

Addon for Drupal Commerce that allows to place one or more nodes in one of the checkout phases of an order.
There is a submodule for Terms of Service that includes a checkbox for terms and conditions agreement.

Install instructions

  • Install Drupal Commerce and make sure that checkout module and CTools enabled.
  • Enable Commerce Extra panes.
  • Access the Manage Display for those node types whose nodes are going to be
    exposed as checkout panes, click on "Checkout pane" view mode option and
    select the fields that are going to be displayed in the panes.
  • Go to Store > Configuration > Checkout Settings and there click on
    Checkout Extra Panes tab.
  • Select one of the existing nodes by typing its title in the autocomplete form
    and add it.
  • Click on Checkout Form to select in which checkout phase the nodes should be

The module has integration with Tokens and Internationalization.

Features pending/planned

Place the Terms of service as a lightweight popup window.
Include some tests.

Screencast & documentation

Role Theme Switcher

Useful Drupal module to assign separate themes for different roles (including anonymous) in your system.

Often you want to separate Drupal administrative interface from frontend. You can do this assigning appropriate theme for you as user. What to do if you want to show different theme for non-authorized user?

With this module, you can select a theme per role to display. The list of roles can be ordered to manage the case when a user has several roles. Theme are displayed from the top to the bottom of the list.

SWF Tools

SWF Tools development is back on

Good news! SWF Tools development is going to get started again! Sorry it's been a while since any issues got fixed, and that there's not a SWF Tools 7 (yet!). I can't promise any dates yet, but it will happen. Read a bit more here.


SWF Tools allows you to easily embed flash content and media players on your pages. The whole concept of SWF Tools is to let you focus on displaying media on your site, but without having to write code to enable it.


You can use any of the following formats to add your media:

  • CCK display formatters (see documentation for details)
  • Inline embedding ([swf file="mymovie.swf"])
  • PHP code:
     print swf('mymovie.swf'); 


You can choose either direct embedding markup, or JavaScript embedding using SWF Object 2

Media players

You can enable support for a number of common media players, including:

  • Flowplayer
  • 1 Pixel Out
  • JW Image Rotator
  • JW Media Player
  • Simple Viewer


Commerce Rules Extra

This project aims to be a library of Rules events, conditions and actions for Drupal Commerce. Actively maintained and tested on a large eCommerce site. We are always seeking collaboration with other Rules based DC modules.

Node Order

Ordering with Node Order

The nodeorder module gives users an easy way to order nodes within their taxonomy terms.

By default, the taxonomy module orders listings of nodes by stickiness and then by node creation date -- most recently posted nodes come first.

The nodeorder module gives the user the ability to manually put nodes in any order they wish within each category that the node lives.

There are two ways that a user can order nodes within a category. The first is to use the "move up" and "move down" links that can be configured to appear on each node (especially useful when looking at lists of taxonomy terms). The second is to use drag and drop, which appears on the administrative listings of nodes in a category.

For a comparison of nodeorder with other node ordering modules have a look at this handbook page: http://drupal.org/node/398508.

Session Cache API

Squirrel and cache

The Session Cache API is a super-simple two-function API for programmers to access small amounts of user-specific "state". Examples are the user's changing geographic location or a drop-down selection that is made upon first visit and needs to be remembered for the remainder of the session, or beyond, as in the Views Global Filter module.
The module comes in particularly handy when anonymous session data needs to be stored, which may not be viable using the standard $_SESSION way, due to constraints imposed by a caching engine or web accelerator like Varnish (in combination with a suitable page-exclusion strategy).


AJAX Poll adds the ability for users to vote on polls without reloading the page. It works with the normal Poll module included with Drupal core. It affects all polls throughout the site, on teaser, full, and block forms of polls.

AJAX Poll provides bare-bones AJAX functionality to the existing poll module without adding any complexity. For greater customization than the core Poll module can provide, see the Decisions or Advanced Poll modules.


This module provides integration for the jQuery FooTable plugin for creating responsive tables. The FooTable plugin allows wide tables to appear as usual on large displays but on smaller screens it can hide certain columns within expanding and collapsing rows.

Translation Management Tool

The Translation Management Tool (TMGMT) module provides a tool set for translating content from different sources. The translation can be done by people or translation services of all kinds. It builds on and uses existing language tools and data structures in Drupal and can be used in automated workflow scenarios.

This module does not make i18n or any other language module for Drupal obsolete. It does only facilitate the translation process.

The first beta has been released, large improvements have been made (see the release notes for details) and there's even more work to do. Please test the new version and report any bugs that you can find.



All Drupal text elements can be used as source for translation:

  • Nodes
  • Entities
  • I18n Strings (Menu, Terms etc.)

A plugin architecture allows for the introduction of additional text sources (internal and external). Details see Sources Architecture

Translation Services

Lazy Pane

Lazy Pane is a ctools "cache" plugin that prevents a pane from rendering prematurely, loading it instead from the client side, on demand, via AJAX.


  • Supports Panels Displays
  • Supports Nested Lazy Panes
  • Supports Forms
  • Supports any type of CTools content-type. BAM
  • Uses the GET params from the host page. Views loaded through Lazy Page use the pager and filters given in the host page URL
  • Two different Lazy Pane loading strategies: Load as soon as the host page/pane has loaded; Load as soon as the pane placeholder's visible in the browser viewport;
  • Customize the Lazy Pane loading appearance: show spinner and text; show only spinner — or only text; show nothing.

Lazy Pane now supports panels displays as well as panes. This means you can use Lazy Pane on Panelizer, Mini Panels, Panels and other tools that use a Panels display. It's a panel heaven!

Go wild and insert Lazy Panes inside other Lazy Panes. Have a Lazy Pane load itself inside itself (!), achieving ad infinitum lazy pane-ness without a problem - just don't do it without a purpose...

I'll be recording a screencast in the near future demonstrating lazy pane usage and what you can use it for.

Facetapi Select

Adds an option for a select (dropdown) display for search facets using facetapi. The select form loads by js (no need to click 'submit') but degrades to use submit button.

Related projects

  • Facetapi Multiselect
    Can be used for more advanced select lists that use chosen and jQuery multiselect.

File Resumable Upload

Step 1: The widget is displayed

File Resumable Upload aka file_resup adds large files multiple and resumable upload to the File and Image field widgets.

Watch Daily Dose of Drupal Episode #181 about File Resumable Upload on CodeKarate.com!

Node Limit

The Node Limit module allows administrators to restrict the number of nodes of a specific type that roles or users may create. For example, if a site has an "Advertiser" role that can create "advertisement" nodes, then the node limit administrator can restrict all users in that role to a specific number of nodes. He may also restrict users on a per-user basis.