You are here

function _menu_link_content_update_path_alias in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 core/modules/menu_link_content/menu_link_content.module \_menu_link_content_update_path_alias()

Helper function to update plugin definition using internal scheme.

Parameters

string $path: The path alias.

3 calls to _menu_link_content_update_path_alias()
menu_link_content_path_delete in core/modules/menu_link_content/menu_link_content.module
Implements hook_path_delete().
menu_link_content_path_insert in core/modules/menu_link_content/menu_link_content.module
Implements hook_path_insert().
menu_link_content_path_update in core/modules/menu_link_content/menu_link_content.module
Implements hook_path_update().

File

core/modules/menu_link_content/menu_link_content.module, line 54
Allows administrators to create custom menu links.

Code

function _menu_link_content_update_path_alias($path) {

  /** @var \Drupal\Core\Menu\MenuLinkManagerInterface $menu_link_manager */
  $menu_link_manager = \Drupal::service('plugin.manager.menu.link');

  /** @var \Drupal\menu_link_content\MenuLinkContentInterface[] $entities */
  $entities = \Drupal::entityManager()
    ->getStorage('menu_link_content')
    ->loadByProperties([
    'link.uri' => 'internal:' . $path,
  ]);
  foreach ($entities as $menu_link) {
    $menu_link_manager
      ->updateDefinition($menu_link
      ->getPluginId(), $menu_link
      ->getPluginDefinition(), FALSE);
  }
}