MenuLinkManager::removeDefinition
public function MenuLinkManager::removeDefinition
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\MenuCode
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); } }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Menu!MenuLinkManager.php/function/MenuLinkManager::removeDefinition/8.1.x