public function BookManager::deleteFromBook in Drupal 9
Same name and namespace in other branches
- 8 core/modules/book/src/BookManager.php \Drupal\book\BookManager::deleteFromBook()
Deletes node's entry from book table.
Parameters
int $nid: The nid to delete.
Overrides BookManagerInterface::deleteFromBook
File
- core/
modules/ book/ src/ BookManager.php, line 520
Class
- BookManager
- Defines a book manager.
Namespace
Drupal\bookCode
public function deleteFromBook($nid) {
$original = $this
->loadBookLink($nid, FALSE);
$this->bookOutlineStorage
->delete($nid);
if ($nid == $original['bid']) {
// Handle deletion of a top-level post.
$result = $this->bookOutlineStorage
->loadBookChildren($nid);
$children = $this->entityTypeManager
->getStorage('node')
->loadMultiple(array_keys($result));
foreach ($children as $child) {
$child->book['bid'] = $child
->id();
$this
->updateOutline($child);
}
}
$this
->updateOriginalParent($original);
$this->books = NULL;
Cache::invalidateTags([
'bid:' . $original['bid'],
]);
}