17,745 Modules match your search

Extend and customize Drupal functionality with contributed modules. If a module doesn't quite do what you want it to do, if you find a bug or have a suggestion, then join forces and help the module maintainer. Or, share your own by starting a new module.

Views Megarow

What is Views megarow?

This module allows you to display content coming from a menu callback between
two items of a views result set as a modal-like.
You can use it to display a preview of your node or to build an administrative

In order to use it:

  1. Create a new view
  2. Select the "Megarow table" format
  3. Add a "Megarow links" field
  4. In this field enter one megarow link per line, the structure of a link is the link title and its path joined with a pipe sign (|) (eg: Preview|node/1).
  5. Save your view and display your table
  6. When you will click on a link, Drupal will load what's behind this page and will render it as the megarow content below the current result of the view.

Views megarow has been designed to let you render forms in the megarow meaning
that you can have validation functions that will block the form submission
and once the form is properly submitted the line of results can be refreshed
to display the new values.

Out of the box you don't have an example of this feature, have a look to
Commerce Backoffice to see
an example of this implementation.


Views Load More

Yes, this is indeed, Yet another load more pager for views.

This module has some very key differences then the other load more module.

  • Provide ajax/no-ajax views load more
  • Works with views default ajax implementation, no hacks (check/uncheck ajax)
  • Supports the Waypoints module for loading on various points, Such as when the scroller is visable on the page.
  • Supports the Fade effect when loading new content.

Install the Waypoints module for extra features.


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 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.
  • Superfish integrates jQuery Superfish plugin with your Drupal menus. Use Superfish 1.9-beta5 or greater.
  • 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.


Workbench Moderation


Workbench Moderation adds arbitrary moderation states to Drupal core's "unpublished" and "published" node states, and affects the behavior of node revisions when nodes are published. Moderation states are tracked per-revision; rather than moderating nodes, Workbench Moderation moderates revisions.


Path Breadcrumbs

Settings form

This module is a solution for all problems with the breadcrumbs on your site!

Path Breadcrumbs module helps you to create breadcrumbs for any page with any selection rules and load any entity from the URL!


  • Breadcrumbs navigation may be added to any kind of page: static (example: node/1) or dynamic (example: node/%nid).
  • You can load contexts from URL and use it like tokens for breadcrumb path or title.
  • You can use selection rules for every breadcrumbs navigation.
  • Module supports ALL tokens from Entity tokens module (part of Entity module).
  • Module provides magic token "pb-join" for taxonomy hierarchy (1) and complete menu trail (2).
  • You can import/export breadcrumbs (supports single operations, Features and Ctools bulk export).
  • Breadcrumbs can be cloned to save you time while building navigation.
  • Module provides rich snippets support for breadcrumbs (RDFa and Microdata).
  • Module provides first/last/odd/even classes to every breadcrumb link.
  • You can change breadcrumbs delimiter.
  • Breadcrumbs could be hidden if they contain only one element.
  • You can disable breadcrumbs and enable them later.
  • All breadcrumb titles are translatable.
  • Ctools API & Path Breadcrumbs API


Commerce features

Features integration for Drupal Commerce.


Node Convert

Node Convert adds a menu tab "Convert" on the node view page, i.e. node/1/convert, which gives the ability to convert the node from its current node type to another node type. The module provides the means to transfer all the field values of the current node type into fields on the destination node type, or discard them.

The module integrates with Actions, Rules, Views Bulk Operations and Admin Views nicely. It has support for exporting templates into Features using CTools Exportables.
It also provides a hook that enables developers to execute additional code on conversion.


Field validation

This module adds an extra tab to each field instance, allowing you to specify validation rules for your field instances.

The following validators are currently included (7.x-2.x):

  • Regular expression
  • Numeric values (optionally specify min and / or max value)
  • length (optionally specify min and / or max length)
  • number of words (optionally specify min and / or max words )
  • Plain text (disallow tags)
  • Must be empty (Anti-Spam: Hide with CSS)
  • Words blacklist
  • number of selections (optionally specify min and / or max selections )
  • Unique
  • Match against a field
  • Match against a property
  • Specific value(s)
  • Require at least one of several fields
  • Equal values on multiple fields
  • Unique values on multiple fields
  • PHP Code (powerfull but dangerous)
  • URL (support internal path and external url validation)
  • Email
  • Pattern (Regular expression lite)
  • Date range2

Following validators are included in sub module field validation extras:

  • Color(HTML5)
  • Date(ISO)
  • EAN number
  • Field collection unique
  • Integer values
  • IP Address
  • Numeric(HTML5, with the option to specify min/max/step)


Webform Conditional (Same Page Conditionals)


This modules enhances the existing Conditional Rules of the Webform Module. It adds the ability to make components dependent on select components(i.e. listboxes, radio buttons, and checkboxes) that appear on the same page.


As of Webform version 7.x-4.0-alpha2 this module has been merged into Webform and is no longer necessary. The 7.x-2.x version of this module handles this upgrade. See: #1616376: Create Migration to Webform 4.x

Webform already has support for conditional fields on multi-page forms. For example Field C on Page 2 can be dependent on Field A on Page 1. This module adds the ability to have conditional fields on the same page. This module adds the ability to have Field B on page 1 be dependent on Field A also on Page 1.

This module requires Webform 6.x-3.x.

Features overview:

  • Showing and hiding components based on "Select options" components that appear above a component on the same page.
  • Fieldsets can be hidden. All contained components will be hidden.
  • Mandatory Components will not be mandatory unless shown on the form.

View a demonstration form

Screencast Demo



While working on the new content translation system for Drupal 7, we (the Drupal core i18n team) faced the need to convert node titles to the Field API in order to make nodes fully translatable.

We were not able to make this happen in Drupal 7 core (#557292: TF #3: Convert node title to fields and #571654: Revert node titles as fields), so we decided to find a solution for this in contrib: the idea is replacing node titles with fields à la Automatic Nodetitles.

This will be exploited by the related Entity Translation project.


Title requires core version at least 7.15.


After enabling the module as usual, visit the Manage fields page of the content type, taxonomy vocabulary or "comment type" which you wish to replace fields of and click the replace link. That's all.

Bug fixing policy

This project is maintained mainly through voluntary and sponsored work, this means our resources are limited. Bug reports will be taken into consideration only if they allow to reproduce the reported issue:




    Shadowbox is a JavaScript modal media viewer application for viewing images, video, Flash and other content in a modal window.

    From the author of Shadowbox:

    Shadowbox is an online media viewer application that supports all of the web’s most popular media publishing formats. Shadowbox is written entirely in JavaScript and CSS and is highly customizable. Using Shadowbox, website authors can showcase a wide assortment of media in all major browsers without navigating users away from the linking page.


    Commerce Addressbook

    Commerce Addressbook is a module that allows authenticated customers to reuse
    previously entered addresses during checkout.
    They can manage all entered addresses in their user panel (user/%user/addressbook).

    Note that for data consistency reasons editing a previously entered address
    won't change it on previously made orders.


    Search API ranges

    Price slider

    The Search API "ranges" module provides widgets for Search API range queries. Currently includes:

    • jQuery UI min/max slider (as shown in screenshot)


    This module is compatible with Search API modules such as Search API, Search API sorts, Search API Solr and Search API ajax. It is not designed for te Apache Solr Integration module.



    Twitter module in action


    This module provides API integration with the Twitter microblogging service. Out of the box, it allows users to:


    Font Awesome Icons

    Font Awesome Logo

    Font Awesome is the iconic font designed for use with Twitter Bootstrap.


    Menu item visibility


    This module exposes configurable and extendable visibility settings for menu links. For example, if you want to create a 'My account' link that points to /user, both anonymous and registered users have access to the /user path, so both will see the link, even if anonymous users do not technically have an account. Using this module will allow you to only have your 'My account' link visible to registered users, and hide it from anonymous users.

    The module uses the exact same UI used for block visibility settings for familiarity.


    Imagecache Token

    This module provides additional tokens for image fields. For each image style available, a token [node:field_image_field:style_name] will be provided. It is also possible to get image properties like width or height by using tokens like [node:field_image_field:style_name:height].


    No module configuration needed.


    I've observed that after you create new image style it might not appear immediately in available tokens list. If this is a case, you will need to reset cache at Performance page.


    SpamSpan filter

    The SpamSpan module obfuscates email addresses to help prevent spambots from collecting them. It implements the technique at the SpamSpan website (a German version is also available). The problem with most email address obfuscators is that they rely upon JavaScript being enabled on the client side. This makes the technique inaccessible to people with screen readers. SpamSpan however will produce clickable links if JavaScript is enabled, and will show the email address as example [at] example [dot] com if the browser does not support JavaScript or if JavaScript is disabled.

    This technique is unlikely to be absolutely foolproof. It is possible in theory for a determined spambot to harvest addresses from your site no matter how you disguise them. But research suggests that the by far the great majority of spambots do not bother to attempt to collect addresses which have been hidden using JavaScript. Indeed, most spambots cannot currently read JavaScript at all.

    Here are a links to the results of a few experiments into the efficacy of JavaScript obfuscation. Let me know if you know of any more.

    http://www.cdt.org/speech/spam/030319spamreport.shtml (2003)


    Views RSS

    This module allows users to take control of their feeds by providing a fields-based views style plugin for RSS.

    Extension modules for Views RSS 2.x

    In addition to modules included in the main Views RSS package, there are several helper modules which extend its functionality with additional feed element sets:


    Commerce Backoffice

    Provides the backoffice functionality present in Commerce Kickstart v2.

    Contains three submodules: commerce_backoffice_product, commerce_backoffice_order, commerce_backoffice_content.

    Commerce Backoffice Product

    Provides a better experience for stores using nodes as product displays for grouping product variations (commerce_product entities).

    • The node/add screen is now split into two tabs, "Create content" (ordinary node types), and "Create product" (product display node types).
    • The products view is now a view of nodes, showing product displays. Contains special exposed filters for filtering by product display type, and product display categories.
    • Uses the megarow pattern to provide a "Quick Edit" link in the view, that shows all product variations for that product display, right underneath the triggering row. The status and price can be modified directly.
    • Modifies the "Content types" screen by adding additional help text for understanding product displays, and adds a column to the table that indicates whether the node type is a product display node type*.



    TagCloud with multilingual support English

    This module Provides a TagCloud and List of Tags.

    Tag clouds is a light weight stable module that provides span tags, optimizations; It is also singular in purpose and stable.

    Provides a link to the node and not the taxonomy display if the node count is equal to 1. This avoids taxonomy pages with only one node. Defaults to On, can be turned off.

    Supports i18n (recently improved with opportunities for improvement)


    Crumbs, the Breadcrumbs suite

    Crumbs calculates breadcrumbs for your site.
    It does so by finding the parent of the current page, then the parent of the parent, etc, until it arrives at the home page.

    Crumbs comes with a bunch of built-in plugins, that can be individually enabled, disabled and prioritized, and some of which provide further configuration options.

    Built-in plugins

    Crumbs plugins have two responsibilities: (1) to determine the parent path for a given path, and (2) to determine the title for a specific breadcrumb link.

    Built-in plugins exist for: Menu, Taxonomy, Entity reference, Organic groups, Path aliases, Entityreference prepopulate, Text fields, Forum, Commerce checkout, etc.

    Besides, there are configurable token-based patterns to find the parent for entity pages per bundle.

    As a fallback behavior, it will always try to find a parent by chopping off the last part of the path. And for the link title, the fallback is whatever was specified with hook_menu().

    Fine-grained priority control

    Most plugin priorities are further subdivided, to allow even more fine-grained control: By menu name (menu), vocabulary name (taxonomy), field name and entity bundle (entity reference), group content type (organic groups), etc.


    Twitter Block

    Twitter Block is a lightweight module which allows administrators to create
    blocks which display embedded timelines.


    Language Switcher Dropdown

    Language switcher dropdown with Language icons module

    Project Description

      Language Switcher Dropdown is a very simple module that exposes a new block, similar to the default Language Switcher block provided by Locale module.

      The new block allows site visitors to switch languages using a drop-down select list instead of using hyperlinks.

      The module also integrates well with Language Icons module if installed.

      The picture says it all.


    Menu Trail By Path

    Menu Trail By Path sets the active-trail on menu items according to the current url.

    For example if you are at yoursite.com/blog/category1/article1
    Menu Items with these paths will get the active-trail class on them and expand accordingly.


    This is particularly useful if you want a lot of nodes to appear as children of certain nodes / taxonomy term / views / referenced nodes / etc, but do not want to add them all to the menu. eg. hundreds of blog articles.

    Menu Trail By Path is best used in conjunction with Pathauto.

    This module is similar to Menutrails (D6) and Menu Position (D7), except no configuration is needed. It uses the path URL to determine the active-trail instead of setting rules for each node type. Theoretically, it also works for non-node pages such as taxonomy term and views. Just enable the module to see the results.

    7.x-2.x branch

    7.x-2.x branch is completely rewritten. It should be compatible with any menu, including menu_blocks.

    Can also handles breadcrumb by path.

    6.x-1.x branch

    NOTE: The 6.x-1.x branch is no longer supported and will not receive further development.