function EntityDisplayBase::preSave

Same name and namespace 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.