function EntityDisplayBase::preSave

Same name in other branches
  1. 8.9.x 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 250

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) {
        // 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.