16,785 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.

404 Navigation

On 404 Not Found error pages, Drupal will skip rendering of all the navigation links of your website for performance reasons*. Some of these include:

  1. The "Primary links" block and any other menu links block.
  2. The Primary links and Secondary links of your theme.

* Unless you have configured a "Default 404 (not found) page" on admin/config/system/site-information.

But many websites find navigation invaluable. Especially on 404 pages, when they want to show lost users how to get to real pages.

So this module simply revives those features on 404 pages. Simply install and enable the module. No configuration needed.

Downloads

Schema

Introduced in Drupal 6, the Schema API allows modules to declare their database tables in a structured array (similar to the Form API) and provides API functions for creating, dropping, and changing tables, columns, keys, and indexes.

The Schema module provides additional Schema-related functionality not provided by the core Schema API that is useful for module developers. Currently, this includes:

Downloads

Entity view modes

Screenshot of the view mode listing admin page

The Drupal 7 successor to Build modes which will allow administrators to define custom view modes for entities. Custom entities are added to the entity registry via hook_entity_info_alter() so they are available to any code that uses entity_get_info() to provide a list of view modes for an entity. This includes node and user reference fields, Views, etc.

Downloads

Bean

Bean is an acronym that stands for Block Entities Aren't Nodes.

This is a great introductory article about what the bean module.

What is Bean?
Think of a Bean as a method to provide new types (compared to node this would be a content type) which then provides an add content interface to create as many blocks as you require (see screenshot below). The bean content can then be placed around the site just like any other block.

Beans were driven by the API first. This means that you can create block types (bean types) all in a plugin class turning off the UI. The entire configuration in code. No worry about feature reverts.

Read documentation here.
Be sure to see other modules that integrate with the bean module

Requirements

    Downloads

    Openlayers

    The Drupal Openlayers Module

    Features & Submodules

    OpenLayers
    The OpenLayers core code stores map configurations: maps, styles, layers, and behaviors, and combines them to create maps using the OpenLayers JavaScript library on any Drupal site.
    Layers
    OpenLayers supports a wide range of map types and new types can easily be added as ctools exportables - new layer types are being added all the time. Currently the module supports OpenStreetMap, Google Maps, Yahoo Maps, Bing Maps, TMS, WMS, CloudMade, XYZ map types and the MapBox maps.
    Projections
    OpenLayers supports a wide range projections and new ones can easily be added as ctools exportables. Proj4JS is the JS library who allows to create custom projections, so, the proj4js module is now a dependency.
    Behaviors
    Map interactions like popups, zoom controls, editing, and fullscreen can be added via the UI and extended by other modules.
    OpenLayers UI
    This module allows for a user interface to create and store maps which can be used to customize all sorts of things like CCK Formatters to Views Plugins. Maps can be provided by code or stored in the database and integrated with Features.
    OpenLayers Views

    Downloads

    Entityform

    Overview

    The Entityform module enables you to create front-end forms (fieldable entities), which contain fields that you define! These forms use the standard Drupal fields. This means that out of the box, you can use any standard Drupal node field! As of the time this article was written, there were over three hundred "field" modules. And since Entityforms are "Drupal entities", you will automatically be able to use future "field" modules!

    The forms can be used to create custom surveys, petition, and personalized contact forms, and other customized form. (For those of you who have used Webforms, this module brings Webform's functionality into the "standard" Drupal field / entity world.)

    As with everything in Drupal, there are Pros and Cons to using Entityform. All though Entityform is a powerful tool, it is not always the best solution. The article When to Use Entityform discusses the advantages and disadvantages that Entityform may have over other methods of creating user "submittable" forms. Do not use Entityform for forms that will contain 150+ form elements

    Reccomended Versions

    For new users the 7. x-2. x alpha versions are recommended. These versions are also recommended for current 7.x-1.x users who are NOT using built in Rules integration. The only remaining issues with them is upgrading 7.x-1.x Rules integrations to use Entity Rules.

    The Problem

    While Webform is a great module with a huge following, it does not integrate with standard Drupal field or entity aware modules. And while Webform can be integrated into Rules and Views via additional modules, it does add complexity and overhead.

    The Solution

    To solve these issues, the Entityform module was created. It is a survey creation tool that allows integrates with standard Drupal field and entity aware modules out of the box.

    Features

    • Ability to attach any Drupal Field to the Forms
    • Ability to use most field based and entity aware modules.
    • You can download submitted data to XML and / or CSV data files using View Data Export.
    • Rules based form submission notifications. Allows for complex notifications logic.
    • Rules based form access control. Allows for complex access logic.
    • Use Views to create to create an administrative listing of each Entityform type Submissions for fine grain control.

    Downloads

    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)

    Compatibility

    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.

    Downloads

    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.

    Downloads

    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.

    Downloads

    Role Theme Switcher

    Useful Drupal module to assign separate themes for different roles (including anonymous) in your system.

    Often you want to separate Drupal administrative interface from frontend. You can do this assigning appropriate theme for you as user. What to do if you want to show different theme for non-authorized user?

    Downloads

    Menu Admin per Menu

    By default, Drupal allows only users with "administrer menu permission" to add, modify or delete menu items.
    In case you want for instance to let certain users manage primary links or secondary links but not navigation menu, this module provides this functionality.

    Try out a demonstration
    Watch a screencast

    Downloads

    Format Number API

    number_format_settings.png

    The Format Number API module provides a method to configure number formats (site default and user defined) with configurable decimal point and thousand separators.

    This module also provides the 'numericfield' Forms API element, which is a right aligned text input element that allows the user enter numbers using the configured thousands separator and decimal point (site default or user defined). This Forms API element provides a validation callback that is used automatically and that ensures input is valid numeric as per the options defined for the element.

    Several functions are exposed by the module that can be used by other contributed or custom modules to display numbers accordingly, from PHP and JavaScript as well. For further information, please see the README.txt.

    Downloads

    Administration theme

    Administration theme settings page

    Drupal allows you to define a different theme for administration pages (Administer -> Site configuration -> Administration theme). By default this only applies to pages with a path starting with 'admin' and content editing pages.

    The Administration theme module allows you to use this theme on more pages like :
    - batch processing pages
    - devel node load and render pages
    - coder code review pages
    - pages you define yourself in the provided textarea

    The Drupal 5 version adds the option "Use administration theme for content editing" available in Drupal 6 core.

    Some of these options will only be available to you if they apply to your installation, i.e. you have the module installed which generates these pages.

    Use default theme (not administration theme) for anonymous users on admin/*

    This is possible using this module. See issue http://drupal.org/node/372156 for more details.

    Module maintainers

    You can add extra pages by implementing hook_admin_theme_options in a module.
    For Drupal 7 the hooks are hook_admin_theme_info and hook_admin_theme_check

    How can you get involved?

    Downloads

    Page manager existing pages

    Page manager existing pages allows you to override/configure Drupal menu paths so you can create variants with Page manager, which is bundled in the CTools project.

    Technically, this project defines one abstract task and one content type plugin, so menu items can be overridden and the original page callback can be called through the content type plugin. This project comes with one default existing page, which is 'node', the default Drupal frontpage.

    Tested overridden paths

    • Drupal frontpage at 'node'.
    • Media file paths as 'media/%'.
    • Apache Solr search pages at any path you defined.
    • FAQ at 'faq-page', 'faq-page/%', 'faq-page/list' and 'faq-page/%/list'.

    In theory, any menu callback can now be overridden. Default contexts can be added for entity paths, but will need more testing.

    Installation

    Install the module as usual, more info can be found on http://drupal.org/documentation/install/modules-themes/modules-7
    You should also install Panels, which is not a dependency for this module but is the recommended module to start overriding page layouts. Panels can be found at http://drupal.org/project/panels

    Usage

    On admin > structure > pages click "add existing page".

    Downloads

    Messaging

    This is a Messaging Framework to allow message sending in a channel independent way. It will provide a common API for message composition and sending while allowing plug-ins for multiple messaging methods.

    When using this framework, you won't send e-mails to users anymore. You will send them 'messages' and they will decide how they want to get them delivered, that may be by mail, IM, SMS, depending on user's preferences...

    Drupal 7 upgrade

    Some limited funcionality has been upgraded.
    Development is back on Drupal git repository.

    Downloads

    Taxonomy Term Reference Tree Widget

    Use custom CSS and the term template feature for awesome select widgets.

    About this module

    This module provides an expandable tree widget for the Taxonomy Term Reference field in Drupal 7. This widget is intended to serve as a replacement for Drupal's core Taxonomy Term Reference widget, which is a flat list of radio buttons or checkboxes and not necessarily fit for medium to large taxonomy trees.

    This widget has the following features:

    • Expand/minimize buttons
    • Fully theme-able
    • Filter and sort available options with a view (if views is installed)
    • The ability to start with the tree either minimized or maximized
    • If you limit the number of selectable options, client-side javascript limits the number of terms that can be selected by disabling the other remaining options when the limit has been reached (this is enforced on the server side too).
    • For large trees, this widget now optionally keeps a list of selected items below the tree.
    • You can use tokens to alter the widget label (good for adding icons, turning the options into links, etc).

    This module now comes with a display formatter with the following features:

    • Display taxonomy terms as a nested list by hierarchy.
    • Displayed terms can be altered with tokens or themed using a custom theme function.

    Future features include:

      Downloads

      TagCloud

      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)

      Downloads

      BUEditor

      BUEditor Screenshot

      BUEditor is a text editor aiming to facilitate code writing.

      Downloads

      Invisimail

      Invisimail provides a content filter to hide email addresses from spam-bots. Email addresses are converted to ascii code and optionally written to the page using a concatenated JavaScript "write" command. The email addresses will appear on the page normally, but their html source will be obscured so as not to appear as an email address to email harvesting robots. Invisimail also provides an option to automatically create mailto links for email addresses.

      Downloads

      Views Bonus Pack

      This group of modules is sort of a recipe module that makes things easier by showing how to integrate some other modules as well as providing miscellaneous features that aren't distributed by Views itself. Sometimes these modules are only base recipes that will need to be themed and spiced up to fit your needs so be creative!

      Downloads

      Boxes

      Boxes module is a reimplementation of the custom blocks (boxes) that the core block module provides. It is a proof of concept for what a re-worked block module could do.

      The module assumes that custom blocks are configuration, and not content. This means that it is a reasonable action to ask for all blocks at one time, this is in fact exactly what the core block module does.

      Boxes provides an inline interface for editing blocks, allowing you to change the contents of blocks without going to an admin page.

      Boxes provides exportables for its blocks via the (required) Chaos tools module. This allows modules to provide blocks in code that can be overwritten in the UI.

      Chaos tools is required to use Boxes.

      Boxes Integration

      The following modules provide Boxes plugins. Let us know if your plugin is not listed here.

      Spaces support

      Downloads

      Browscap

      Browscap provides an improved version of PHP's get_browser() function.

      The get_browser() function can be used to tell what a visitor's browser is capable of. Unfortunately, the version provided by PHP has a number of limitations, namely:

      • It can be difficult or impossible to configure for shared hosting environments.
      • The data used to identify browsers and determine their capabilities requires consistent maintenance to keep up-to-date.

      Browscap automates maintenance by storing browser data in a database and automatically retrieving the latest data on a configurable schedule.

      Downloads

      Facebook Like Button

      Rather than having to manually copy/paste the Like this on Facebook code for each piece of content you (or your users) create, this module will automatically add that code to the end of each chosen node type. You are able to add a Like button which likes a given URL (static, e.g. your homepage) or/and put a dynamic Like button on your page to like the page you are actually visiting.

      Downloads

      Elysia Cron

      Elysia cron

      !NEW Release 2.0 is finally out, with D7 support, code & performance improvements and a lot of new features!

      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.

      • [NEW IN 2.0] 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.
      • [NEW IN 2.0] 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). Elysia Cron 2.0 gives a brand new API support (compatible with 1.0 version) with a lot of features.
      • 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.
      It also can be used in a Drupal install profile.

      3rd party integration:

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

      Downloads

      Galleria

      This module allows users to create image galleries using the Galleria jQuery plugin, found on http://galleria.aino.se.

      Downloads

      Pages