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

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

Webform Reply To

A key part of the Webform module is sending e-mails. Webform lets you customize the name and e-mail address that is used for outgoing e-mails, but often this is not enough. You cannot use Webform to set a custom "Reply-To" e-mail header, for instance. That's where this module comes in!

Message Notify

Message Notify provides a method for sending a message via a notifier plugin. Message Notify comes with plugins for email and SMS and may be extended to other transport mechanisms as required. Message Notify is part of the message stack, a suite of modules that provide a framework for messaging and notifications.

Icon API

This module provides integration for icon bundles and icon providers throughout Drupal.

Integrations

  • icon_block - icon support for blocks.
  • icon_menu - icon support for menu items.
  • icon_field - icon support on field-able entities.
  • icon_filter - icon support as a filter for text-area fields.

Commerce Discount

The discounts overview table.

Commerce Discount provides a user interface for creating and managing various types of Product and Order discounts. It lets merchants more easily configure promotions without having to learn Rules, a core requirement for product pricing in Commerce 1.x.

The module adds essential features to promotions through the use of a custom entity type, including fields to configure how a discount is displayed in the cart, usage counts, valid date ranges, and more. Refer to the project documentation to learn how these features work.

Furthermore, since these custom entities are exportable, developers who prefer to can manage them in code for version control and testing / deployment purposes.

Lightning Layout

Lightning Layout provides modules and configuration for great layout authoring experiences. It uses core's Layout Builder to enable a drag-and-drop experience when laying out pages.

Advanced Queue

Drupal 8

Provides a better queue API for Drupal 8.

JS injector

JS injector (8.x) running on Drupal 8

Allows administrators to inject JS into the page output based on configurable rules. It's useful for adding simple JS tweaks without modifying a site's official theme - for example, a 'nighttime' color scheme could be added during certain hours. The JS is added using Drupal's standard drupal_add_js() function and respects page caching, etc.

This module is definitely not a replacement for full-fledged theming, but it provides site administrators with a quick and easy way of tweaking things without diving into full-fledged theme hacking.

The rules provided by JS injector typically are loaded last, even after the theme JS, although another module could override these.

7.x-1.x

This is the original port from CSS injector, and still has legacy D6 and CSS injector code in it. It is not recommended to run this code, and instead opt to upgrade to the 7.x-2.x branch.

7.x-2.x

This is a complete rewrite of the module to take advantage of the new API's available in both drupal 7 and ctools (this is a new dependency).

New features in this branch:

  • retains all existing functionality from 7.x-1.x
  • new ctools export API integration
  • new ctools export UI API integration

Entity Browser Block

Entity browser block example form

This module provides a Block Plugin for every Entity Browser on your site.

Panels Breadcrumbs

Panels Breadcrumb configuration

Panels Breadcrumbs allows you to set your breadcrumbs directly from Panels configuration, and also allows you to take advantage from Panels arguments and contexts as placeholder tokens.

Exportability

The Breadcrumb configuration is saved along with the page, which means that if you export the page through a Feature, the breadcrumbs you've set will also have been exported.

New in 2.x

Support for Panelizer and configurable breadcrumb panes. Panelizer support requires a panelizer 7.x-3.x version from at least 30 November 2012.

Development sponsored by DRI Discovery/Reinvention/Integration/

Also

Need to configure meta tags within Panels? Check Metatag module. It now comes with Panels support.

Comment Notify

Checkbox allowing a user to sign up for comment notifications.

Email authors and visitors about new comments posted on pages they've commented on.

Commerce Feeds

Import or aggregrate Commerce entities (e.g. products) using Feeds

Using the power of Feeds, almost any type of data can be imported into commerce entities, be it data in the Comma-Separated Values (CSV) format, XML format (use Feeds XPath Parser), or any other format for which a feeds importer exists. Data can also be synchronized from a remote location, e.g. from an XML or RSS feed, handling potential issues associated with duplicate content. Large amounts of data can be comfortably imported because of the Feeds usage of Drupal's core Batch API. This module can import both commerce entities and their associated commerce display nodes in two consecutive steps.

The module contains:

  • Product processor for Feeds that creates product entities in Drupal.
  • Profile processor for Feeds that creates customer profile entities in Drupal.
  • Commerce coupon processor for Feeds that creates coupon entities in Drupal.
  • Commerce price mapper supporting the creation of price amounts and currency codes from raw input.
  • Commerce product reference mapper supporting the creation of relationships between product displays and product entities.

Vocabulary Description Length

This small module modifies the taxonomy_vocabulary_form to convert the description field type from a textfield to a textarea.

Term Merge

duplicate suggestion tool

When using taxonomy for free tagging purposes, it's easy to end up with several terms having the same meaning.

Views year filter

Year views filter option

This module add the possibility to expose date/date time filter with year (format CCYY) instead of using full date (format CCYY-MM-DD HH:MM:SS)

Token tweaks

Provides tweaks for tokens (mostly to improve performance)

Apache Solr Search

This module integrates Drupal with the Apache Solr search platform. Solr search can be used as a replacement for core content search and boasts both extra features and better performance. If you're looking for Apache Solr integration, this is possibly the best option available.

Features

Faceted Search
Faceted search is supported if you use the facet API module. Facets will be available for you ranging from content author to taxonomy to arbitrary fields.
More like this
Relevant content blocks ("More like this" blocks) can be added to any node page. The block will show you relevant nodes and/or nodes similar to the one your site-visitor is viewing. The analysis happens realtime in Solr
Search Pages
Multiple search pages with optionally customized search results, layout and others
Search Environments
Add multiple Solr Search cores and query them so you can optimally connect to the one of your choice. Ideal to have multiple facet configurations.
Range Queries

Administration Language

Languages

This module lets the administrator see all administration pages in her preferred language.

You can use this to display the frontend of the site in one language and still keep most of the backend in English (or another language of your choice).

HTTP Parallel Request & Threading Library

Blocking vs Non Blocking

This is a library module. It provides no out of the box functionality other then providing an API that other modules/code can use. Other projects might require/recommend this module. Install HTTPRL only if other modules recommend or require it.

What does httprl do?

Using stream_select() it will send http requests out in parallel. These requests can be made in a blocking or non-blocking way. Blocking will wait for the http response; Non-Blocking will close the connection not waiting for the response back. The API for httprl is similar to the Drupal 7 version of drupal_http_request().

As a bonus, a simple threading library is built on top of the parallel http requests functionality. This allows you to split a job and have multiple http "workers" running this split job in parallel. Anything that takes a long time to do can greatly benefit from using threads.

Benchmarks

Add To Head

This project allows you to inject content into the $head, $scripts and $styles elements in the

Unlimited Number Field

Standard field with user defined field title and description.

Adds a custom render element and field widget allowing the user to choose "Unlimited" or a number value.

UI Patterns

Define and expose self-contained UI patterns as Drupal plugins and use them seamlessly in Drupal development and site-building.

Also called "components", UI patterns are reusable, nestable, guided by clear standards, and can be assembled together to build any number of applications. Examples: card, button, slider, pager, menu, toast...

Taxonomy Term Depth

Depth property

This module adds crucial property called "depth" which indicates the term depth with a value 1, 2, 3 and further if needed. It automatically changes taxonomy term depth on save or update.

Pages