public MenuLinkManager::removeDefinition($id, $persist = TRUE)
Removes a single link definition from the menu tree storage.
This is used for plugins not found through discovery to remove definitions.
Parameters
string $id: The menu link plugin ID.
bool $persist: If TRUE, this method will attempt to persist the deletion from any external storage by invoking MenuLinkInterface::deleteLink() on the plugin that is being deleted.
Throws
\Drupal\Component\Plugin\Exception\PluginException Thrown if the $id is not a valid, existing, plugin ID or if the link cannot be deleted.
Overrides MenuLinkManagerInterface::removeDefinition
File
- core/lib/Drupal/Core/Menu/MenuLinkManager.php, line 290
Class
- MenuLinkManager
- Manages discovery, instantiation, and tree building of menu link plugins.
Namespace
Drupal\Core\Menu
Code
public function removeDefinition($id, $persist = TRUE) { $definition = $this->treeStorage->load($id); // It's possible the definition has already been deleted, or doesn't exist. if ($definition) { $instance = $this->createInstance($id); $this->deleteInstance($instance, $persist); } }
Please login to continue.