public function ConfigEntityBundleBase::postSave

public ConfigEntityBundleBase::postSave(EntityStorageInterface $storage, $update = TRUE)

Acts on a saved entity before the insert or update hook is invoked.

Used after the entity is saved, but before invoking the insert or update hook. Note that in case of translatable content entities this callback is only fired on their current translation. It is up to the developer to iterate over all translations if needed.

Parameters

\Drupal\Core\Entity\EntityStorageInterface $storage: The entity storage object.

bool $update: TRUE if the entity has been updated, or FALSE if it has been inserted.

Overrides Entity::postSave

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_manager = $this->entityManager();
  $bundle_of = $this->getEntityType()->getBundleOf();
  if (!$update) {
    $entity_manager->onBundleCreate($this->id(), $bundle_of);
  }
  else {
    // Invalidate the render cache of entities for which this entity
    // is a bundle.
    if ($entity_manager->hasHandler($bundle_of, 'view_builder')) {
      $entity_manager->getViewBuilder($bundle_of)->resetCache();
    }
    // Entity bundle field definitions may depend on bundle settings.
    $entity_manager->clearCachedFieldDefinitions();
    $entity_manager->clearCachedBundles();
  }
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Config!Entity!ConfigEntityBundleBase.php/function/ConfigEntityBundleBase::postSave/8.1.x