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\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);
  }
}
doc_Drupal
2016-10-29 09:27:07
Comments
Leave a Comment

Please login to continue.