saveMenu() public static méthode

public static saveMenu ( $menu, $activeItemChildren, $activeItemSiblings )
Exemple #1
0
 /**
  * Traverses the menu recursively finding sub menus
  *
  * @param $depth
  * @param $page
  * @param $menu
  * @return mixed
  */
 private function traverseMenu($menu, $depth, $page)
 {
     $cache = MenuCache::loadMenu($menu->name);
     if (!$cache) {
         $lazyLoadString = $this->getLazyLoadByDepth('items', $depth);
         $menu->load($lazyLoadString);
         $menu->allowedMenuItems = $this->getAllowedMenuItemsFromMenu($menu);
         if ($page !== null) {
             $this->activeItemSiblings = array();
             $this->activeItemChildren = array();
             $this->locateCurrentMenuItem($page->id, $menu->allowedMenuItems);
         }
         MenuCache::saveMenu($menu, $this->activeItemChildren, $this->activeItemSiblings);
     } else {
         $menu = $cache['menu'];
     }
     return $menu->allowedMenuItems;
 }