protected MenuLinkManager::resetInstance(MenuLinkInterface $instance)
Resets the menu link to its default settings.
Parameters
\Drupal\Core\Menu\MenuLinkInterface $instance: The menu link which should be reset.
Return value
\Drupal\Core\Menu\MenuLinkInterface The reset menu link.
Throws
\Drupal\Component\Plugin\Exception\PluginException Thrown when the menu link is not resettable.
File
- core/lib/Drupal/Core/Menu/MenuLinkManager.php, line 396
Class
- MenuLinkManager
- Manages discovery, instantiation, and tree building of menu link plugins.
Namespace
Drupal\Core\Menu
Code
protected function resetInstance(MenuLinkInterface $instance) {
$id = $instance->getPluginId();
if (!$instance->isResettable()) {
throw new PluginException("Menu link $id is not resettable");
}
// Get the original data from disk, reset the override and re-save the menu
// tree for this link.
$definition = $this->getDefinitions()[$id];
$this->overrides->deleteOverride($id);
$this->treeStorage->save($definition);
return $this->createInstance($id);
}
Please login to continue.