MenuLinkManager::resetInstance

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

Please login to continue.