public MenuTreeStorage::delete($id)
Deletes a menu link definition from the storage.
Parameters
string $id: The menu link plugin ID.
Overrides MenuTreeStorageInterface::delete
File
- core/lib/Drupal/Core/Menu/MenuTreeStorage.php, line 398
Class
- MenuTreeStorage
- Provides a menu tree storage using the database.
Namespace
Drupal\Core\Menu
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | public function delete ( $id ) { // Children get re-attached to the menu link's parent. $item = $this ->loadFull( $id ); // It's possible the link is already deleted. if ( $item ) { $parent = $item [ 'parent' ]; $children = $this ->loadByProperties( array ( 'parent' => $id )); foreach ( $children as $child ) { $child [ 'parent' ] = $parent ; $this ->save( $child ); } $this ->doDeleteMultiple([ $id ]); $this ->updateParentalStatus( $item ); // Many children may have moved. $this ->resetDefinitions(); $this ->cacheTagsInvalidator->invalidateTags([ 'config:system.menu.' . $item [ 'menu_name' ]]); } } |
Please login to continue.