function ConfigEntityBundleBase::postSave
Same name in other branches
- 9 core/lib/Drupal/Core/Config/Entity/ConfigEntityBundleBase.php \Drupal\Core\Config\Entity\ConfigEntityBundleBase::postSave()
- 8.9.x core/lib/Drupal/Core/Config/Entity/ConfigEntityBundleBase.php \Drupal\Core\Config\Entity\ConfigEntityBundleBase::postSave()
- 10 core/lib/Drupal/Core/Config/Entity/ConfigEntityBundleBase.php \Drupal\Core\Config\Entity\ConfigEntityBundleBase::postSave()
Overrides EntityBase::postSave
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\EntityCode
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.