public function MenuTreeStorage::save

public MenuTreeStorage::save(array $link)

Saves a plugin definition to the storage.

Parameters

array $definition: A definition for a \Drupal\Core\Menu\MenuLinkInterface plugin.

Return value

array The menu names affected by the save operation. This will be one menu name if the link is saved to the sane menu, or two if it is saved to a new menu.

Throws

\Exception Thrown if the storage back-end does not exist and could not be created.

\Drupal\Component\Plugin\Exception\PluginException Thrown if the definition is invalid - for example, if the specified parent would cause the links children to be moved to greater than the maximum depth.

Overrides MenuTreeStorageInterface::save

File

core/lib/Drupal/Core/Menu/MenuTreeStorage.php, line 257

Class

MenuTreeStorage
Provides a menu tree storage using the database.

Namespace

Drupal\Core\Menu

Code

public function save(array $link) {
  $affected_menus = $this->doSave($link);
  $this->resetDefinitions();
  $cache_tags = Cache::buildTags('config:system.menu', $affected_menus, '.');
  $this->cacheTagsInvalidator->invalidateTags($cache_tags);
  return $affected_menus;
}

© 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!MenuTreeStorage.php/function/MenuTreeStorage::save/8.1.x