PHPackages                             performant\_labs/form\_mode\_manager - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. performant\_labs/form\_mode\_manager

ActiveDrupal-module[API Development](/categories/api)

performant\_labs/form\_mode\_manager
====================================

Provide an API to use Form modes

0102PHP

Since Aug 15Pushed 5y ago1 watchersCompare

[ Source](https://github.com/Performant-Labs/form_mode_manager)[ Packagist](https://packagist.org/packages/performant_labs/form_mode_manager)[ RSS](/packages/performant-labs-form-mode-manager/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Form Mode Manager [![Build Status](https://camo.githubusercontent.com/80ab33a71c6969ff098c5a2821e8e627f420c692d9dd8057eb801e20e8dce8c4/68747470733a2f2f7472617669732d63692e6f72672f776f707272722f666f726d5f6d6f64655f6d616e616765722e7376673f6272616e63683d382e782d322e78)](https://travis-ci.org/woprrr/form_mode_manager) [![Scrutinizer Code Quality](https://camo.githubusercontent.com/b00fa24b2d41d77e6195271934ab31ca7ae5b6d5ab02778103d12bf5c1fa2948/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f776f707272722f666f726d5f6d6f64655f6d616e616765722f6261646765732f7175616c6974792d73636f72652e706e673f623d382e782d322e78)](https://scrutinizer-ci.com/g/woprrr/form_mode_manager/?branch=8.x-2.x) [![SensioLabsInsight](https://camo.githubusercontent.com/8cdfbe72d31aca7ef44039544b82348c09f1298386a159b6fb45deeb8e6c03d9/68747470733a2f2f696e73696768742e73656e73696f6c6162732e636f6d2f70726f6a656374732f39333862373334372d376230392d343265322d386461392d3536616438646631343332662f6d696e692e706e67)](https://insight.sensiolabs.com/projects/938b7347-7b09-42e2-8da9-56ad8df1432f) [![Gitter](https://camo.githubusercontent.com/df9d0c892139a505a554ad3feff70ec53a20705cfc256a23ab2826c5b7237b4a/68747470733a2f2f6261646765732e6769747465722e696d2f67697474657248512f6769747465722e737667)](https://gitter.im/Form-mode-manager)
==========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

[](#form-mode-manager----)

Provides an interface that allows the implementation and use of Form modes easily without specific development. This module provides different configurations/routes/UI/Additional access control to simplify and enhance the management and development of your different entity forms that allowing you to implement a complex content strategy in simple ways. Form mode manager provides a mechanism fully integrated with the event and routing system to support your custom content entities and flexibility to add some behaviors of entity forms.

Table of contents
-----------------

[](#table-of-contents)

Details- [Requirements](#requirements)
- [Roadmap](#roadmap)
- [Known problems](#known-problems)
- [Installation](#installation)
- [Usage](#usage)
    - [Create entities as a specific form mode](#create-entities-as-a-specific-form-mode)
    - [Edit entities as a specific form mode](#edit-entities-as-a-specific-form-mode)
    - [Advanced use cases](#advanced-use-cases)
- [Configurations](#configurations)
- [Try out the module](#try-out-the-module)
    - [Try on simplytest.me](#try-on-simplytest.me)

Requirements
------------

[](#requirements)

- Drupal 8.

Roadmap
-------

[](#roadmap)

You can follow the evolution of this module [here](https://www.drupal.org/node/2880651).

Compatibility
-------------

[](#compatibility)

[Here](https://www.drupal.org/node/2838003) you are a list of known compatible entities (standard &amp; contributed).

Known problems
--------------

[](#known-problems)

- Profile : Not compatible with Profile ATM please follow [\#2834749](https://www.drupal.org/node/2834749) issue to have more precision.
- Comment : Need more specific adjust to work properly with Form mode manager. We need more volunteers to purpose a new sub-module to assume an acceptable compatibility follows [\#2887326](https://www.drupal.org/node/2887326).
- Contact : Same problem as `Comment` entity, the process of `contact_message` are too specific for these entity we need more specific developments.

Installation
------------

[](#installation)

1. Download and extract the module to your (`sites/all/modules/contrib`) folder.
2. Enable the module on the Drupal Modules page (`admin/modules`) or using (`$ drush en form_mode_manager`)

### Usage

[](#usage)

To simplify the understanding of this documentation the example of use following are based on the most generic case (`Node`). Please go to [D.O documentation page](https://www.drupal.org/docs/8/modules/form-mode-manager) to found other common entity cases.

#### Create entities as a specific form mode

[](#create-entities-as-a-specific-form-mode)

- Create a mode form (`admin/structure/display-modes/form/add/node`) or programmatically with `targetEntityType` set to `node`.
- Add the created form mode to a content type (article for example), go to (`admin/structure/types/manage/article/form-display`)
- At the bottom we have a fieldset `Custom Display settings` with our form modes listed compatible with this entity.
- Check a form mode and save the form.
- Now we have two tabs at the top of the page (or a message purpose you a link in message area when we have a cached result of the page), `Default` and the label of your form mode newly created.
- With these tabs you can define a form different as `default` to configure our form mode.
- Now to use your form mode you have two ways
    - Go directly to (`node/add/article/form_mode_machine_name`).
    - Go to node overview page (`admin/content`) and use the new local action link (`Add node as xxxx`).

#### Edit entities as a specific form mode

[](#edit-entities-as-a-specific-form-mode)

- Display a node entity like (`/node/1`).
- Click to edit as usual way.
- Without any specific configuration you have a new tabs level at the bottom of (`Edit`) provided by default. These tabs permit you to use the `default`form mode or our other form mode activated to this Content Type.

You can also edit our entities directly on your overviews pages with operations links you can show directly all operations allowed to see` for the current user.

#### Advanced use cases

[](#advanced-use-cases)

In advance use cases you can need to restrict access of `default` form mode but only for a specific form mode(s) to a specific role.

To do that you need to configure form\_mode\_manager to change the location of your form mode local tasks at the primary level (Same level as `Edit` button) and restrict access to 'default' form for a specific role for that entity. You can also totally exclude a specific form\_mode to all form mode manager process/enhancements.

@see [access control use cases](https://www.drupal.org/docs/8/modules/form-mode-manager/usages/access-control) for more information.

Configurations
--------------

[](#configurations)

1. Depending on the role of the user, it may have access to a form mode, and not to the default of a given content type. In this case, go `admin/config/content/form_mode_manager/links-task` to configure the location of the task locals. Example, for a content type "article" that to a form mode contributor, if the current user has only right to form mode contributor it will be necessary to change the position of the Links task so that it is at the first level instead of the Second as the default for nodes.
2. You also have the possibility to exclude form mode via the interface by going to the other tab of the parameter page here `admin/config/content/form_mode_manager`. You may notice that by default the form mode register of user is excluded by default in order to avoid any conflict.

Custom entities
---------------

[](#custom-entities)

FormModeManager can be used in lots of contexts. Here you have all examples for Core entities examples, the implementation and configuration depend of your entity. If you define a custom entity and not respect the existent "pattern" you can be needing more developments to use Form mode manager because the discovery can't know all possible custom changes.

Here you have a small list of minimal configuration needed by Form mode manager to work with our entities :

- Have a "standard" entity route name like for your operation form(s).
    - Route name for your add form operation like (`entity.ENTITY_TYPE_ID.add_form`).
    - Route name for your edit form operation like (`entity.ENTITY_TYPE_ID.edit_form`).
- Have the correct operation links :
    - `default` (to generate your add form)
    - `edit-form` (to generate your add form)

For more information about links templates see [Display mode (form mode)](https://www.drupal.org/docs/8/api/entity-api/display-modes-view-modes-and-form-modes)or [Form mode manager usages page](https://www.drupal.org/docs/8/modules/form-mode-manager/usages) to found examples of possible interactions with form\_mode\_manager module enhancements.

Try out the module
------------------

[](#try-out-the-module)

You can try Form mode manager in action directly with the sub-module `Form mode manager example` to test different use cases. You can also install a module in your project and enable it `drush en form_mode_manager_examples -y` or use SimplyTest.me service like next part.

### Try on simplytest.me

[](#try-on-simplytestme)

You can Try Form mode manager with all features online.

1. You just need to follow the desired version by click on the button (Link already generated for you).
2. Lauch sandox.
3. Install online sandbox by following instructions.
4. Enable 'Form mode manager examples' submodule on 'Extension page' `admin/modules`
5. Try it now.
6. Use this link [1.0 (Release Candidate)](https://simplytest.me/project/form_mode_manager/8.x-1.0-rc1).

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity32

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/b25a100abf1728eb93c9b5c66146c8dbdf7aa4d9e0b0e6a7ba01c0eef17096ba?d=identicon)[alvarito75](/maintainers/alvarito75)

### Embed Badge

![Health badge](/badges/performant-labs-form-mode-manager/health.svg)

```
[![Health](https://phpackages.com/badges/performant-labs-form-mode-manager/health.svg)](https://phpackages.com/packages/performant-labs-form-mode-manager)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M478](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M271](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

263103.1M454](/packages/google-gax)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
