public MenuLinkDefault::updateLink(array $new_definition_values, $persist)
Updates the definition values for a menu link.
Depending on the implementation details of the class, not all definition values may be changed. For example, changes to the title of a static link will be discarded.
In general, this method should not be called directly, but will be called automatically from MenuLinkManagerInterface::updateDefinition().
Parameters
array $new_definition_values: The new values for the link definition. This will usually be just a subset of the plugin definition.
bool $persist: TRUE to have the link persist the changed values to any additional storage.
Return value
array The plugin definition incorporating any allowed changes.
Overrides MenuLinkInterface::updateLink
File
- core/lib/Drupal/Core/Menu/MenuLinkDefault.php, line 86
Class
- MenuLinkDefault
- Provides a default implementation for menu link plugins.
Namespace
Drupal\Core\Menu
Code
1 2 3 4 5 6 7 8 9 10 11 12 | public function updateLink( array $new_definition_values , $persist ) { // Filter the list of updates to only those that are allowed. $overrides = array_intersect_key ( $new_definition_values , $this ->overrideAllowed); // Update the definition. $this ->pluginDefinition = $overrides + $this ->getPluginDefinition(); if ( $persist ) { // Always save the menu name as an override to avoid defaulting to tools. $overrides [ 'menu_name' ] = $this ->pluginDefinition[ 'menu_name' ]; $this ->staticOverride->saveOverride( $this ->getPluginId(), $this ->pluginDefinition); } return $this ->pluginDefinition; } |
Please login to continue.