/** * Saves the menu items to the cache * * @return boolean */ public function saveMenusCache() { $menuItems = $this->menuItemRepository->getAllMenuItems(); $cMenuItems = count($menuItems); if ($cMenuItems > 0) { $menus = $this->menuRepository->getAllMenus(); $cMenus = count($menus); for ($i = 0; $i < $cMenus; ++$i) { $this->saveVisibleMenuItemsCache($menus[$i]['index_name']); } for ($i = 0; $i < $cMenuItems; ++$i) { for ($j = 0; $j < $cMenus; ++$j) { if ($menuItems[$i]['block_id'] == $menus[$j]['id']) { $menuItems[$i]['block_title'] = $menus[$j]['title']; $menuItems[$i]['block_name'] = $menus[$j]['index_name']; } } } $modeSearch = ['1', '2', '3', '4']; $modeReplace = [$this->translator->t('menus', 'module'), $this->translator->t('menus', 'dynamic_page'), $this->translator->t('menus', 'hyperlink'), $this->translator->t('menus', 'article')]; for ($i = 0; $i < $cMenuItems; ++$i) { $menuItems[$i]['mode_formatted'] = str_replace($modeSearch, $modeReplace, $menuItems[$i]['mode']); $menuItems[$i]['first'] = $this->isFirstItemInSet($i, $menuItems); $menuItems[$i]['last'] = $this->isLastItemInSet($i, $menuItems); } } return $this->cache->save(self::CACHE_ID, $menuItems); }