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

Link

Module description

The link module can be count to the top 50 modules in Drupal installations and provides a standard custom content field for links. With this module links can be added easily to any content types and profiles and include advanced validating and different ways of storing internal or external links and URLs. It also supports additional link text title, site wide tokens for titles and title attributes, target attributes, css class attribution, static repeating values, input conversion, and many more.

Requirements / Dependencies

  1. Drupal 6: Custom content module (CCK)
  2. Drupal 7: Fields API is provided already by core [no dependencies].
  3. Drupal 8: Link module is in core now. No module installation needed. Yay! Don't forget to activate it. It's deactivated by default.

INFO Since some misleading user reports we need to clarify here - Link module is NOT about to add links to any menus or the navigation nor primary/secondary menu. This can be done with default menu module (part of Drupal core). The Link module provides an additional custom field for storing and validating links to be added with any content type, which means another input block additional to your text-body, title, image and any other input you can make on new content creation.

Downloads

Global Redirect

Global Redirect

What?

GlobalRedirect is a simple module which…

  1. Checks the current URL for an alias and does a 301 redirect to it if it is not being used.
  2. Checks the current URL for a trailing slash, removes it if present and repeats check 1 with the new request.
  3. Checks if the current URL is the same as the site_frontpage and redirects to the frontpage if there is a match.
  4. Checks if the Clean URLs feature is enabled and then checks the current URL is being accessed using the clean method rather than the 'unclean' method.
  5. Checks access to the URL. If the user does not have access to the path, then no redirects are done. This helps avoid exposing private aliased node's.
  6. Make sure the case of the URL being accessed is the same as the one set by the author/administrator. For example, if you set the alias "articles/cake-making" to node/123, then the user can access the alias with any combination of case.
  7. Most of the above options are configurable in the settings page. In Drupal 5 you can access this after enabling the globalredirect_admin module. In Drupal 6, the settings page is bundled into the module.

Downloads

Redirect

Work in progress for a Drupal 7 integration and collaboration between redirection-type modules:

Current features:

  • Common API for loading, saving, and deleting redirects.
  • Case-insensitive redirect matching with a hook to allow other modules to narrow-down the candidate redirects.
  • Redirect counter and last used timestamp, with automatic cleanup of inactive redirects.
  • Integration with Drupal's page cache to optimize redirects and performance.
  • Complete individual redirect access API.
  • Views API integration.

Downloads

Custom Breadcrumbs

Custom Breadcrumbs 2 (6.x-2.x and 7.x-2.x)

Many new features have been added including support for Views, Panels, Taxonomy vocabularies and terms, paths, and a simple API that allows contributed modules to enable custom breadcrumbs for module pages and theme templates. These are implemented using optional, independent submodules that depend on the main Custom Breadcrumbs module.

In addition to breadcrumb visibility, this version provides an option permitting PHP code snippets to be used in forming the breadcrumb titles and paths. Multiple languages are also supported.

Any changes must go in the 7.x version first.

Custom Breadcrumbs 1 (6.x-1.x and 7.x-1.x)

Allows administrators to set up parametrized breadcrumb trails for any node type. This allows CCK-style node types to have "Home > User Blog > 2005 > January" style breadcrumbs on the node view page itself, synchronizing cleanly with custom views or pathauto aliases. Breadcrumb visibility can be customized via a php snippet.

There are no maintainers doing any work on these branches, so please switch to version 2! :) If, for some reason, you'd like these branches maintained, please offer to become a co-maintainer to work on them.

Similar Modules

Downloads

CKEditor Link - A plugin to easily create links to Drupal internal paths

CKEditor Link - Use autocomplete to easily create a link to a Drupal node!

This module is an extension to the CKEditor module.

It also supports CKEditor installed through the Wysiwyg module.

This module allows to easily create links to Drupal internal paths through CKEditor's Link button and dialog.

It is composed of 2 parts:

  1. A client-side CKEditor plugin that adds features to CKEditor's default Link plugin.
  2. A server-side input format filter that converts the raw paths added through the plugin into aliased and, if applicable, language prefixed URLs.

Downloads

Linkit

Linkit 7.x-3.x UI.

Linkit provides an easy interface for internal and external linking with editors and fields by using an autocomplete field. Linkit links to nodes, users, managed files, terms and have basic support for all entities by default.
Linkit has three major advantages over traditional linking

  1. The user does not have to copy or remember a URL.
  2. It is a sustainable solution for internal linking.
  3. It has a user friendy UI.

Features

  • Basic support for all entities.
  • Token support (for better descriptions on search results in Linkit).
  • Provides a link button, similar to the ordinary link button in most editors.
  • Can be attached to fields.
  • The button opens a dialog with an autocomplete field for searching content.
  • Support for IMCE.
  • Settings are handled by profiles, similar to the profiles of the WYSIWYG module. Thus, it is possible to customize the behavior of Linkit in detail.
  • Works with and without Pathologic.
  • Internal absolute URL:s converts automatically into Drupal paths, very simple for users who are used to copy-pasting.

Downloads

Path redirect

Path redirect listing page

This module allows you to specify a redirect from one path to another path or an external URL, using any HTTP redirect status.

#D7CX: I pledge that Path redirect will have a full Drupal 7 release on the day that Drupal 7 is released. Note that the project has moved to http://drupal.org/project/redirect for Drupal 7.

Downloads

Crumbs, the Breadcrumbs suite

Crumbs calculates breadcrumbs for your site.
It does so by finding the parent of the current page, then the parent of the parent, etc, until it arrives at the home page.

Crumbs comes with a bunch of built-in plugins, that can be individually enabled, disabled and prioritized, and some of which provide further configuration options.

Built-in plugins

Crumbs plugins have two responsibilities: (1) to determine the parent path for a given path, and (2) to determine the title for a specific breadcrumb link.

Built-in plugins exist for: Menu, Taxonomy, Entity reference, Organic groups, Path aliases, Entityreference prepopulate, Text fields, Forum, Commerce checkout, etc.

Besides, there are configurable token-based patterns to find the parent for entity pages per bundle.

As a fallback behavior, it will always try to find a parent by chopping off the last part of the path. And for the link title, the fallback is whatever was specified with hook_menu().

Fine-grained priority control

Most plugin priorities are further subdivided, to allow even more fine-grained control: By menu name (menu), vocabulary name (taxonomy), field name and entity bundle (entity reference), group content type (organic groups), etc.

Downloads

Menu Firstchild

By default, Drupal requires that you enter a path for each menu link you add/edit from the Menu administration page.
There are cases you may want to create a parent item, without any path, that simply links to its first viewable child item.
Menu Firstchild provides this functionality.

Downloads

Menu Trail By Path

Menu Trail By Path sets the active-trail on menu items according to the current url.

For example if you are at yoursite.com/blog/category1/article1
Menu Items with these paths will get the active-trail class on them and expand accordingly.

blog
blog/category1
blog/category1/article1

This is particularly useful if you want a lot of nodes to appear as children of certain nodes / taxonomy term / views / referenced nodes / etc, but do not want to add them all to the menu. eg. hundreds of blog articles.

Menu Trail By Path is best used in conjunction with Pathauto.

This module is similar to Menutrails (D6) and Menu Position (D7), except no configuration is needed. It uses the path URL to determine the active-trail instead of setting rules for each node type. Theoretically, it also works for non-node pages such as taxonomy term and views. Just enable the module to see the results.

7.x-2.x branch

7.x-2.x branch is completely rewritten. It should be compatible with any menu, including menu_blocks.

Can also handles breadcrumb by path.

6.x-1.x branch

NOTE: The 6.x-1.x branch is no longer supported and will not receive further development.

Downloads

Pathauto persistent state

Pathauto tries to do it's best to remember if it should be allowed to continue automatically alias a node, but in some cases it needs some help to really remember if you clicked the 'Automatic alias' checkbox or not. So let's save that into the database!

Downloads

Easy Breadcrumb

Easy Breadcrumb Screenshot

The Easy Breadcrumb module provides a plug-and-play block to be embedded in your pages, typically at some place near the page's header. Easy Breadcrumb takes advantage of the work you've already done for generating your paths' alias, while it naturally encourages the creation of semantic and consistent paths. This modules is currently available for Drupal 6.x and 7.x.

Easy Breadcrumb uses the current URL (path alias) and the current page's title to automatically extract the breadcrumb's segments and its respective links. Easy Breadcrumb is really a plug and play module, it auto-generates the breadcrumb by using the current URL, the user needs to do anything to get it working.

For example, having an URL like gallery/videos/once-a-time-in-cartagena, Easy Breadcrumb will automatically produces the breadcrumb Home >> Gallery >> Videos >> Once a time in Cartagena or Home >> Videos >> Once a Time in Cartagena. Again, the breadcrumb presentation will vary depending on your module's settings.

Requirements

Recommended modules

    Downloads

    Empty Page

    #D7CX: I pledge that Empty Page will have a full Drupal 7 release on the day that Drupal 7 is released. Done and done!

    The Empty Page module is a simple empty page solution. It provides an interface that assists in managing "empty" menu callbacks, mostly used for pages that only consist of blocks.

    This module could be considered a solution for this issue (but not limited to the front page): http://geeksandgod.com/forums/dynamic-website-forums/all-about-drupal/ge...

    At least once every project, I've needed to create a content-free page. There are times where I don't want to be limited to a views page, and creating an empty node page just seems dirty, since there is a node_load happening (an empty node that I never intend to have any content inside of) that is actually loading "nothing". An example of where empty pages are necessary are things like the home page, or a section landing page where you want several info blocks that you can freely move around if needed.

    Roadmap

      Downloads

      Read More Link

      This module allows you to move the "Read more" link from the node's links area to the end of the teaser text.

      Downloads

      Sub-pathauto (Sub-path URL Aliases)

      The Drupal Path module matches only full URLs when creating SEO-friendly aliases. This module extends that behavior by also matching known sub-paths and replacing them with their respective alias.

      For example, if user/1 is aliased to users/admin, this module rewrites the link to the user contact page user/1/contact to use the aliased URL users/admin/contact instead. This also includes Views URLs taking a node as argument (e.g. node/%/yourview), in short, every URL that is based on, or extends, an existing alias. In combination with the Pathauto module it is possible to get rid of all remaining exposed internal non-administrative URLs.

      Downloads

      Facet API Pretty Paths

      Facet API Pretty Paths illustration

      Enables pretty paths for searches with Facet API. You will likely use this module in combination with either Search API or Apache Solr Search Integration.

      Functionality overview

      • Pretty paths will be generated as "search/url/segment1/segment2/".
      • By default, a segment will look like: "<alias>/<value>".
      • Custom coder plugins, allow to override the default segment representation.
      • The taxonomy coder outputs the id: "<alias>/<term-name>-<term-id>".
      • The taxonomy pathauto coder leverages pathauto aliases to create even prettier paths: "<alias>/<term-alias>".
      • Pager & breadcrumbs supported.
      • Supports the optional Current Search Blocks "current_search" module of Facet API.

      Downloads

      Custom Permissions

      custom_perms.png

      This very light-weight module allows additional permissions to be created and managed through a administration form. It uses the menu access system to allow or dissalow access to it.

      On the administration page a user is able to create a permission with name and path(s).

      These permissions can then be assigned to roles on the permissions page.

      Downloads

      Node Hierarchy

      Node Hierarchy allows nodes to be children of other nodes creating a tree-like hierarchy of content. The module offers:

      • 1-Click creation of hierarchical menus
      • Hierarchical breadcrumbs
      • Automatic hierarchical urls using Pathauto (and token module)
        (eg: q=aboutus/history/beginning).
      • Automatic creation of hierarchical menus if desired.
      • Optional Views integration.
      • Optional Node Access integration.

      Downloads

      Shorten URLs

      Shorten URLs

      This module provides an API to shorten URLs via many services like bit.ly and TinyURL (over 15 services are available by default), as well as a block and a page that provide an interface for easily shortening URLs, and a block that displays a shortened URL for the current page for easy copying.

      Downloads

      Path redirect import

      Import redirects from CSV

      This module allows to include path redirection in a simple way. Provides a simple way to bulk import redirects for Redirect (Drupal 7) or Path Redirect (Drupal 6) modules from a CSV file.

      All the necessary redirections can be done at the same time from a CSV file.
      Very useful module for moving your website from one path structure to another.

      Drupal 6

      CSV structure:
      'old url', 'new_url', 'redirect_code' = 301

      Downloads

      Relative Path to Absolute URLs

      module maintainer @podarok

      When you use IMCE with FCK Editor, there's a problem with images on simplenews newsletters and feed images, because the path to images and internal links are referrer in relation to current site.

      This module implements a simple filter which replaces src and href attributes like /path/to/link with http://www.example.com/path/to/link, making use of core's url() function.

      Downloads

      CKEditor Link File

      CKEditor Link File provides integration between CKEditor Link and File entity, allowing editors to link to files from within CKEditor. CKEditor Link File gives editors three important tools:

      • A simple method of linking to existing files (promoting file reuse and helping to eliminate duplicate files).
      • The ability to link to files, file URLs or file downloads (configurable by an administrator).
      • The ability to restrict links to certain file types such as audio, video, images or documents (configurable by an administrator).

      Requirements

      CKEditor Link File has two dependencies:

      Contributed modules

      Installation

      To install CKEditor Link File:

      1. CKEditor Link File can be installed using the standard module installation process.

      Related Modules

      The focus of CKEditor Link File is to provide editors with a simple way of linking to existing files.

      Downloads

      Void Menu

      void-menu-icon.png

      Summary

      Void menu allows you to configure special values to tags for use in the Drupal 7 menu system. You can customize up to 10 different void tags with any value you wish and use them freely inside the Drupal menu system.

      The why

      Several excellent modules exist already that may be more suitable for your needs including special_menu_items (http://drupal.org/project/special_menu_items) and menu_firstchild (http://drupal.org/project/menu_firstchild).

      Downloads

      Extended Path Aliases

      Extending the path
      • Have you ever wondered why, after defining an alias like about-us for, say, node/123, your pages are still riddled with those ugly machine-generated tabs and links like /node/123/edit, node/123/revisions etc.?
      • Likewise for /taxonomy/term/% and /user/% links: did you expect to see /dries/track but got /user/5/track?
      • Do you find that your browser address bar also shows those ugly numbers instead of your aliases?
      • Have you ever been annoyed that upon clicking the Edit tab on, say, the about-us page, blocks that you configured to be visible on all about-us/* pages suddenly disappear?
      • In short, would you like your human-readable, SEO-friendly aliases to be carried through on all your tabs, links, Views, and blocks, on all your pages, not just on that single aliased base path?

      If so, then this little module is for you.

      Downloads

      Freelinking

      This project implements a filter framework for easier creation of HTML links to other pages on the site or to external sites.

      The framework uses a wiki style format such as [[indicator:target]] as markup to identify links. For example: [[nodetitle:Page One]] becomes:

        <a href="/node/1" title="Page One" class="freelink freelink-nodetitle freelink-internal">Page One</a>

      Freelinking currently supports the following links:

      Downloads

      Pages