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