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

4,978 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.

Real Name

The RealName module allows the administrator to choose fields from the user profile that will be used to add a "real name" element (method) to a user object. Hook_user is used to automatically add this to any user object that is loaded. It will also optionally set all nodes and comments to show this name.

SVG Image Field

SVG Image Field module's logo depicting a curve vector being edited with drag handles and a pen tool

Adds SVG support to Drupal by way of a new vector image field type, formatter, and optional media bundle separate from the out-of-the-box raster image functionality. Also integrates with Acquia Site Studio.

Layout Builder Modal

Logo

This module lets you add and configure existing blocks in a modal in the Layout Builder UI.


Layout Builder provides you with the tools to create a modern authoring experience.

Background Images Formatter

This module provides an image formatter that allows you to set an image in background of a tag.

Simple hierarchical select

Simple hierarchical select defines a new form widget for taxonomy fields to select a term by "browsing" through the vocabularies hierarchy.
The widget is available in node forms and as Views exposed filter.

Menu Position

Screenshot of content placed with Menu position module

Often times site builders want certain types of content to appear in a specific position in the navigational menu. The simplest solution, adding all of that content individually to the menu system, has performance and usability issues. (Imagine hundreds of menu items added to one spot in the menu.)

This module allows for the creation of rules that will dynamically add the current page into the menu system at the requested spots.

This includes affecting:

  • The main links of the theme
  • The secondary links of the theme
  • The breadcrumb trail
  • Menu blocks provided by core's Menu module
  • Menu blocks provided by the Menu Block module

Custom Breadcrumbs

Custom breadcrumbs 10.x

What works:

  • ability to add custom breadcrumb for all content entity or paths like page manager, views etc
  • store settings using config entity so everything is exportable
  • setup homepage link
  • setup current page last crumb
  • multilanguage support
  • token support
  • extra cache contexts
  • extra vars like nolink and hierarchical breadcrumbs from taxonomy term tree
  • added ability to attach breadcrumb to every entity display mode, for example on teaser with search results
  • trim breadcrumb length
  • ...

Custom Breadcrumbs (7.x-2.x)

Many new features have been added including support for Views, Panels, Taxonomy vocabularies and terms, paths, and a simple API that allows contributed modules to enable custom breadcrumbs for module pages and theme templates. These are implemented using optional, independent submodules that depend on the main Custom Breadcrumbs module.

In addition to breadcrumb visibility, this version provides an option permitting PHP code snippets to be used in forming the breadcrumb titles and paths. Multiple languages are also supported.

Any changes must go in the 7.x version first.

Entity Print

Entity Print allows you to print any Drupal entity (Drupal 7, 9 and 10) or View (Drupal 9 and 10 only) to PDF.

Charts

Charts logo

The Charts module enables users to build dynamic charts without writing a line of code by using the Views module or a Chart field (advanced users can make use of the Charts API). Users can choose between multiple charting libraries, such as Billboard.js, C3.js, Chart.js, Google Charts, or Highcharts.

Owl Carousel

This module integrates Owl Carousel, a touch enabled jQuery plugin that lets you create a beautiful, responsive carousel sl

Layout Builder Styles

Overview

This module allow site builders to select from a list of styles to apply to layout builder blocks and layout builder sections.

Gallery formatter

Galleryformatter

Gallery formatter provides a CCK formatter for image fields, which will turn any image field into a jQuery Gallery.

(Drupal 6) Watch the screencast for a demo of how to set it up REMOVED BY BLIP.TV!, or visit the demo page for seeing it in action.

Features:

  • Two imagecache presets which will work out of the box beautifully.
  • The thumbnails run under an infinite carousel.
  • Degrades gracefully without JS enabled, the gallery still works.
  • Integrated out of the box with thickbox, colorbox (recommended as the thickbox upgrade path), shadowbox and lightbox2 for the view full links.
  • Works with the swfupload, image_fupload, and imagefield_crop widgets.
  • A hook for modules to provide styles for the galleries.
  • Two options for styles, no style and a green arrows style. No style should be used for developing your own styles.

GMap Module

🇺🇦

This module is maintained by Ukrainian developers.

SpamSpan filter

The SpamSpan module obfuscates email addresses to help prevent spambots from
collecting them. It is based on the technique from
spamspan but has undergone major modifications, as the original spamspan code hasn't been updated since 2007.

Menu Per Role

Sample of hide/show flags in the edit node and edit menu forms.

This module allows you to restrict access to menu items based on user roles. Just activate the module and edit a menu item as usual.

Juicebox HTML5 Responsive Image Galleries

Juiceboc gallery screenshot

This module provides an integration between the popular Juicebox HTML5 responsive gallery (Javascript) library and Drupal. As of April 2023 we are focusing on developing a stable version of Juicebox for Drupal 10. See the documentation link (right side of page) for a preview of documentation changes. Feel free to make comments in the discuss section there.

The Juicebox library, which is distributed, maintained and supported separately from this Drupal project, is:

  • Based on HTML5 and supports "universal playback". This means it can run on nearly any device and supports multiple input methods (touch gestures, etc.).
  • Fully responsive so galleries can dynamically re-size and adapt to different browser sizes.

This Juicebox module integrates with the library and allows you to turn arbitrary Drupal image data into Juicebox galleries. It includes:

  • A field formatter that allows image and file fields to be formatted as Juicebox Galleries (individual nodes/entities can contain Juicebox galleries).
  • A views style plugin that allows content and file views to be formatted as Juicebox galleries (groups of nodes/entities or files can become Juicebox galleries).

Colorbox Node

Gives the user the ability to display ANY page inside a colorbox modal without the header and footer.

Panelizer

Panelizer configuration screen

The Panelizer module allows you to attach Panels to any node in the system. It is similar to the panels_node module that ships with Panels, which provides a single node type that is a panel. Panelizer, however, allows this to work for many entity types. It works by using the Page Manager template to take over the page rendering of the node. In Panelizer 7.x-3.x, each view mode may also be panelized individually, with special view modes added for the old-style "Page Manager" page display.

  • The administrator can specify which entity types may be panelized.
  • The administrator can specify what content is allowed and what layouts are allowed per entity bundle.
  • The administrator can specify a default panel to use per entity bundle. If a default panel is not specified, then panelized entities are normal entities until they are individually panelized. If a default panel is specified, then all entities of that type are automatically panelized with the default panel, and each entity can then have that panel modified.
  • All entity fields are immediately available as panel panes. Additionally, with token.module, you can create custom content panes and use tokens to aggregate several fields into a simple piece of text.
  • Unlike Panel Nodes, Panelizer allows additional contexts to be added to the panel, not just the node being panelized.

Taxonomy display

Taxonomy display configuration form

The taxonomy display module allows administrative configurable term display pages. This allows administrators to override the default presentation of taxonomy term pages per vocabulary through the taxonomy term page's manage display form.

Hook into taxonomy term pages

Taxonomy display exposes three plugin types for modules to overwrite portions of taxonomy term pages by providing their own plugins. These plugins are selectable on a per vocabulary basis, allowing the site administrator to decide which plugins they want to display for each vocabulary. To learn how to provide your own plugins see the developer resources page.

Selectable term displays

  • Core

    • Plays nicely with Display suite.
    • Does not conflict with modules that make use of hook_taxonomy_term_view_alter(), hook_entity_view(), or hook_entity_view_alter().
  • Hidden

Selectable associated content displays

  • Core

Hierarchical Select

Hierarchical Select

Description

This module defines the "hierarchical_select" form element, which is a greatly enhanced way for letting the user select items in a hierarchy.

Hierarchical Select has the ability to save the entire lineage of a selection or only the "deepest" selection. You can configure it to force the user to make a selection as deep as possible in the tree, or allow the user to select an item anywhere in the tree. Levels can be labeled, you can configure limit the number of items that can be selected, configure a title for the dropbox, choose a site-wide animation delay, and so on. You can even create new items and levels through Hierarchical Select!

For a good overview of what Hierarchical Select can do, look at this demo!

Drupal 7 version

The Drupal 7 version integrates with:

  • Taxonomy (Drupal core)
  • Menu (Drupal core)
  • Entity Reference (rudimentary support)

Insert View

Insert View is a filter that allows users to embed content lists generated by the Views module into node bodies and blocks using relatively simple tag syntax.

Pages