Exemple #1
0
 protected function load($menu = null)
 {
     $menu = $menu ?: $this->menu;
     if (is_numeric($menu)) {
         $root = Model_Menu::find_by_tree_id($menu);
     } else {
         $root = Model_Menu::find_by_slug($menu);
     }
     if (is_null($root)) {
         throw new MenuException('Menu ' . (is_numeric($menu) ? '#' : '') . $menu . ' not found');
     } elseif (!$root->is_root()) {
         $root = $root->root();
         $this->menu = $root->slug;
         \Log::write(250, 'Menu ' . (is_numeric($menu) ? '#' : '') . $menu . ' is not a root element.');
     }
     $this->meta = array('name' => $root->name, 'identifier' => $root->slug, 'num_items' => $root->count_descendants());
     $root->descendants()->get();
     return $root;
 }