From 28976a35c84795d9d02bc095ba6b0096adf6b176 Mon Sep 17 00:00:00 2001 From: Anthony Malkoun Date: Wed, 24 Jun 2026 09:00:16 +1000 Subject: [PATCH] Add error condition checks to breadcrumb - Ignore when sends an empty URI - Check if external URI used --- .../tide_breadcrumbs/tide_breadcrumbs.module | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/modules/tide_breadcrumbs/tide_breadcrumbs.module b/modules/tide_breadcrumbs/tide_breadcrumbs.module index 9026037f0..7fc119de2 100644 --- a/modules/tide_breadcrumbs/tide_breadcrumbs.module +++ b/modules/tide_breadcrumbs/tide_breadcrumbs.module @@ -5,6 +5,7 @@ * Tide Breadcrumbs module functionality. */ +use Drupal\Component\Utility\UrlHelper; use Drupal\Core\Entity\Display\EntityViewDisplayInterface; use Drupal\Core\Entity\EntityTypeInterface; use Drupal\Core\Field\BaseFieldDefinition; @@ -74,11 +75,19 @@ function tide_breadcrumbs_node_view(array &$build, NodeInterface $node, EntityVi if (!empty($trail)) { $breadcrumb_items = []; foreach ($trail as $item) { - $breadcrumb_items[] = [ - '#type' => 'link', - '#title' => $item['title'], - '#url' => Url::fromUserInput($item['url']), - ]; + if (!empty($item['title'] && !empty($item['url']))) { + if (UrlHelper::isExternal($item['url'])) { + $url = Url::fromUri($item['url']); + } + else { + $url = Url::fromUserInput($item['url']); + } + $breadcrumb_items[] = [ + '#type' => 'link', + '#title' => $item['title'], + '#url' => $url, + ]; + } } // Build the render array with a heading and horizontal layout.