From 80476bee3b79c364188c5ba94fe6f64aae170166 Mon Sep 17 00:00:00 2001
From: divyanshgupta002 <divyansh.gupta@innoraft.com>
Date: Thu, 20 Feb 2025 12:34:46 +0530
Subject: [PATCH 1/2] Issue#3507651: Fix the error on Add block.

---
 navigation_extra.module | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/navigation_extra.module b/navigation_extra.module
index 9504365..c25c3ac 100644
--- a/navigation_extra.module
+++ b/navigation_extra.module
@@ -77,9 +77,17 @@ function navigation_extra_plugin_filter_block__layout_builder_alter(array &$defi
       return in_array($base_plugin_id, $navigation_safe, TRUE);
     }, ARRAY_FILTER_USE_BOTH);
 
-    // Call the original core navigation hook. It will remove our definitions.
-    // @phpstan-ignore-next-line
-    navigation_plugin_filter_block__layout_builder_alter($definitions, $extra);
+    // Ensure compatibility with Drupal 11.
+    if (class_exists('\Drupal\navigation\Hook\NavigationHooks')) {
+      $navigation_hooks = new \Drupal\navigation\Hook\NavigationHooks();
+      $navigation_hooks->pluginFilterLayoutLayoutBuilderAlter($definitions, $extra);
+    }
+    else {
+      // Fallback for Drupal 10 and earlier.
+      if (function_exists('navigation_plugin_filter_block__layout_builder_alter')) {
+        navigation_plugin_filter_block__layout_builder_alter($definitions, $extra);
+      }
+    }
 
     // Add the definitions we consider safe again.
     $definitions += $safe_definitions;
-- 
GitLab


From 8ff242fe4c7e86618bed5d1edc4e897c70adfd79 Mon Sep 17 00:00:00 2001
From: Kris Booghmans <kris@calibrate.be>
Date: Fri, 7 Mar 2025 10:56:46 +0100
Subject: [PATCH 2/2] Use DeprecationHelper.

---
 navigation_extra.module | 26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/navigation_extra.module b/navigation_extra.module
index c25c3ac..cd48cc6 100644
--- a/navigation_extra.module
+++ b/navigation_extra.module
@@ -5,6 +5,7 @@
  * Primary module hooks for navigation module.
  */
 
+use Drupal\Component\Utility\DeprecationHelper;
 use Drupal\Core\Routing\RouteMatchInterface;
 use Drupal\Component\Plugin\PluginBase;
 use Drupal\navigation\Plugin\SectionStorage\NavigationSectionStorage;
@@ -78,16 +79,21 @@ function navigation_extra_plugin_filter_block__layout_builder_alter(array &$defi
     }, ARRAY_FILTER_USE_BOTH);
 
     // Ensure compatibility with Drupal 11.
-    if (class_exists('\Drupal\navigation\Hook\NavigationHooks')) {
-      $navigation_hooks = new \Drupal\navigation\Hook\NavigationHooks();
-      $navigation_hooks->pluginFilterLayoutLayoutBuilderAlter($definitions, $extra);
-    }
-    else {
-      // Fallback for Drupal 10 and earlier.
-      if (function_exists('navigation_plugin_filter_block__layout_builder_alter')) {
-        navigation_plugin_filter_block__layout_builder_alter($definitions, $extra);
-      }
-    }
+    DeprecationHelper::backwardsCompatibleCall(
+      currentVersion: \Drupal::VERSION,
+      deprecatedVersion: '10.3',
+      currentCallable: function() use (&$definitions, $extra) {
+        if (class_exists('\Drupal\navigation\Hook\NavigationHooks')) {
+          $navigation_hooks = new \Drupal\navigation\Hook\NavigationHooks();
+          $navigation_hooks->pluginFilterLayoutLayoutBuilderAlter($definitions, $extra);
+        }
+      },
+      deprecatedCallable: function() use (&$definitions, $extra) {
+        if (function_exists('navigation_plugin_filter_block__layout_builder_alter')) {
+          navigation_plugin_filter_block__layout_builder_alter($definitions, $extra);
+        }
+      },
+    );
 
     // Add the definitions we consider safe again.
     $definitions += $safe_definitions;
-- 
GitLab