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

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

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.

Acquia Connector

acquia_067CBB_300px.jpg

An Acquia Subscription enhances the Drupal experience by providing the support and network services to operate a trouble-free Drupal website. Subscribers to Acquia gain access to remote network services, and premium subscriptions provide web-based ticket management, as well as email and telephone support.

Administer Users by Role

This module allows site builders to set up fine-grained permissions for allowing "sub-admin" users to manage other users based on the target user\'s role.

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.

String Overrides

String Overrides

Provides a quick and easy way to replace any text on the site.

Features

  • Easily replace anything that's passed through t()
  • Locale support, allowing you to override strings in any language
  • Ability to import/export *.po files, for easy migration from the Locale module
  • Note that this is not a replacement to Locale as having thousands of overrides can cause more pain then benefit. Use this only if you need a few easy text changes.

Publish Content

Picture 6.png

This module enables granular publish and unpublish permissions which allows you to grant roles on your site the ability to publish or unpublish specific content types without having to give them the administer content permissions. This is a lightweight solution to managing your content workflows.

Config Pages

Access config pages management

DO I NEED IT?
At some point i was tired of creating custom pages using menu and form api, writing tons of code just to have a page with ugly form where client can enter some settings, and as soon as client wants to add some interactions to the page (drag&drop, ajax etc) things starts to get hairy. Same story was with creation of dedicated CT just to theme a single page (like homepage) and explaining why you can only have 1 node of this type, or force it programmatically.

If this sounds familiar, then this module may be just a thing you were looking for :)

Transliterate filenames for uploads

The "Transliterate Filenames for Uploads" module is obsolete with Drupal core >= 10.2. All features of this module are now in core.

Entity Browser Enhance(d|r)

Entity Browser Enhanced Module

This module provides some behavior and style enhancements to Entity Browsers, specifically for multiselect and image/media browsers.

Group

The Group module allows you to create arbitrary collections of your content and users on your site and grant access control permissions on those collections

Autocomplete Deluxe

Autocomplete Deluxe - Claro admin theme

This is an enhanced autocomplete element, that uses the jQuery UI autocomplete. It will also implement a widget for taxonomy.

SEO Checklist

Drupal SEO Checklist checks for installed modules.

Drupal SEO Checklist - What is it?

The Drupal SEO Checklist uses best practices to check your website for proper search engine optimization. It eliminates guesswork by creating a functional to-do list of modules and tasks that remain. Updated regularly with the latest techniques, it makes on-page Drupal search engine optimization hassle-free.

It breaks the tasks down into functional needs like Title Tags, Paths, Content and many more. Next to each task is a link to download the module from D.o and a link to the proper admin screen of your website so that you can configure the settings perfectly.

Drupal SEO Checklist also keeps track of what has already been done. It places a date and time stamp next to each item (when you click save). That provides a simple report that you can share with others showing what's been done.

You need Drupal SEO Checklist if

  • You know SEO basics pretty well
  • You work on a lot of different websites and need help keeping track of what you've done on each
  • You know how to properly configure modules for SEO needs
  • You are a list-maker! Or, you simply enjoy checking things off when they're done.

Drupal SEO Checklist does not:

  • Provide good SEO strategy

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).

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)

Elysia Cron

Elysia Cron status page

Elysia Cron extends Drupal standard cron, allowing a fine grain control over each task and several ways to add custom cron jobs to your site.

  • Set the timings and frequencies of each cron task (you can run some jobs every day at a specified hour, other only monthly and so on...). For each task you can simply choose between some frequently used options ("once a day", "once a month" ...), or use a powerful "linux crontab"-like syntax to set the accurate timings. You can even define your frequently used options to speed up site configuration.
  • Parallel execution of cron task: you can group jobs in channels and execute then simultaneously: so a task that takes a lot of time to execute won't block other tasks that need to be executed every 5 minutes...
  • You can disable all tasks, an entire channel or a single task.
  • Change the priority/order of task execution.
  • Manual force the execution of a cron tasks.
  • Detailed overview of cron status with time statistics for single tasks and channels.
  • powerful API for module developers: you can define extra cron tasks for your modules, each one with own default timings (site administrators can override them by configuration, other modules via hook_alter).
  • Administrators can define custom jobs (call to functions with parameters), via the "script" option.
  • Several optimization for frequent cron calls and error handling.
  • Protection from external cron calling by cron_key or allowed host list.

Elysia has no dependencies with contributed modules, and doesn't need to patch the core: it can be used in minimal Drupal installation with only core modules.

3rd party integration:

  • Ping feature, for external tracking services like host-tracker to tell whether cron is functioning properly on your site.
  • Drush support: you can call "drush elysia-cron run" to manually run extended cron.
  • CTools support for exports/backup of task settings.
  • Features support.

Simplify

Simplify - before & after screenshot

Introduction

Simplify allows particular fields to be hidden from the user interface. This helps to de-clutter forms and present a more user-friendly experience to content editors.

Sub-pathauto (Sub-path URL Aliases)

The Drupal Path module matches only full URLs when creating SEO-friendly aliases. This module extends that behavior by also matching known sub-paths and replacing them with their respective alias.

For example, if user/1 is aliased to users/admin, this module rewrites the link to the user contact page user/1/contact to use the aliased URL users/admin/contact instead. This also includes Views URLs taking a node as argument (e.g. node/%/yourview), in short, every URL that is based on, or extends, an existing alias. In combination with the Pathauto module it is possible to get rid of all remaining exposed internal non-administrative URLs.

Site verification

The primary reason this project exists is to make the site verification process for search engines and other services as easy as possible for non-technical users.

Menu Token

Menu Token module in action

Menu Token module provides tokens, that could be used in title or in path of menu items (links). For example, if you create a menu item with path: "user/[current-user:uid]", the url will be changed "on fly" to: "user/1" (assuming you are user 1).

Tokens are provided by Token module. Menu Token allows to use both global tokens and entity ones: node, user, term, etc. Entity tokens have several methods of substitution: from context, random and user defined.

Menu Token Resources

Menu Token functionality can be extended gracefully. Following some examples:

  • Menu Token module implements Ctools plugin system and allows to plug in new token handlers.
  • Use Menu HTML module and select "Allow html" in your menu item.
  • Superfish integrates jQuery Superfish plugin with your Drupal menus. Use Superfish 1.9-beta5 or greater.
  • Use Extended path aliases to automatically translate paths like 'user/1/mycontent' to 'users/admin/mycontent'. Just need to create a 'root' path alias: 'users/admin'. See #1320842: Work with the Path Auto module.
  • Menu item visibility exposes configurable and extendable visibility settings for menu links. You'll need to set module weights so that Devel node access > Menu item visibility > Menu Token.
  • You can use Tokenize Request Parameters module along with the Menu Token to configure this sort of functionality without the need to code a new module. Tokenize Request Parameter allows you to define what URL parameters to convert into tokens. It makes the tokens available to any token module that consumes tokens (Token Filter, Menu Token, Rules, etc.)

ThemeKey

ThemeKey allows you to define simple or sophisticated theme-switching rules which allow automatic selection of a theme depending on current path, taxonomy terms, language, node-type, and many, many other properties. It can also be easily extended to support additional properties exposed by other modules. In combination with Drupal's theme inheritance you can easily achieve features like:

  • individually-styled channels
  • a front-page / "splash" screen
  • a date/time-selected Christmas theme
  • mobile themes for different auto-detected mobile devices
  • special themes for "limited" or "old" browsers
  • content, user, or role -specific themes
  • indicating your environment (production, staging, testing, sandbox, … )
  • testing your redesign safely on a live server
  • ...

And unlike other theme switching modules, ThemeKey should play well with internal and external page caches, like Boost or Varnish, even for anonymous users.

Feedback is welcome!

Damn, ThemeKey ... ROCKS! Really appreciate the kick ass work you did on this :) mortendk

Fast Permissions Administration

Drupal 8

This module is here to alleviate frustration when trying to manage permissions in Drupal. By providing a better permissions interface hopefully a few innocent keyboards and mice can be saved.

Pages