function NodeType::postSave

Same name and namespace in other branches
  1. 9 core/modules/node/src/Entity/NodeType.php \Drupal\node\Entity\NodeType::postSave()
  2. 8.9.x core/modules/node/src/Entity/NodeType.php \Drupal\node\Entity\NodeType::postSave()
  3. 10 core/modules/node/src/Entity/NodeType.php \Drupal\node\Entity\NodeType::postSave()

Overrides ConfigEntityBundleBase::postSave

File

core/modules/node/src/Entity/NodeType.php, line 180

Class

NodeType
Defines the Node type configuration entity.

Namespace

Drupal\node\Entity

Code

public function postSave(EntityStorageInterface $storage, $update = TRUE) {
    parent::postSave($storage, $update);
    if ($update && $this->getOriginalId() != $this->id()) {
        $update_count = $storage->updateType($this->getOriginalId(), $this->id());
        if ($update_count) {
            \Drupal::messenger()->addStatus(\Drupal::translation()->formatPlural($update_count, 'Changed the content type of 1 post from %old-type to %type.', 'Changed the content type of @count posts from %old-type to %type.', [
                '%old-type' => $this->getOriginalId(),
                '%type' => $this->id(),
            ]));
        }
    }
    if ($update) {
        // Clear the cached field definitions as some settings affect the field
        // definitions.
        \Drupal::service('entity_field.manager')->clearCachedFieldDefinitions();
    }
}

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