Add functionality and customize your Drupal application with thousands of projects contributed by our amazing community.

51,505 modules match your search

A module is code that extends Drupal's by altering existing functionality or adding new features. You can use modules contributed by others or create your own. Learn more about creating and using Drupal modules.

Display Suite

Layout on Field UI

Display Suite allows you to take full control over how your content is displayed using a drag and drop interface. Arrange your nodes, views, comments, user data etc. the way you want without having to work your way through dozens of template files. A predefined list of layouts is available for even more drag and drop fun!

By defining custom view modes, you can define how one piece of content should be displayed in different places such as teaser lists, search results, the full node, views etc.

Advanced options

  • Add your own custom fields in the backend or in your code
  • Add custom layouts in your theme
  • Change labels, add styles or override field settings (semantic fields).
  • Full integration with Views
  • Extend the power of your layouts by installing Field Group
  • Different layouts per node with the Switch View Mode feature in the Extras module

jQuery UI TouchPunch

Drupal 8 includes jQuery UI in core, however it is no longer actively
maintained and has been marked deprecated. This module provides the

D7 Media

Screenshot of the media browser

The Media module provides an extensible framework for managing files and multimedia assets, regardless of whether they are hosted on your own site or a 3rd party site - it is commonly referred to as a 'file browser to the internet'.

Media is a drop-in replacement for the Drupal core upload field with a unified User Interface where editors and administrators can upload, manage, and reuse files and multimedia assets. Any files uploaded before Media was enabled will automatically take advantage of the many of the features it comes with.

Media's aim is to solve Drupal's long standing media handling problem.

Drupal 8

Drupal 8.4.x now comes with a module called 'Media' that is similar to the D7 version. It is included in core as of 8.4.x. See this documentation on how to configure the 'core' module , no need to download this module it is included in D8/D9/D10+ core releases.

EU Cookie Compliance (GDPR Compliance)

EU Cookie Compliance logo

This module addresses the General Data Protection Regulation (GDPR) that came into effect 25th May 2018, and the EU Directive on Privacy and Electronic Communications from 2012. It provides a banner where you can gather consent from the user to store cookies on their computer and handle their personal information.

The module offers several methods for getting consent: Consent by default, opt-in and opt-out. It's also possible to only display the banner for visitors from the EU.

GDPR requires that you ask consent from your visitors if you store or process their personal details, such as the IP address or identifiable cookies.

Views Infinite Scroll

Views Infinite Scroll

Views infinite scroll allows you to load and display pages of any view inline, using AJAX (this has been called infinite scrolling, load more, autopaging, endless pages and more).

Diff

This module adds a tab for sufficiently permissioned users.

Entity reference

Provides a field type that can reference arbitrary entities:

  • A generic entity reference field
  • Four widgets:
    • Two implemented on top of the Options module (Select and Radios/Checkboxes),
    • Two autocomplete widgets (one with one text field per entry, one tag-style with comma-separated entries in the same text field)
  • Two formatters:
    • A "Label" formatter, with optional link that displays the label of the referenced entity (the node title, the user name, etc.)
    • A "Rendered entity" formatter, that renders the references entity using a configurable view mode
  • Integration with Views (for both forward and backward references)
  • Integration with Entity Metadata (and as a consequence with Search API and the like)
  • Integration with Devel generate
  • Integration with Feeds and Migrate (>= 2.3) for painless data import

This modules depends on Entity API and CTools.

Modules extending Entity reference functionality:

Entity Browser

Entity browser logo by David Ličen

Goal of this module is to provide a generic entity browser/picker/selector. It can be used in any context where one needs to select few entities and do something with them.

Crop API

Crop API logo.

Provides basic API for image cropping. This module won't do much by itself. Users should pick one of UI modules that utilize this API.

Superfish

Superfish integrates jQuery Superfish plugin with your Drupal menus.

Overview:

  • Unobtrusive JavaScript.
  • Multi-column sub-menus. (Megamenus)
  • Easing effects with the jQuery Easing plug-in.
  • Automatic sub-menu width calculation. (Supersubs plugin)
  • Automatic sub-menu position calculation, so they never appear off-screen, (Supposition plugin)
  • Keyboard-accessible.
  • Screen Reader compatible.
  • Touch-screen compatible.
  • Small-screen compatible. (<select> and vertical accordions)
  • Device determination for touch and small-screen plugins using window width and UA string (client-side and server-side), plus Modernizr support.
  • RTL (Right-to-left) support.
  • And a whole lot more...

Requirements:

Recommended additions:

Video Embed Field

Video Embed field creates a simple field type that allows you to embed videos from YouTube and Vimeo and show their thumbnail previews simply by entering the video's url.

Svg Image

This module changes default image field widget and formatter to allow use SVG image with the standard Image field.

Using SVG Image module you will not have to use another field type to load SVG image. Load SVG files into the Image field, it is not needed to create file field or special "SVG" type field.

Embed

A framework module to help smooth the developer experience of offering embeddable things using the Drupal 8 WYSIWYG editor.

Config Ignore

Introduction

Ever experienced that your site's configuration was overridden, by the configuration on the file system, when running a drush cim?

External Links

External Links

External Links is a small module used to differentiate between internal and external links.

Scheduler

Scheduler gives content editors the ability to schedule nodes to be published and unpublished at specified dates and times in the future.

Global Redirect

Global Redirect

Update: For Drupal 8 please use the redirect module. This project is deprecated for D8

What?

GlobalRedirect is a simple module which…

  1. Checks the current URL for an alias and does a 301 redirect to it if it is not being used.
  2. Checks the current URL for a trailing slash, removes it if present and repeats check 1 with the new request.
  3. Checks if the current URL is the same as the site_frontpage and redirects to the frontpage if there is a match.
  4. Checks if the Clean URLs feature is enabled and then checks the current URL is being accessed using the clean method rather than the 'unclean' method.
  5. Checks access to the URL. If the user does not have access to the path, then no redirects are done. This helps avoid exposing private aliased node's.
  6. Make sure the case of the URL being accessed is the same as the one set by the author/administrator. For example, if you set the alias "articles/cake-making" to node/123, then the user can access the alias with any combination of case.
  7. Most of the above options are configurable in the settings page. In Drupal 5 you can access this after enabling the globalredirect_admin module. In Drupal 6, the settings page is bundled into the module.

Easy Breadcrumb

Easy Breadcrumb

The Easy Breadcrumb module updates the core Breadcrumb block to include the current page title in the breadcrumb. The module also comes with additional settings that are common features needed in breadcrumbs.

Panels

An Overview of Panels

The Panels module allows a site administrator to create customized layouts for multiple uses. At its core it is a drag and drop content manager that lets you visually design a layout and place content within that layout. Integration with other systems allows you to create nodes that use this, landing pages that use this, and even override system pages such as taxonomy and the node page so that you can customize the layout of your site with very fine grained permissions.

Entity Embed

Embedding the Druplicon into a textarea using CKEditor.

Entity Embed allows any entity to be embedded within a text area using a WYSIWYG editor.

Mime Mail

This is a Mime Mail component module (for use by other modules).

  • It permits users to receive HTML email and can be used by other modules. The mail functionality accepts an HTML message body, MIME-endcodes it and sends it.
  • If the HTML has embedded graphics, these graphics are MIME-encoded and included as a message attachment.
  • Adopts your site's style by automatically including your theme's stylesheet files in a themeable HTML message format.
  • If the recipient's preference is available and they prefer plaintext, the HTML will be converted to plain text and sent as-is. Otherwise, the email will be sent in themeable HTML with a plaintext alternative.
  • Allows you to theme messages with a specific mailkey.
  • Converts CSS styles into inline style attributes.
  • Provides simple system actions and Rules actions to send HTML email with embedded images and attachments.

Note that there are some serious limitations you need to take into consideration when creating email layouts, see the Email Standard Project for more information.

This module is required by the Send module.

Requirements

The 7.x branch requires the Mail System module and at least Drupal 7.24.

Pages