interface EntityDisplayRepositoryInterface

Same name in other branches
  1. 9 core/lib/Drupal/Core/Entity/EntityDisplayRepositoryInterface.php \Drupal\Core\Entity\EntityDisplayRepositoryInterface
  2. 8.9.x core/lib/Drupal/Core/Entity/EntityDisplayRepositoryInterface.php \Drupal\Core\Entity\EntityDisplayRepositoryInterface
  3. 11.x core/lib/Drupal/Core/Entity/EntityDisplayRepositoryInterface.php \Drupal\Core\Entity\EntityDisplayRepositoryInterface

Provides an interface for an entity display repository.

Hierarchy

Expanded class hierarchy of EntityDisplayRepositoryInterface

All classes that implement EntityDisplayRepositoryInterface

37 files declare their use of EntityDisplayRepositoryInterface
BlockContentBlock.php in core/modules/block_content/src/Plugin/Block/BlockContentBlock.php
CommentDefaultFormatter.php in core/modules/comment/src/Plugin/Field/FieldFormatter/CommentDefaultFormatter.php
CommentManager.php in core/modules/comment/src/CommentManager.php
CommentManagerTest.php in core/modules/comment/tests/src/Unit/CommentManagerTest.php
CommentViewBuilder.php in core/modules/comment/src/CommentViewBuilder.php

... See full list

File

core/lib/Drupal/Core/Entity/EntityDisplayRepositoryInterface.php, line 8

Namespace

Drupal\Core\Entity
View source
interface EntityDisplayRepositoryInterface {
    
    /**
     * The default display mode ID.
     *
     * @var string
     */
    const DEFAULT_DISPLAY_MODE = 'default';
    
    /**
     * Gets the entity view mode info for all entity types.
     *
     * @return array
     *   The view mode info for all entity types.
     */
    public function getAllViewModes();
    
    /**
     * Gets the entity view mode info for a specific entity type.
     *
     * @param string $entity_type_id
     *   The entity type whose view mode info should be returned.
     *
     * @return array
     *   The view mode info for a specific entity type.
     */
    public function getViewModes($entity_type_id);
    
    /**
     * Gets the entity form mode info for all entity types.
     *
     * @return array
     *   The form mode info for all entity types.
     */
    public function getAllFormModes();
    
    /**
     * Gets the entity form mode info for a specific entity type.
     *
     * @param string $entity_type_id
     *   The entity type whose form mode info should be returned.
     *
     * @return array
     *   The form mode info for a specific entity type.
     */
    public function getFormModes($entity_type_id);
    
    /**
     * Gets an array of view mode options.
     *
     * @param string $entity_type_id
     *   The entity type whose view mode options should be returned.
     *
     * @return array
     *   An array of view mode labels, keyed by the display mode ID.
     */
    public function getViewModeOptions($entity_type_id);
    
    /**
     * Gets an array of form mode options.
     *
     * @param string $entity_type_id
     *   The entity type whose form mode options should be returned.
     *
     * @return array
     *   An array of form mode labels, keyed by the display mode ID.
     */
    public function getFormModeOptions($entity_type_id);
    
    /**
     * Returns an array of enabled view mode options by bundle.
     *
     * @param string $entity_type_id
     *   The entity type whose view mode options should be returned.
     * @param string $bundle
     *   The name of the bundle.
     *
     * @return array
     *   An array of view mode labels, keyed by the display mode ID.
     */
    public function getViewModeOptionsByBundle($entity_type_id, $bundle);
    
    /**
     * Returns an array of enabled form mode options by bundle.
     *
     * @param string $entity_type_id
     *   The entity type whose form mode options should be returned.
     * @param string $bundle
     *   The name of the bundle.
     *
     * @return array
     *   An array of form mode labels, keyed by the display mode ID.
     */
    public function getFormModeOptionsByBundle($entity_type_id, $bundle);
    
    /**
     * Clears the gathered display mode info.
     *
     * @return $this
     */
    public function clearDisplayModeInfo();
    
    /**
     * Returns the entity view display associated with a bundle and view mode.
     *
     * Use this function when assigning suggested display options for a component
     * in a given view mode. Note that they will only be actually used at render
     * time if the view mode itself is configured to use dedicated display
     * settings for the bundle; if not, the 'default' display is used instead.
     *
     * The function reads the entity view display from the current configuration,
     * or returns a ready-to-use empty one if configuration entry exists yet for
     * this bundle and view mode. This streamlines manipulation of display objects
     * by always returning a consistent object that reflects the current state of
     * the configuration.
     *
     * Example usage:
     * - Set the 'body' field to be displayed and the 'field_image' field to be
     *   hidden on article nodes in the 'default' display.
     * @code
     * \Drupal::service('entity_display.repository')
     *   ->getViewDisplay('node', 'article', 'default')
     *   ->setComponent('body', [
     *     'type' => 'text_summary_or_trimmed',
     *     'settings' => ['trim_length' => '200'],
     *     'weight' => 1,
     *   ])
     *   ->removeComponent('field_image')
     *   ->save();
     * @endcode
     *
     * @param string $entity_type
     *   The entity type.
     * @param string $bundle
     *   The bundle.
     * @param string $view_mode
     *   (optional) The view mode. Defaults to self::DEFAULT_DISPLAY_MODE.
     *
     * @return \Drupal\Core\Entity\Display\EntityViewDisplayInterface
     *   The entity view display associated with the view mode.
     */
    public function getViewDisplay($entity_type, $bundle, $view_mode = self::DEFAULT_DISPLAY_MODE);
    
    /**
     * 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.
     * @code
     * \Drupal::service('entity_display.repository')
     *   ->getFormDisplay('node', 'article', 'default')
     *   ->setComponent('body', [
     *     'type' => 'text_textarea_with_summary',
     *     'weight' => 1,
     *   ])
     *   ->setComponent('field_image', [
     *     'region' => 'hidden',
     *   ])
     *   ->save();
     * @endcode
     *
     * @param string $entity_type
     *   The entity type.
     * @param string $bundle
     *   The bundle.
     * @param string $form_mode
     *   (optional) The form mode. Defaults to self::DEFAULT_DISPLAY_MODE.
     *
     * @return \Drupal\Core\Entity\Display\EntityFormDisplayInterface
     *   The entity form display associated with the given form mode.
     *
     * @see \Drupal\Core\Entity\EntityStorageInterface::create()
     * @see \Drupal\Core\Entity\EntityStorageInterface::load()
     */
    public function getFormDisplay($entity_type, $bundle, $form_mode = self::DEFAULT_DISPLAY_MODE);

}

Members

Title Sort descending Modifiers Object type Summary
EntityDisplayRepositoryInterface::clearDisplayModeInfo public function Clears the gathered display mode info.
EntityDisplayRepositoryInterface::DEFAULT_DISPLAY_MODE constant The default display mode ID.
EntityDisplayRepositoryInterface::getAllFormModes public function Gets the entity form mode info for all entity types.
EntityDisplayRepositoryInterface::getAllViewModes public function Gets the entity view mode info for all entity types.
EntityDisplayRepositoryInterface::getFormDisplay public function Returns the entity form display associated with a bundle and form mode.
EntityDisplayRepositoryInterface::getFormModeOptions public function Gets an array of form mode options.
EntityDisplayRepositoryInterface::getFormModeOptionsByBundle public function Returns an array of enabled form mode options by bundle.
EntityDisplayRepositoryInterface::getFormModes public function Gets the entity form mode info for a specific entity type.
EntityDisplayRepositoryInterface::getViewDisplay public function Returns the entity view display associated with a bundle and view mode.
EntityDisplayRepositoryInterface::getViewModeOptions public function Gets an array of view mode options.
EntityDisplayRepositoryInterface::getViewModeOptionsByBundle public function Returns an array of enabled view mode options by bundle.
EntityDisplayRepositoryInterface::getViewModes public function Gets the entity view mode info for a specific entity type.

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