diff --git a/modules/backend/classes/NavigationManager.php b/modules/backend/classes/NavigationManager.php index fc12786bc..db123aa77 100644 --- a/modules/backend/classes/NavigationManager.php +++ b/modules/backend/classes/NavigationManager.php @@ -312,12 +312,22 @@ class NavigationManager } foreach ($this->items as $item) { + if ($item->counter === false) { + continue; + } + if ($item->counter !== null && is_callable($item->counter)) { $item->counter = call_user_func($item->counter, $item); - if (empty($item->counter)) { - $item->counter = null; + } elseif (!empty($sideItems = $this->listSideMenuItems($item->owner, $item->code))) { + $item->counter = 0; + foreach ($sideItems as $sideItem) { + $item->counter += $sideItem->counter; } } + + if (empty($item->counter)) { + $item->counter = null; + } } return $this->items; @@ -518,4 +528,4 @@ class NavigationManager { return strtoupper($owner).'.'.strtoupper($code); } -} +} \ No newline at end of file