diff --git a/core/lib/Drupal/Core/Menu/StaticMenuLinkOverrides.php b/core/lib/Drupal/Core/Menu/StaticMenuLinkOverrides.php index fbde872..0ef652b 100644 --- a/core/lib/Drupal/Core/Menu/StaticMenuLinkOverrides.php +++ b/core/lib/Drupal/Core/Menu/StaticMenuLinkOverrides.php @@ -136,7 +136,11 @@ public function saveOverride($id, array $definition) { if ($definition) { $all_overrides = $this->getConfig()->get('definitions'); // Combine with any existing data. - $all_overrides[static::encodeId($id)] = $definition + $this->loadOverride($id); + $new_definition = $definition + $this->loadOverride($id); + // Sort by key to may config diffs more sensible. + ksort($new_definition); + $all_overrides[static::encodeId($id)] = $new_definition; + ksort($all_overrides); $this->getConfig()->set('definitions', $all_overrides)->save(); } return array_keys($definition);