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

51,551 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.

Node clone

The clone module allows users to make a copy of an existing item of site content (a node) and then edit that copy. The authorship is set to the current user, the menu and url aliases are reset, and the words "Clone of" are inserted into the title to remind you that you are not editing the original content.

Menu Admin per Menu

By default, Drupal allows only users with the Administer menus and menu items permission to add, modify or delete menu items.

Menu Admin per Menu allows to give roles per menu admin permissions without giving them full admin permission.

For instance, you may let certain users manage the items of the Main or Navigation menus but not those of the Management menu.

Try out a demonstration
Watch a screencast

Security Kit

Screenshot

SecKit provides Drupal with various security-hardening options. This lets your mitigate the risks of exploitation of different web application vulnerabilities.

SecKit facilitates certain mitigations for Cross-site Scripting, Cross-site Request Forgery, and Clickjacking, among other issues.

Link Attributes widget

Screenshots of the link attributes UI

Overview

Link attributes widget provides an additional widget for the link field found in Drupal core.

The widget allows users to set attributes on their link.

Variable

Variable module provides a registry for meta-data about Drupal variables and some extended Variable API and administration interface.

This is an API module so it must be installed only when other modules require it.

Module Developers: Please declare your variables.

Add-ons for module developers here: Variable Extra

This is a nice introduction to the module by Lullabot, Module Monday: Variable.

¿Drupal 8? #2146779: Port Variable to Drupal 8

Why?

  • So other modules can know about your module's variables and they can be translated, exported, used in views, etc.
  • You'll get automatic variable edit forms, tokens, access control and uninstall for free
  • Your module's variables will be allowed for Variable Realms being able to get values for each language (Internationalization) or Domain (Variable Domain)

jQuery UI Draggable

hand picking up the jquery ui logo

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

FileField Sources

filefield-sources.png

FileField Sources is an extension to the FileField module. The FileField module lets you upload files from your computer through a CCK field. The FileField Sources module expands on this ability by allowing you to select new or existing files through additional means, including:

  • Re-use files by an auto-complete textfield
  • Attach server-side files uploaded via FTP
  • Transfer files from a remote server (cURL required)
  • Paste a file directly from the clipboard (Drupal 7 only)
  • Select existing files through the IMCE file browser

Although FileField Sources provides several built-in sources, it can be extended by any module through an API for creating new sources. Users can toggle between any of the available methods for selecting a file.

Drupal 6 Requirements:

  • CCK 2.6 or higher
  • FileField 3.5 or higher

Drupal 7 Requirements:

  • None (all modules are included in core)

Additional Sources
There are a number of modules that add additional sources to FileField Sources:

Drupal Symfony Mailer

A new mail-system based on the popular Symfony Mailer library giving full support of HTML mails, file attachments, embedded

Role Delegation

Example of permissions added by Role Delegation

This module allows site administrators to grant specific roles the authority to assign selected roles to users, without them needing the administer permissions permission.

AddToAny Share Buttons

AddToAny Logo

Share buttons for Drupal including AddToAny's universal sharing button, Facebook, Mastodon, Pinterest, WhatsApp, Reddit, SMS, email, and many more.

Large vector share buttons use AddToAny SVG sharing icons. AddToAny vector icons load efficiently, are mathematically precise, scalable to any size, and stunning on High-PPI screens such as Retina displays.

Share buttons

  • Universal sharing button
  • Modern SVG sharing buttons
  • Automatic dark mode
  • Elegant Drupal integration
  • AJAX support
  • Display on articles
  • Display on article teasers
  • Display on pages
  • Display in blocks
  • Display in views

More…

Color backport

Overview

Color is the module that was in Drupal core until Drupal 10.0.
It was deprecated in Drupal core 9.4 and moved to contrib.

Entity Usage

Media entity usage tab

This module provides a tool to track entity relationships in Drupal.

Currently the following tracking methods are supported:

Advanced CSS/JS Aggregation

When configured to do so, advagg can improve page rendering speeds

Summary

Note: AdvAgg needs a major rework for Drupal 10.1 - recommend holding update or disabling AdvAgg until a new release comes out.

Image URL Formatter

This module add a url formatter for image field. Then you can output image url directly.

Most of the code, maybe more than 90%, is just copy from the drupal core. I think it is stable enough.

I have created a content type, and add an image field instance to it, later i use views to export the data of this content type.And i want to output the data,then i could import it into another drupal 7 site with feeds module. What i need is the url of the image field, but i could not export the image url directly. That is why i create this small module.

Usage

(1)After install this module,then you add an image field,then you can goto this bundle's manage display page,here at format column,you can choose "Image URL" instead of "Image".

(2)When you add an image field in your views,then you config the Formatter for this field, here you can choose "Image URL" instead of "Image".

Then you can output image's URL instead of Image itself.

Compare with the method shipping with views

(1) timofey give another method that do not using this module:
Based on Drupal 7, Views 3
Add a "File Usage: File" relationship (Advanced->Relationsips)
Add a "File: Path" field, NOT "Content: Image" (Block details->Fields)
You will have limitless options on image path output. Click to Display download path instead of URI.

Commerce Core

Commerce Core is maintained by Centarro.

Drupal Commerce powers eCommerce innovation through every stage of growth. At its core it is lean and mean, enforcing strict development standards and leveraging the greatest features of Drupal for maximum flexibility.

eCommerce platforms are often developed with an application mindset, highlighting what you can do with them out of the box. Drupal Commerce was developed with a framework first mindset, focusing on what you can build with it. The Commerce Core project was designed to enable teams to adapt to change and scale with ease.

Sponsored and maintained by Centarro.

Plupload integration

screenshot_115.png

Provides integration for the Plupload widget into Drupal. Plupload is a GPL licensed multiple file uploading tool that can present widgets in Flash, Gears, HTML 5, Silverlight, BrowserPlus, and HTML4 depending on the capabilities of the client computer.

Security warning

In order to protect your site you should ALWAYS delete examples subfolder from Plupload library. There is a patch, that can help you to do that in one simple step or to include it in a distribution.

Compatibility warning

Library version v2.0.0 and later are currently unsupported. Latest supported version of library is v1.5.8, which can be downloaded from https://github.com/moxiecode/plupload/archive/v1.5.8.zip.

MaxLength

MaxLength allows a soft or hard character limit to be set on titles, text fields and link fields.

Menu Breadcrumb

This module allows you to use the menu the current page belongs to for the breadcrumb, generating breadcrumbs from the titles of parent menus.

You may also:

Configuration Update Manager

The Configuration Update Manager project contains a base module and a reporting module.

Use the base module if another project has it as a dependency (example: Features).

The report module supplements the core Configuration Manager module, by providing a report that allows you to see the differences between the configuration items provided by the current versions of your installed modules, themes, and install profile, and the configuration on your site. The report is available from the administration UI, or via Drush commands.

Job Scheduler

Simple API for scheduling tasks once at a predetermined time or periodically at a fixed interval.

Geolocation Field

Google Maps widget

Geolocation Field defines a new field type to store geographical locations as pairs of latitude and longitude (lan,lng). The Geolocation Field can be used with all fieldable entities like nodes, users, comments, taxonomy terms, etc.

Automated Logout

autologout block example

This module provides a site administrator the ability to log users out after a specified time of inactivity.
It is highly customizable and includes "site policies" by role to enforce logout.

Chosen

chosen.png

Chosen uses the Chosen jQuery plugin to make your <select> elements more user-friendly.

Usage

By default the module will automatically apply itself to any select elements that have more than 20 options, which is a reasonable default for which having Chosen will be useful. To change or disable this automatic enhancement, you can change the selectors (or remove all selectors) from the Apply Chosen to the following elements field on the Chosen administration page.

Installation via Composer for Drupal 8-9

If you are using Composer to manage your site's dependencies, then read the README file for more information on how to set it up.
This video walks through the installation process.

Manual Installation

  1. Download the Chosen jQuery plugin.
  2. [Drupal 7] Extract the plugin under sites/all/libraries
  3. [Drupal 8-9] Extract the plugin under libraries/chosen. Use version 1.5 or higher.
  4. Download and enable the module.
  5. Configure at Administer > Configuration > User interface > Chosen (requires administer site configuration permission)

Installation via Drush

A Drush command is provided in the latest versions for easy installation of the Chosen plugin.

drush chosenplugin

The command will download the plugin and unpack it in "sites/all/libraries".
It is possible to add another path as an option to the command, but not
recommended unless you know what you are doing.

Dependencies

The 7.x-2.0-alpha2 and 7.x-2.0-alpha4 releases added a dependency on the jQuery Update module. As of 7.x-2.0-beta1 this dependency has been removed.

The Drupal 8-9 version has no dependencies.

Pages