protected function adminGetHelpTextNavigation(array $dashBoardGroups, $locale, $helpTextManager) { $navArray = array(); //add overview & dashboard manually $navArray['overview']['group_name'] = $this->get('translator')->trans('title.help', array(), 'HelpTextAdmin'); $navArray['overview']['group_items']['0']['adminCode'] = 'overview'; $navArray['overview']['group_items']['0']['action'] = ''; $navArray['overview']['group_items']['0']['title'] = $this->get('translator')->trans('overview.title', array(), 'HelpTextAdmin'); $navArray['dashboard']['group_name'] = 'Dashboard'; $navArray['dashboard']['group_items']['0']['adminCode'] = 'dashboard'; $navArray['dashboard']['group_items']['0']['action'] = ''; $navArray['dashboard']['group_items']['0']['title'] = $this->get('translator')->trans('dashboard.title', array(), 'HelpTextAdmin'); foreach ($dashBoardGroups as $key => $group) { foreach ($group['sub_group'] as $subGroup) { $navArray[$subGroup['label']]['group_items'] = array(); $i = 0; foreach ($subGroup['items'] as $admin) { if (0 == $i++) { $navArray[$subGroup['label']]['group_name'] = $this->get('translator')->trans($subGroup['label'], array(), $admin->getTranslationDomain()); } $help_text_result = $helpTextManager->searchHelpTextByKeyLocale($admin->getCode(), $locale); if (count($help_text_result) > 0) { foreach ($help_text_result as $row) { //split Translation Key into adminCode and action $strripos = strripos($row->getTranslationKey(), '.'); $action = substr($row->getTranslationKey(), $strripos + 1); $navArray[$subGroup['label']]['group_items'][$row->getId()]['adminCode'] = $admin->getCode(); $navArray[$subGroup['label']]['group_items'][$row->getId()]['action'] = $action; $navArray[$subGroup['label']]['group_items'][$row->getId()]['title'] = $row->getTitle(); } } } } } return $navArray; }