Node::postSave

public Node::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/modules/node/src/Entity/Node.php, line 128

Class

Node
Defines the node entity class.

Namespace

Drupal\node\Entity

Code

public function postSave(EntityStorageInterface $storage, $update = TRUE) {
  parent::postSave($storage, $update);

  // Update the node access table for this node, but only if it is the
  // default revision. There's no need to delete existing records if the node
  // is new.
  if ($this->isDefaultRevision()) {
    /** @var \Drupal\node\NodeAccessControlHandlerInterface $access_control_handler */
    $access_control_handler = \Drupal::entityManager()->getAccessControlHandler('node');
    $grants = $access_control_handler->acquireGrants($this);
    \Drupal::service('node.grant_storage')->write($this, $grants, NULL, $update);
  }

  // Reindex the node when it is updated. The node is automatically indexed
  // when it is added, simply by being added to the node table.
  if ($update) {
    node_reindex_node_search($this->id());
  }
}
doc_Drupal
2016-10-29 09:30:23
Comments
Leave a Comment

Please login to continue.