You are here

public function StaticMenuLinkOverrides::deleteMultipleOverrides in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Menu/StaticMenuLinkOverrides.php \Drupal\Core\Menu\StaticMenuLinkOverrides::deleteMultipleOverrides()

Deletes multiple overrides to definitions of static (YAML-defined) links.

Parameters

array $ids: Array of menu link plugin IDs.

Overrides StaticMenuLinkOverridesInterface::deleteMultipleOverrides

1 call to StaticMenuLinkOverrides::deleteMultipleOverrides()
StaticMenuLinkOverrides::deleteOverride in core/lib/Drupal/Core/Menu/StaticMenuLinkOverrides.php
Deletes any overrides to the definition of a static (YAML-defined) link.

File

core/lib/Drupal/Core/Menu/StaticMenuLinkOverrides.php, line 82

Class

StaticMenuLinkOverrides
Defines an implementation of the menu link override using a config file.

Namespace

Drupal\Core\Menu

Code

public function deleteMultipleOverrides(array $ids) {
  $all_overrides = $this
    ->getConfig()
    ->get('definitions');
  $save = FALSE;
  foreach ($ids as $id) {
    $id = static::encodeId($id);
    if (isset($all_overrides[$id])) {
      unset($all_overrides[$id]);
      $save = TRUE;
    }
  }
  if ($save) {
    $this
      ->getConfig()
      ->set('definitions', $all_overrides)
      ->save();
  }
  return $save;
}