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

Field Indexer

The Field Indexer module indexes field data into Drupal's search index. Each field enabled for indexing becomes a type of index entry. Then, with an appropriate search module, users may perform keyword searches restricted by field.

Hidden Field Widgets

This is a new module I'm currently working on to support "hidden" and "value" form widgets for fields in Drupal 7. The module is based on some code chx threw together after a discussion on IRC.

The code still needs some tests and polish, but it is usable today. It's your data, though, so be careful.

CCK Redirection

This module provides a CCK field for redirecting a user to a new URI. The creator of a node specifies a valid URI in the CCK field, and when a user visits that node, he will be redirected to the destination specified in that field.

Sponsored by and co-maintained with Prometheus Labor.

Drupal 6:
In Drupal 6, you can also choose to redirect instantly, with a delay (using javascript), or put the target URI page in a frameset (like Google Images).

Imagecache Proportions

This module provides a CCK formatter for imagefields that allows the user to select between three different imagecache presets depending on the proportions of the original image. So you can use this module for altering the display proportions of a image field or similar in the display field screen, in Views, etc.
If the image is more or less squared (you can set a looseness in pixels) you will be able to select a squared preset, if the image is wider than higher, you can select a more "horizontal" preset and if it's higher than wider, a more "vertical" one.
It's integrated out of the box with thickbox, colorbox, shadowbox and lightbox2 for displaying full links.

Drupal 6.x



  • Create presets for the wider image, the higher and the squared one.
  • Edit the field settings for your image field, select which imagecache preset you would like to use for each proportion and the looseness for the squard ones.

Drupal 7.x


    Social Profile Field

    People have profiles in different social networks and this field allows to collect links to social network profiles and show them as an icons.

    Sponsored by Druler and Shvetsgroup

    Date single day

    Date single day screenshot

    This module alters CCK date popup fields so they only show a time for the 'To' field. Use this if you know your dates always start and end on the same day and you want to save your users entering in a date value twice.

    Drupal 7

    The Drupal 7 version is a complete rewrite. An additional field option "End after midnight" is available. When it is enabled, the end date is set to start date + 1 day, if end time is less than start time.

    Content Complete

    Content Complete Block

    Content Complete is a CCK extension module that allows to tag CCK fields needed for completion (CCK Complete). The module checks the tagged fields against the content provided for those content types, and computes a complete percentage that can be shown to the user.

    The complete percentage can be shown to the user in the form of a block, or using the views integration available since version 1.2.


    • Introduction
    • Configuring Views show you how to make a list view of completion data and combine completion data of different nodes.
    • Configuring Rules shows you how set up complex workflows. Example: set up email reminders sent automatically to authors of incomplete nodes (< 100%).


    • Rules integration. Provides a condition for completion >= x%.
    • Views integration is available from version 1.2

    Related Modules


      This module provides an extension to the builtin checkboxes element that allows developers add "check all" / "toggle" / "uncheck all" actions to them. This is specially useful for checkboxes that have a lot of elements.

      Please note that Drupal 6 already has this feature available, but only for checkboxes rendered in tables, such as those used in Administration -> Content management -> Content. Checkboxes rendered elsewhere do not have this feature.

      You may need to install this module when required/recommended by another contributed module, and/or you may wish to use it to enhance your own custom modules.

      • For Site Administrators - New option for checkboxes implemented by CCK Widgets

        If you use checkboxes implemented by CCK optionwidgets, node reference, user reference or content taxonomy options, then a new option in the field settings form is available to enable the Checkall feature for those widgets.

      • For Developers - Simple Usage

        To attach the checkall behavior to checkboxes elements, all you need to do is add the '#checkall' property to them. You can do so for your own forms, or you can implement hook_alter_form() to add this property to existing forms. Example:

        $form['foobar'] = array(
          '#type' => 'checkboxes',
          '#options' => $options,
          '#default_value' => $default_value,
          '#checkall' => TRUE,  // <--- this is it ;-)

      Node Field

      Node Field module allows you to add custom extra fields to single drupal nodes.
      It's not connected to fields module, so different nodes of one content type can have absolutely different sets of custom fields.

      UC Node Checkout

      Ubercart compatible module.

      This module allows you to bind a node type to an Ubercart product, as typically required in event registration sites and alike.

      Binding a node type to a product has two effects:

      • When a user creates a node of that type, the specified product is added to the shopping cart with a node reference to the newly created node.
      • When a user buys a product with a bound node, an extra step is inserted into the checkout process requiring creation of a node of the bound type.

      Fieldset helper

      Saves the collapsed state of a Drupal collapsible fieldset.

      The fieldset_helper module also improves the usability of the main module page (admin/build/modules) by adding expand and collapse all fieldsets links to top of the page.

      Nodereference Explorer


      The Nodereference Explorer (NRE) is a selection dialog for creating references between nodes. Editors can link arbitrary content type instances, e. g. pages, stories, news, images etc., with each other. Typical use-cases are for instance:

      Field injector


      Provides a display settings for fields to inject themselves into text fields at specific locations. For example, you can have an image field inject itself below the first paragraph of the body field.


      Field formatter settings

      Development was sponsored by Palantir.net.

      Media: Ustream

      Drupal 7:

      Media: UStream integrates with the Media module to make UStream videos and channels available as file entities.

      The 7.x-1.x branch works with Media 1.x and Media 2.x.

      We still have a couple (minor) issues to fix, want to help? See the readme and check the issue queue.

      Drupal 6:

      Imagefield Import


      Imagefield Import allows users with the proper permissions to import a large number of images into a CCK content type which contains a filefield or an imagefield.

      The module can grab titles and descriptions using EXIF or IPTC.

      It is possible to set taxonomy term associations and CCK field values during the import.

      In spite of the name, this module also supports normal file fields. You can use this to create a bunch of nodes with attached files.

      Text or Nodereference

      Allows textfield to be rendered like a node reference, with some autocompletion magic on edits.

      A university department wants to list the authors on their publications' page. Any given publication may have several authors, both from the department and outsiders, with their order being important (ie. it is quite likely to have an 'employee-outsider-employee-outsider' like order.) If an author is an employee of the department, his/her name should be displayed as a link to his/her own profile page, while outsiders' name should be displayed as clear text. There are several use cases with high probability here:

      1. It is quite likely to have an author order like 'employee-outsider-employee-outsider'.
      2. It is quite likely that a now-outsider author becomes an employee later on, in which case his/her name should automatically converted to a link to his/her profile without any changes to the publication.
      3. It is quite likely that the site editor wants to enter existing authors' names without typos, regardless of that they are employees or not.

      So what does this module do then, anyway?

      Let's switch to Drupal tongue. :) Want to have a nodereference-like link to a node that does not exist yet? Want to have autocompletion both on existing field values and on existing node titles of other content types? Install and enable this text_noderef.module, and all your problems fly away!

      Multi-column checkboxes radios


      Display checkboxes and radios in columns in CCK, webform or FAPI elements.


      CCK: Multicolumn option settings is in the field configuration screen of field types text, nodereference, userreference, content taxonomy and Select or other if they use the check boxes/radio buttons widget. See README.txt on how to add additional CCK widget type support. If you find any other CCK widget type can be supported, please report in issue queue so they can be added.

      Webform: See #946956: Implement alter() hook to allow external module to extend existing components?

      Form API: in the definition of checkboxes/radios form element, add the '#multicolumn' property to the checkboxes or radio buttons form element definition:

      $form['my_checkboxes'] = array(
      '#type' => 'checkboxes',
      '#multicolumn' => array('width' => 3),
      $form['my_radios'] = array(
      '#type' => 'radios',
      '#multicolumn' => array('width' => 5,
      'row-major' => TRUE,
      'indent' => 3,
      'caption' => t('December'),
      'column-heading' => array(t('Mon'), t('Tue'), t('Wed'), t('Thu'),

      Wysiwyg API CCK Integration

      This module will not be ported to Drupal 7, because all of the problems that it solves are natively solved in Drupal 7 core and Drupal 7 Wysiwyg.

      If you're using the Wysiwyg API module for a CCK text field, and you have the "number of values" for that text field set to unlimited, you may be encountering some problems:

      1. When you use drag-and-drop to re-order the items, and the row you're dragging has the editor enabled, you may encounter problems depending on the editor you use. For example, with tinymce, you lose data. With fckeditor, you get slow and annoying refreshes.

      2. When you click "Add another item", you lose data typed into the other items' enabled editors since the node was last saved or the editors were last disabled.

      This module attempts to fix both problems. It is designed to work with the 6.x-2.0 version of the Wysiwyg API module, and has not been tested with either the 1.x or 3.x versions of Wysiwyg API. I hope that this module is short-lived and that the corresponding fixes get rolled into the Wysiwyg API module. However, I'm making it available in the meantime as its own module, so that anyone needing this functionality now can make use of it.

      Password Confirm

      This module provides a field type for Password Confirm.


      * Fields similar to the password field used in user registration form.
      * Javascript based on line validation.
      * Save Password settings for

      • Drupal based encryption for password value
      • Plain text password value.

      * Show Password on node form

      • Plain Text
      • Dotted Value


      1. Place the entire password_confirm directory into your Drupal sites/all/modules/ directory.

      2. Enable the Password Confirm module by navigating to:
      administer > modules

      To enable encryption of password, see settings.
      Once you choose to encrypt password you should not use show password, else it will show the hash value of password.
      Their is another module called Password Field, But this module is different from that one in several ways:

      1. By adding one field, set of field for password and confirm password gets added to the form
      2. In line validation of password strength and password match is done.
      3. Password can be save in either encrypted form or as plain text, depending upon requirement.

      Autocomplete Deluxe for References


      This module implements an autocomplete deluxe widget for the References module.
      It also serves as good example on how to implement an autocomplete deluxe widget for you're own module.


      Pager for Content type

      For every node of selected content type module add "previous" and "next"
      buttons to previous or next node.
      Module provide custom pager for content type.
      Pager will apply to end of node render array.

      There is possibility to use pager for navigating between nodes of same author.

      There is a possibility to show titles of the closest nodes before and after a current node (quantity of nodes shown can be adjusted).
      let us suppose there are 5 nodes: node 1, node 2, node 3, node4, node 5;
      a) current node is 3:
      below the pager there will be following links:
      node 1, node 2, node 4, node 5

      b) current node is 2:
      below the pager there will be following links:
      node 1, node 3, node 4, node 5

      c) current node is 5:
      below the pager there will be following links:
      node 1, node 2, node 3, node 4

      There is hook which makes it possible to control sampling of previous and next node.
      As well as a hook to control sampling of nodes closest to the current one.


      Drupal 7.x


      1. Copy the entire pager_for_content_type directory
      the Drupal sites/all/modules directory.

      2. Login as an administrator. Enable the module
      in the "Administer" -> "Modules"

      3. (Optional) Edit the settings under

      Link Image Formatter

      Defines a field formatter to display a link to an image as an HTML image element.

      The Imagecache External module (D6 only; http://drupal.org/project/imagecache_external) is recommended to allow for custom dynamic external image manipulation and cache.

      Popup field group

      Extends Field group with an option for a Popup field group. This will render a link which, when clicked, shows all of its children in a simple position: fixed popup.

      This module does not mess around with the structure of the form or the DOM particularly. Rather the children of the group are surrounded in a <div>, which is then styled as a very simple position-fixed popup.

      A button is then rendered on the form which toggles the popup open/closed. The label of the button is configurable.

      Jquery Slideshow

      This module creates a javascript slideshow using the Cycle plugin for Jquery. The slideshow is created from multiple imagefields of a node. There are settings to change the type and speed of transitions. Settings also exist to use Imagecache presets for the images.

      This module requires these modules:

      Example of this module in action.


      The CCK Display Field Setting (Screenshot)

      The Jquery Slideshow Settings (Screenshot)

      A big 'thank you' to Lee Rowlands (larowlan) for porting this module to D6.

      Other slideshow modules that you may want to test

      The latest 2.0 code for this module is on GitHub


      Media: Image Flotsam

      This module contains Embedded Image Field providers (i.e. emfield's emimage module) that don't currently have their own "Media: " module yet (see the emfield project page for more information on the move towards the new and vastly improved Media Module).