1,581 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.

Better Jump Menu

Better Jump Menu is a module who provides:

  • The Drupal menu blocks with menu links in a select box instead of a list.
  • A views style plugins to display links into a select box.

This module has been made to cope with bugs in the original CTools implementation.



This module is a ckeditor editor plugin that enables users to insert views instances with argument directly in the ckeditor.


1. You need to Install these modules:
a. ckeditor
b. views



Drupal Shuffle example

Shuffle module provide a Drupal integration with the jquery library Shuffle. This module provide :

  • A views style plugin for displaying rows in a shuffle grid
  • A field formatter for displaying images attached to an entity in a shuffle grid

You can configure a shuffle filter in the views's settings form with any entity_reference field available with the entity, or by using the title attributes of img in the field formatter.


Imports data from DEA’s EMS application's SOAP API interface into nodes/ taxonomy.

XML sitemap views


Integrates views pages with XML sitemap.

DraggableViews (Search API)

Search API (search_api) integration for DraggableViews (draggableviews), exposes the weight stored for an entity by the draggableviews module to Search API.

Better relative date

This module provides a relative date formatter which is better than Views' time ago formatter. The main problem with the time ago formatter is that it allows to set the number of units, but not the minimum granularity.
For example of you choose to display two units you will get values like 'in 2 weeks and 2 days', but also 'in 1 minute and 12 seconds'.
For two events on the same day you will also get different values like 'in 3 hours' and 'in 5 hours', making it difficult to group appointsments by day.

Views Filter Stripper

A simple plugin for Views to strip input of leading and trailing spaces, before passing it on for filtering as per normal.

Automatically adds a checkbox to the Views UI (see screenshot) of any string (i.e. text) filter on your site, allowing you to activate the above behaviour where desired.

Views Field Rewriter

This module provides a new global view field which takes the value from another field in the view and outputs either "0" or "1" depending on the value of the other field. This is useful if, for instance, you have one field whose output is either "Yes", "No" or "Maybe" and you want your view to display "OK" if the user entered "Yes" or "Maybe" and "Not OK" if the user entered "No".

You could also accomplish the same outcome by modifying view templates, but this puts the power of this type of configuration in the hands of site builders.


Views Filter localStorage

Fills and submits form inputs with settings in localStorage. It's not specific to views, but is probably most useful to fill and submit views exposed filters to values obtained via front-end methods. This avoid unneeded ajax calls and allows it easily to be undone. Works well with views better exposed filters and including a reset button to unfilter the view afterwards.


Mason Grid: Paz

Provides Mason integration to create a perfect gapless grid of elements.
This is not Masonry, or Isotope or Gridalicious. Mason fills in those ugly gaps, and creates a perfectly filled space.

The module provides a Views style plugin to return results as a Mason grid.


Views many to one filter subqueries

If you filter a view by a 'many to one' field, like for example any term reference field, and dare to filter by multiple values ANDed together, then the views query produced can have many, many, many joins.

MySQL can choke on this, badly. A small production site with a small set of tables produced DB queries that took over 3 days to execute!

Instead, we change the query added from being lots and lots of joins, to instead a single subquery condition.

This will work for small datasets and probably not for larger ones.

Unregular Slideshow

Provides a un-regular slide-show format.

React Component

React Component

Extend Drupal with React, this module replaces <div class="react-component" data-component="Component"></div> with an instance of the Component specified.

This module includes an extension (React Component Views) that works great with Views and has components for the: Results, Pager and Exposed Filters.
The extension makes it possible to build fully reactive displays, and as an extra feature gives the components an API to fetch data from.

Image Whirlpool

Image Whirlpool

Image Whirlpool

provides the user the flexibility to present their images
in a more attractive and modern way
in front of the users.
It just modifies the views of the images in form of a 3d whirlpool which the user can hover upon to have a nice view of the images.
There is no restriction on the number and types of images used.
Note: Images should have minimum dimensions of 180 pixelsx150 pixels.

Modules Required



Views Node Query Linker

An experimental module to add the current page query string to views node links. The goal is to enable linking between two pages with Views with the same exposed filters while maintaining the current filtering and/or sorting options.

Views Entity Reference Filter

This module provides a user-friendly Views filter for configurable entity reference fields. Instead of having to enter entity IDs manually, users can select the labels of the entities they want to filter on.


Views Tag Access

Views Access provides more granular permissions on views based on tags. This is really helpful if certain users should be allowed to edit certain views but not other. As an example if views is being used to build reports but report builders shouldn't be able to change site views. Permissions are created for each operation and each tag that a view has.

Administrators can choose which tags provide permissions, including adding tags that aren't currently in use so sites can be configured in advance of a view being created.

Multiple numeric filter for Views

Admin UI

By default the Views module provide a \views_handler_filter_numeric object for filtering query results which is unable to filter using multiple values. This module fix it up.


  1. Enable the module
  2. Go to filter editing
  3. Choose one of is one of or is not one of filters


Views Dynamic Entity Row


Views Dynamic Entity Row module provides dynamic row plugin that allows
to select individual view mode for each entity rendered by Views.

Savvior JS

A multi-column layout alternative to Salvattore or Masonry, without CSS driven configuration or absolute positioning.

More at: http://savvior.org/


Views Exposed Field Filter


This module allows users to expose fields to visitors. It adds another filter with the Exposed fields filter in filter criteria.

User can add a keyword and select a field to search that keyword in. If the field dropdown is not selected it will search the keyword in all the fields which are exposed to visitors.



Views Cache Global Default

This module does not work in it's current form. Do not download/install.

This is an experimental project to see if there is a practical way of globally managing the cache expiration time settings for all views on a site rather than having to update the cache settings 1-by-1 on each view display.

Views Access Multiple Permissions

Views Access Multiple Permissions Settings

Provides a Views access control plug in for selecting multiple permission flags. By default you can select only one.
Also there is the settings how need to check user permissions:
1. Users with all the selected permission flags will be able to access views display
2. Users with at least one selected permission flag will be able to access views display

Views Serialized Custom

Views comes with a built-in serialized field handler (Drupal\views\Plugin\views\field\Serialized), which is really great for database columns where data is serialized. However, this field handler plugin only allows limited options for rendering. It is difficult to implement custom rendering of the serialized field.