function ConfigEntityBundleBase::postSave

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Config/Entity/ConfigEntityBundleBase.php \Drupal\Core\Config\Entity\ConfigEntityBundleBase::postSave()
  2. 8.9.x core/lib/Drupal/Core/Config/Entity/ConfigEntityBundleBase.php \Drupal\Core\Config\Entity\ConfigEntityBundleBase::postSave()
  3. 11.x core/lib/Drupal/Core/Config/Entity/ConfigEntityBundleBase.php \Drupal\Core\Config\Entity\ConfigEntityBundleBase::postSave()

Overrides EntityBase::postSave

2 calls to ConfigEntityBundleBase::postSave()
NodeType::postSave in core/modules/node/src/Entity/NodeType.php
Acts on a saved entity before the insert or update hook is invoked.
ShortcutSet::postSave in core/modules/shortcut/src/Entity/ShortcutSet.php
Acts on a saved entity before the insert or update hook is invoked.
2 methods override ConfigEntityBundleBase::postSave()
NodeType::postSave in core/modules/node/src/Entity/NodeType.php
Acts on a saved entity before the insert or update hook is invoked.
ShortcutSet::postSave in core/modules/shortcut/src/Entity/ShortcutSet.php
Acts on a saved entity before the insert or update hook is invoked.

File

core/lib/Drupal/Core/Config/Entity/ConfigEntityBundleBase.php, line 36

Class

ConfigEntityBundleBase
A base class for config entity types that act as bundles.

Namespace

Drupal\Core\Config\Entity

Code

public function postSave(EntityStorageInterface $storage, $update = TRUE) {
    parent::postSave($storage, $update);
    $entity_type_manager = $this->entityTypeManager();
    $bundle_of = $this->getEntityType()
        ->getBundleOf();
    if (!$update) {
        \Drupal::service('entity_bundle.listener')->onBundleCreate($this->id(), $bundle_of);
    }
    else {
        // Invalidate the render cache of entities for which this entity
        // is a bundle.
        if ($entity_type_manager->hasHandler($bundle_of, 'view_builder')) {
            $entity_type_manager->getViewBuilder($bundle_of)
                ->resetCache();
        }
        // Entity bundle field definitions may depend on bundle settings.
        \Drupal::service('entity_field.manager')->clearCachedFieldDefinitions();
        $this->entityTypeBundleInfo()
            ->clearCachedBundles();
    }
}

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