function EntityManager::getFormDisplay

Returns the entity form display associated with a bundle and form mode.

The function reads the entity form display object from the current configuration, or returns a ready-to-use empty one if no configuration entry exists yet for this bundle and form mode. This streamlines manipulation of entity form displays by always returning a consistent object that reflects the current state of the configuration.

Example usage:

  • Set the 'body' field to be displayed with the 'text_textarea_with_summary' widget and the 'field_image' field to be hidden on article nodes in the 'default' form mode.
\Drupal::service('entity_display.repository')->getFormDisplay('node', 'article', 'default')
    ->setComponent('body', array(
    'type' => 'text_textarea_with_summary',
    'weight' => 1,
))
    ->setComponent('field_image', array(
    'region' => 'hidden',
))
    ->save();

Parameters

string $entity_type: The entity type.

string $bundle: The bundle.

string $form_mode: (optional) The form mode. Defaults to self::DEFAULT_DISPLAY_MODE.

Return value

\Drupal\Core\Entity\Display\EntityFormDisplayInterface The entity form display associated with the given form mode.

Overrides EntityDisplayRepositoryInterface::getFormDisplay

Deprecated

in drupal:8.8.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Entity\EntityTypeManagerInterface::getFormwDisplay() instead.

File

core/lib/Drupal/Core/Entity/EntityManager.php, line 910

Class

EntityManager
Provides a wrapper around many other services relating to entities.

Namespace

Drupal\Core\Entity

Code

public function getFormDisplay($entity_type, $bundle, $form_mode = self::DEFAULT_DISPLAY_MODE) {
    @trigger_error('EntityManager::getFormDisplay() is deprecated in drupal:8.8.0 and will be removed before Drupal 9.0.0. Use \\Drupal::service(\'entity_display.repository\')->getFormDisplay() instead.', E_USER_DEPRECATED);
    return $this->container
        ->get('entity_display.repository')
        ->getFormDisplay($entity_type, $bundle, $form_mode);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.