function EntityDisplayBase::preSave

Same name in other branches
  1. 9 core/lib/Drupal/Core/Entity/EntityDisplayBase.php \Drupal\Core\Entity\EntityDisplayBase::preSave()
  2. 10 core/lib/Drupal/Core/Entity/EntityDisplayBase.php \Drupal\Core\Entity\EntityDisplayBase::preSave()
  3. 11.x core/lib/Drupal/Core/Entity/EntityDisplayBase.php \Drupal\Core\Entity\EntityDisplayBase::preSave()

Overrides ConfigEntityBase::preSave

1 call to EntityDisplayBase::preSave()
LayoutBuilderEntityViewDisplay::preSave in core/modules/layout_builder/src/Entity/LayoutBuilderEntityViewDisplay.php
Acts on an entity before the presave hook is invoked.
1 method overrides EntityDisplayBase::preSave()
LayoutBuilderEntityViewDisplay::preSave in core/modules/layout_builder/src/Entity/LayoutBuilderEntityViewDisplay.php
Acts on an entity before the presave hook is invoked.

File

core/lib/Drupal/Core/Entity/EntityDisplayBase.php, line 253

Class

EntityDisplayBase
Provides a common base class for entity view and form displays.

Namespace

Drupal\Core\Entity

Code

public function preSave(EntityStorageInterface $storage) {
    // Ensure that a region is set on each component.
    foreach ($this->getComponents() as $name => $component) {
        // @todo Remove this BC layer in Drupal 9.
        // @see https://www.drupal.org/project/drupal/issues/2799641
        if (!isset($component['region']) && isset($component['type']) && $component['type'] === 'hidden') {
            @trigger_error("Support for using 'type' => 'hidden' in a component is deprecated in drupal:8.3.0 and is removed from drupal:9.0.0. Use 'region' => 'hidden' instead. See https://www.drupal.org/node/2801513", E_USER_DEPRECATED);
            $this->removeComponent($name);
        }
        // Ensure that a region is set.
        if (isset($this->content[$name]) && !isset($component['region'])) {
            // Directly set the component to bypass other changes in setComponent().
            $this->content[$name]['region'] = $this->getDefaultRegion();
        }
    }
    ksort($this->content);
    ksort($this->hidden);
    parent::preSave($storage);
}

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