From cc617253eb92d8e57d82dcc269a2f535681931a4 Mon Sep 17 00:00:00 2001 From: Moritz Strohm Date: Tue, 28 May 2024 14:31:53 +0000 Subject: display skip links for first and second navigagion layer only when there are elements, fixes #4049 Closes #4049 Merge request studip/studip!2949 --- app/controllers/start.php | 1 + lib/classes/sidebar/Sidebar.php | 4 ++-- templates/header.php | 8 ++++++-- templates/tabs.php | 4 ++-- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/app/controllers/start.php b/app/controllers/start.php index 3040d58..8231095 100644 --- a/app/controllers/start.php +++ b/app/controllers/start.php @@ -59,6 +59,7 @@ class StartController extends AuthenticatedController $nav = $sidebar->addWidget(new NavigationWidget()); $nav->setTitle(_('Sprungmarken')); + $nav->setId('navigation-layer-3'); foreach (array_merge(...$this->columns) as $widget) { $nav->addLink( $widget->getPluginName(), diff --git a/lib/classes/sidebar/Sidebar.php b/lib/classes/sidebar/Sidebar.php index 65fc62d..ba1e609 100644 --- a/lib/classes/sidebar/Sidebar.php +++ b/lib/classes/sidebar/Sidebar.php @@ -186,7 +186,7 @@ class Sidebar extends WidgetContainer static $actions_widget_added = false; - if ($widget instanceof NavigationWidget && !$navigation_widget_added) { + if ($widget instanceof NavigationWidget && !$navigation_widget_added && $widget->hasElements()) { SkipLinks::addIndex( _('Dritte Navigationsebene'), $widget->getId(), @@ -197,7 +197,7 @@ class Sidebar extends WidgetContainer $navigation_widget_added = true; } - if ($widget instanceof ActionsWidget && !$actions_widget_added) { + if ($widget instanceof ActionsWidget && !$actions_widget_added && $widget->hasElements()) { if (!$widget->getId()) { $widget->setId('sidebar-actions'); } diff --git a/templates/header.php b/templates/header.php index b875038..711d517 100644 --- a/templates/header.php +++ b/templates/header.php @@ -216,7 +216,9 @@ if ($navigation) {