function MenuLinkManager::addDefinition
Same name in other branches
- 9 core/lib/Drupal/Core/Menu/MenuLinkManager.php \Drupal\Core\Menu\MenuLinkManager::addDefinition()
- 8.9.x core/lib/Drupal/Core/Menu/MenuLinkManager.php \Drupal\Core\Menu\MenuLinkManager::addDefinition()
- 10 core/lib/Drupal/Core/Menu/MenuLinkManager.php \Drupal\Core\Menu\MenuLinkManager::addDefinition()
Overrides MenuLinkManagerInterface::addDefinition
File
-
core/
lib/ Drupal/ Core/ Menu/ MenuLinkManager.php, line 307
Class
- MenuLinkManager
- Manages discovery, instantiation, and tree building of menu link plugins.
Namespace
Drupal\Core\MenuCode
public function addDefinition($id, array $definition) {
if ($this->treeStorage
->load($id)) {
throw new PluginException("The menu link ID {$id} already exists as a plugin definition");
}
elseif ($id === '') {
throw new PluginException("The menu link ID cannot be empty");
}
// Add defaults, so there is no requirement to specify everything.
$this->processDefinition($definition, $id);
// Store the new link in the tree.
$this->treeStorage
->save($definition);
return $this->createInstance($id);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.