Beispiel #1
0
 /**
  * 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);
 }