17,748 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.


Ubercart is the most popular Drupal E-Commerce platform.

Ubercart is the most popular Drupal E-Commerce platform for your website. It implements everything you need to start selling products online. Web Developers from all skill ranges can use it to support a variety of E-Commerce industries-- including physical goods, digital downloads, or even subscription based billing services. Ubercart can do it all!

For more details, be sure to visit the What is Ubercart? page for more info.

Current Features:

  • Configurable product catalog includes catalog pages and a block to display product categories.
  • Flexible product creation system with product classes.
  • Multiple product image support out of the box.
  • Flexible product attributes system.
  • Basic product stock level tracking and notification.
  • Product features to add file downloads, role promotions, and more to products.
  • Single page checkout.
  • Automatic account generation (anonymous checkout).
  • Customer and administrator checkout notifications.
  • Simple order processing (with workflow for automated order processing).
  • Simple order creation and editing.


Select (or other)

Select (or other) checkboxes example

Provides a new Forms API element which is a select/radios/checkboxes element that has an 'other' option. When 'other' is selected a textfield appears for the user to provide a custom value.


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



    Skinr's main purpose is to allow the theme to define a set of reusable and modular CSS styles, and to make those styles available in Drupal's UI. Skinr was developed for themers to allow them to tap into the power of Drupal's modularity and apply those same principals to theme development. It does not provide any styles of its own. These styles are defined in the .info file of the theme (or subtheme), by the themer and end up in various places in Drupal's UI, such as:

    • Block Configuration
    • Node Type (and Comment) Configuration
    • Panel Panes
    • Views Displays

    It also provides a CSS class field, where you can manually add custom classes.


    Apache Solr Search

    Revolutionize your Drupal search experience

    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.


    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


    Webform Ajax


    This module adds AJAX support to Webform (3.0 and above).

    As a first step it focusses to simply add form AJAX paging and submit. Form submissions get ajaxified including prev/next pages. Especially for multipage forms, this leads to faster loading (less data transfer), better usability and finally smaller server load.

    There's no backport to previous versions on our roadmap and features are D7 only.


    Enable the module. You'll be able to configure AJAX enable per form in the advanced form settings.

    Known problems



    Token Filter

    Token Filter is a very simple module to make token values available as an input filter.

    Drupal 7

    The module now supports native tokens (e.g. [site:name]) and all global tokens by default. It even allows some contextual tokens like node or user to be replaced, but currently does not encourage users to use them in the filter help text.




    The Fivestar voting module adds a clean, attractive voting widget to nodes and comments and any entity. It features:

    • jQuery rollover effects and AJAX no-reload voting
    • Configurable star sets
    • Graceful degradation to an HTML rating form when JavaScript is turned off
    • Support for anonymous voters
    • Spam protection to keep users from filling your DB with bogus votes
    • Easy-to-use integration with Views module for lists sorted by rating, or filtered by min/max ratings
    • A Fivestar CCK field for use in custom node types
    • An easy-to-use Form API element type for use in other modules
    • Compatible with all versions of jQuery (1.0 - 1.8)



    Input Widget > Table Display

    This module allows you to attach tabular data to a node in Drupal 6 or any entity in Drupal 7. The input form allows the user to specify the number of rows/columns and allows entry into each table cell using text fields. Tables can be defined globally or on a per-node/per-entity basis, so every node can have multiple tables of arbitrary size. Enter data by hand or by CSV upload. Table data can also be downloaded as CSV files by your users if you so choose. Tables are multi-value and revision capable.


    FlexSlider Views Slideshow

    Integration with Views Slideshow and FlexSlider

    This is the FlexSlider Views Slideshow module which used to be included in FlexSlider by default.

    This module only works with FlexSlider 2.x only.


    Cache Expiration

    Common settings form, module settings

    This module provides configurable actions upon events that will expire URLs from caches like reverse proxy caches, internal page caches, etc.This module make more sense when Minimum Cache Lifetime setting is set to a value other than none.

    There is now integration with the following modules:

    • Boost - deletes expired pages (files) from the file system.
    • Varnish - integrates over an administrative socket.
    • Purge - expires urls by sending purge requests to Varnish, Squid and Nginx over HTTP.
    • Acquia Purge - allows Drupal sites hosted on Acquia Cloud to automatically purge pages from their Varnish powered load balancers..
    • Memcache Storage - allows to delete pages that cached in a memcached instances.

    Module's features may extend if next modules are enabled:

    • Drush - provides drush commands to expire urls (xp-url), paths (xp-path), nodes (xp-node), users (xp-user), comments (xp-comment) from the command line shell and scripts.
    • Rules - provides actions for the Rules module to allow more advanced cache expiration scenarios.
    • Token - provides modal dialog with list of available tokens.
    • References and Entity reference - module may expire referenced entities' urls.


    Views Autocomplete Filters

    #D8CX: I pledge that Views Autocomplete Filters will have a full Drupal 8 release on the day that Drupal 8 is released

    #1604690: Seeking co-maintainer(s) for drupal6 versions

    Add autocomplete functionality to the views filter text fields.

    • It works for node titles or cck text fields.
    • The autocomplete results are actually the view results, so they are view related.

    How to use it:
    (New) Video Tutorial : Drupal 7 Views Autocomplete Filter Tutorial

    • *** The filter field should also in the view list of the fields
    • You just have to check Use Autocomplete checkbox in the filter expose settings.
    • (D7) Pay attention to the "Field with autocomplete results" options - an autocomplete setting
    • Known issue : Unexpected error message such - Field with autocomplete results is not selected for Content: Title filter.
      Solution : Check the MASTER (default) Display, probably the autocomplete field was removed (#1748900: Field with autocomplete results is not selected)

    Tips & Tricks:

    • To work as you wish you have to make the right choice for the operator of filter field, most likely to use "Contains"


    Migrate Extras

    Migrate Extras extends Migrate to provide support for several contributed modules.

    The best place to implement migration support for a contributed module is in that module, not in the Migrate or Migrate Extras modules. That way, the migration support is always self-consistent with the current module implementation - it's not practical for the migrate modules to keep up with changes to all other contrib modules. We are no longer adding support for other modules to Migrate Extras.


    Migrate Extras 2.5 is now available. This is planned to be the final Migrate Extras release - the only work to be done with Migrate Extras going forward will be to port the contrib module support here directly to the respective supported modules.


    Less CSS Preprocessor


    This is a preprocessor for LESS files.

    This module will automatically process any LESS files that are added using drupal_add_css(), or added through your module/theme's .info file.

    Add your files just like any other css file, just with ".css.less" as the extension, and they will be automatically processed.

    RTL support will work as long as your file extension is ".css.less".

    7.x-4.0 Features (PHP 5.3+ required)

    7.x-3.0 Features

    There are several new features:

    The included less_demo module should provide API demonstration for new features.


    • Libraries API
    • less.php and unpack it so that 'lessc.inc.php' is located at 'sites/all/libraries/lessphp/lessc.inc.php'.


    Fully compatible with CSS aggregation:

    Drupal 6 "Optimize CSS files" setting under "Administer→Site configuration→Performance" (admin/settings/performance).

    Drupal 7 "Aggregate and compress CSS files" setting under "Administration→Configuration→Development→Performance" (admin/config/development/performance)


    Semantic Views

    This Views plugin makes unformatted styles, field row styles and other output more readily configurable without needing to override template files. Instead of overriding row style templates for views where you want to specify different HTML elements (tags) and class attributes, you can specify these inside the Views UI and avoid overriding templates for each view.




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


    1. Download the Chosen jQuery plugin and extract the file under sites/all/libraries.
    2. Download and enable the module.
    3. Configure at Administer > Configuration > User interface > Chosen (requires administer site configuration permission)

    How to use Chosen as a widget in Fields UI:

    Chosen can be applied to select list widgets. Go to the field settings and check "Apply Chosen to this field".

    Installation via drush (<= 7.x-2.0-alpha3)

    A Drush command is provided 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 (<= 7.x-2.0-alpha3)


    Embedded Media Field

    Maintainers: aaron (Aaron Winborn) and Alex UA (Alex Urevick-Ackelsberg)

    This extensible module will create fields for content types that can be used to display video, image, and audio files from various third party providers. When entering the content, the user will simply paste the URL or embed code from the third party, and the module will automatically determine which content provider is being used. When displaying the content, the proper embedding format will be used.

    The module is only an engine, and requires a supported module to function. These include 'Embedded Image Field', 'Embedded Video Field' and 'Embedded Audio Field'. These modules are included in the contrib folder of the module, so they can be easily activated from the module administration page.

    Please note: As of emfield 2.x, provider files for these modules are no longer included with the main emfield module, and must be downloaded separately- please see the list of projects providing provider files below.

    Modules extending Embedded Media Field

    The following modules work in conjunction with this project, largely to expose media providers (you'll need at least one of these to make the module useful):

    Media: 8Tracks
    Media: Archive



    Maxlength allows you to set maximum length of any field on any form making use of the form API. This includes fields created using the UI. (Example: any text field on a node)
    In D6 Maxlength allows you to set maximum lengths to the body, title and CCK textfields of any content type (node).

    When the maximum length is enforced for a field, while editing content of that type some Java Script will countdown how many characters are left, also if the Javascript is turned off, it falls back to form API validation.

    Current maintainership is done by Inovae and jm.federico and Schnitzel (sponsored by Amazee Labs)


    Conditional Stylesheets

    Conditional Stylesheets

    Internet Explorer implements a proprietary technology called Conditional Comments. While web developers frown upon technologies that aren't cross-browser supported, many CSS developers have found Conditional Comments very useful. They can have cleaner CSS in their normal stylesheets and can fix the broken rendering in IE by placing IE-only CSS inside conditional comments; this technique is even recommended by Microsoft.

    Without this module, the only way to have IE conditional stylesheets was to add 37 lines of code (more if you want to add more than one stylesheet) in four horribly-difficult-to-remember function calls to your theme's template.php. Blech. Who wants that?

    This module allows Drupal 7 themes to easily add conditional stylesheets to the theme's .info file.

    ; Set the conditional stylesheets that are processed by IE.
    stylesheets-conditional[lt IE 7][all][] = ie6-and-below.css
    stylesheets-conditional[IE 9][all][] = ie9.css
    stylesheets-conditional[IE][print][] = ie-print.css
    stylesheets-conditional[(gte IE 9)|(gt IEMobile 7)|(!IE)][all][] = modern-browsers.css


    Login Destination

    Login Destination

    The Login Destination module allows you to customize the destination that a user is redirected to after logging in, registering to the site (7.x), using a one-time login link or logging out (7.x). The destination can be an internal page or an external URL. It is possible to specify certain conditions like referring pages or user roles and make the destination depend upon them. You may use PHP snippets to provide custom conditions and destinations. It is also possible to keep users on the currently visited page after logging in or out.


    Back To Top

    Back To Top - Example

    Back To Top adds a button that hovers in the bottom of your screen and allow users to smoothly scroll up the page using jQuery.

    Back To Top uses jQuery UI library effects for smooth easing of scroll.

    Similar modules

    Be sure to check out the Scroll To Top module. The module differs from Back To Top in some ways:

    • Back To Top have a different image for scrolling
    • Back To Top have a different animation style
    • Back To Top have more configuration options
    • Back To Top have a prevent on mobile/touch device function
    • Scroll To Top have a 6.x version


    There are settings for:

    • Preventing the button to appear in mobile or touch devices.
    • Choosing between a image och text/css button
    • Placement of the button
    • Style of the text/css button

    Theming the button

    You can theme or change image by theming on the ID backtotop.

    <div id="#backtotop">Back To Top</div>

    You can change the text Back To Top with the translation in Drupal.



    TB Mega Menu

    TB Mega Menu on free responsive theme TB Sirate

    TB Mega Menu allows you to create a mega menu with an innovative back-end user interface and synchronized with Drupal core menu.

    We strive for more improvement each release, and your feedback on this module is extremely important to us.




    What is "Video" module?



    Screenshot Example of a Cloud

    Tagadelic provides an API and a few simple turnkey modules, which allows you to easily create tagclouds, weighted lists, search-clouds and such.

    With the API you can build a module with a few lines of PHP, to turn anything that can be counted into a weighted cloud. Which can be presented to your users anyway and anywhere on your site.

    With the turnkey modules, you can add a page that shows taxonomy-terms in a weighted cloud: terms that are used more often are bigger. Another module provides a page that shows article-titles in a cloud: titles from articles that are read more often appear bigger.

    Tagadelic 2.x branch is work in progress and should only be used by people who plan to develop for and with it.

    Tagadelic 1.x branch is stable for Drupal 6 but unstable for Drupal 7. End-users should use Drupal 6, 6.x-1.x versions. End-users are strongly advised not to use Drupal 7, 7.x-1.x of tagadelic; it has known bugs, yet is reported to work for some people. Use at own risk.


    EU Cookie Compliance

    #D8CX: I pledge that EU Cookie Compliance will have a full Drupal 8 release on the day that Drupal 8 is released.

    Notice: If you are using a responsive theme please use the 7.x-1.12 version or later of the module.


    This module intends to deal with the EU Directive on Privacy and Electronic Communications that comes into effect in the UK on 26th May 2012. From this date on, you run the risk of enforcement action if you are not compliant or visibly working towards compliance. More information can be found here

    The above information applies to the UK however the EU law will be enforced in all EU countries and hence the module can be used everywhere in the EU.

    By enabling and configuring the module you will demonstrate to the regulator that you, as the owner of the website:

    • are doing as much as possible to reduce the amount of time before your visitors receive information about cookies (information appears as soon as a visitor enters the site).
    • are providing your visitors with options. (find out more about cookies, do not browse if you disagree).
    • ensure that the information on cookies is readily available to your visitor(visible pop-up at the bottom of the screen).