Add functionality and customize your Drupal application with thousands of projects contributed by our amazing community.

708 modules match your search

A module is code that extends Drupal's by altering existing functionality or adding new features. You can use modules contributed by others or create your own. Learn more about creating and using Drupal modules.

Likno JavaScript/CSS Menus

The "Likno JavaScript/CSS Menus" module implements a way to create stylish menus for any Drupal site. Apart from including the already known philosophy of modifying the appearance of any Drupal menu by just selecting the menu parent and applying a new style, as implemented in the "Nice Menus" or the "Superfish" module, this module introduces a different way to create and manage the content of a menu.

Search.io (formerly Sajari)

INTRODUCTION

Search.io module provides a wrapper for Search.io search engine to be used on Drupal sites.

Magento

logo.png

Drupal-Magento is a set of modules that Magento functionality into Drupal. Magento is the best open source e-commerce platform in the world, which gives user an exhaustive set of features out of the box. However, Drupal is the best CMS in the world, that provides unique abilities to build, present and manage the content of the web-site. Our goal is to combine strengths of both platforms providing to user a power full e-commerce platform with front-end that can be easily themed and managed.

Entity Process Callback

Many times you want to execute an operation over a list of entities.

Interactive Image

This module adds interactivity to images by adding response behaviors to mouse actions on the images.

Commerce PSA

Commerce Product Specific (Unique) Attributes

Node feedback

Node Feedback | Send your feedback

This module offers a check box on the node form asking the author to allow the visitors of the node to send feedback/request for the node using the personal/site wide contact form.

Anonymous Publishing

Image of control panel.

The Anonymous Publishing module increases your control over anonymous
publishing on a site.

Allowing anonymous publishing may lower the threshold for authorship and entry to a site. Sites that deal with sensitive issues may want to provide their users with the ability to publish anonymously.

User bundle

This module allows for the creation of different types of users, each with their
own independent fields, form, and display settings.

Icon Bundles

Example of an icon form field

Icon Bundles allows you to define "bundles" of svg icons in a module or theme *.icons.yml file. These icons are available through an Icon Field (provided by this module) or a render array with the icon type.

Omnystudio

Omnystudio is an audio management solution for podcasts and radio stations.

Photoblog

The Photoblog module provides simple photoblog-style features:

Commerce Akeneo

Logo Akeneo

Akeneo is a Product Information Management application designed to simplify your product management processes.

Drupal SEO Pack

The Drupal SEO Pack module gives you very flexible control over some of the most common but most important SEO aspects of your Drupal website. The goal is better rankings in search engines through the use of best SEO practices.

Drupal SEO Pack Module Features:

  • Granular Page Title Control - Create endless and better SEO-friendly page titles for your taxonomy and all content types, i.e. blog, forum, book, page, and any other added content types.
  • Better Pagination Title Tags - Create more unique pagination pages, such as "Page - 2" "Page - 3" etc. instead of every search, category, or archives pagination page having the exact same title tag.
  • More Duplicate Content Control - The SEO Pack modules gives you the ability to add the following META rules to your Drupal website: noindex, follow / noindex / noindex, nofollow, etc. for any content type and your taxonomy pages.
  • Add other Nofollow Rules - This modules allows you to add several other META rules such as: meta name="robots" content="noodp" & "meta name="robots" content="noarchive" if you do not want your content indexed by the Open Directory Project or search engine cache or Internet archives.

Harmony Access

Harmony Access provides an access layer (currently no UI) to Harmony Core so that access can be restricted to threads.

Ubercart Ticket

Ticket view

Ubercart Ticket is a ticketing/customer support system for Ubercart.

Features:

  • Email integration - Ubercart Ticket can be configured to collect emails from any number of email addresses and creates tickets from the content of the email
  • Integration with Ubercart orders - an order pane is created on every order that lists all tickets for that order along with a link to create a new ticket with that order's information
  • Integration with the Contact module - Ubercart Ticket adds an 'order picker' to the contact form so that customers can choose which order their question applies to and links that order with the ticket
  • Customer information on tickets - Useful customer information is displayed on each ticket. This includes order information, customer contact information, total orders placed, total dollar amount spent, etc.
  • Templates - customer service reps can create templates for responses to save time when answering emails
  • Outgoing email attachments - customer service reps can attach documents (PDF, Word etc.) related to the ticket to the outgoing email to the customer.

iMIS authentication

Enables a Drupal site to authenticate members of an organization that is using iMIS Association Management System. This module requires the use of the ATS Login Web Service (ValidateLoginWithData method) which must be licensed from Assocation Technology Solutions (www.atsol.org).

The module has the following key features.

  • Enables users to access a Drupal site using their iMIS login credentials. A corresponding user is automatically created on the Drupal site and is set up as an 'authenticated user'
  • Limit access to the Drupal site based on defined values taken from one or more of the following iMIS Fields:
  • Name.MEMBER_TYPE
  • Name.STATUS
  • Name.CATEGORY and
  • Name.ISMEMBER.

Basic membership information passed through from iMIS is displayed in the User block including:

  • Name.ID (ID number)
  • Name.FULL_NAME (Full name of member)
  • Name.MEMBER_TYPE (Membership Type)
  • Name.PAID_THRU (Expiry Date)

The Member's primary EMAIL address (Name.EMAIL) is passed through to their Drupal user record and available for add-on applications (e.g. mailing lists).

MySite

MySite demo screen

For Drupal 6, this module is being replaced by the Dashboard project as part of the drupal.org redesign. We need volunteers to work on Dashboard, so go over there and help out, please.

The Drupal 5 version still works, but is not actively being developed. I have marked the module as 'Obsolete.'

MySite pages let users create a personalized summary of the site by adding selected content elements to their personal page. The MySite module is similar to tools like MyYahoo!, iGoogle and NetVibes. However, the content available is generated from your web site.

The module allows registered site users to create a MySite page that contains content from throughout the site. For sites that use the Aggregator module, users may also add feeds from external web sites to their MySite pages. MySite also supports Blocks, Views and 'Droplets' -- content widgets created by the site administrator. Users with JavaScript can drag, drop and sort content on their custom personal layout.

With Droplets, site administrators can also expose web-based content widgets like those from Google and WidgetBox to their users.

The 5.x.3 release adds multiple page support, so that users can have more than one personal page.

MySite was written using an API/Plug-In model that allows the core module to be extended to handle additional content types. These content types do not have to be nodes.

Link to entity

This Drupal module provides two field formatter for displaying entity reference field.

Patternkit

A screenshot of the Patternkit pattern block editor.

The Drupal pattern module.

Patternkit loads your templates, patterns, and components into Drupal as blocks where you can then add them to your pages and layouts. You can configure them with a JSON file with an identical filename in the same directory as the Twig template.

This allows Layout Builder, Page Manager, Drupal blocks layout, or anything that uses blocks, to function as a custom page-builder app.

Conduit

The Conduit project represents a proposed framework for qa testing and automation, containing the next-generation of code being proposed as an evolution for the current qa.drupal.org codebase.

Conduit Flow

1. Job creation

  • Each plugin provides it's own node type, default job properties, and property validation logic.
  • Creation of a job node triggers conduit_insert()
    • conduit_job_info() determines the plugin, module, and category for the job, based on the job node type
    • The merged properties array is generated via hook_node_load()
    • conduit_queue_create() generates the appropriate job queue items and returns the item count
    • Job fields and result placeholders are created for each job chunk and inserted into the node fields
    • The plugin's hook_conduit_init() function is called to initiate any plugin-specific fields
    • hook_conduit_queued is invoked, to allow modules to react to a job being queued
    • hook_insert() runs before field_attach_insert(), so the fields are then saved after execution of the function.

2. Job added to queue

  • Jobs are added to the queue when conduit_insert() calls conduit_queue_create()

Pages