diff --git a/modules/mod_menu/src/Helper/MenuHelper.php b/modules/mod_menu/src/Helper/MenuHelper.php index e4621611f7e31..8553b4f38c67e 100644 --- a/modules/mod_menu/src/Helper/MenuHelper.php +++ b/modules/mod_menu/src/Helper/MenuHelper.php @@ -37,7 +37,6 @@ public static function getList(&$params) { $app = Factory::getApplication(); $menu = $app->getMenu(); - $input = $app->getInput(); // Get active menu item $base = self::getBase($params); @@ -65,22 +64,13 @@ public static function getList(&$params) if ($items) { + $inputVars = $app->getInput()->getArray(); + foreach ($items as $i => $item) { $item->parent = false; $itemParams = $item->getParams(); - $item->current = true; - - foreach ($item->query as $key => $value) - { - if ($input->get($key) !== $value) - { - $item->current = false; - break; - } - } - if (isset($items[$lastitem]) && $items[$lastitem]->id == $item->parent_id && $itemParams->get('menu_show', 1) == 1) { $items[$lastitem]->parent = true; @@ -103,6 +93,17 @@ public static function getList(&$params) continue; } + $item->current = true; + + foreach ($item->query as $key => $value) + { + if (!isset($inputVars[$key]) || $inputVars[$key] !== $value) + { + $item->current = false; + break; + } + } + $item->deeper = false; $item->shallower = false; $item->level_diff = 0;