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.