diff options
Diffstat (limited to 'modules/gallery/libraries')
| -rw-r--r-- | modules/gallery/libraries/Menu.php | 17 | ||||
| -rw-r--r-- | modules/gallery/libraries/Theme_View.php | 8 |
2 files changed, 21 insertions, 4 deletions
diff --git a/modules/gallery/libraries/Menu.php b/modules/gallery/libraries/Menu.php index 20405317..e2b68d1a 100644 --- a/modules/gallery/libraries/Menu.php +++ b/modules/gallery/libraries/Menu.php @@ -79,6 +79,15 @@ class Menu_Element { return $this; } + /** + * Specifiy a view for this menu item + * @chainable + */ + public function view($view) { + $this->view = $view; + return $this; + } + } /** @@ -86,7 +95,7 @@ class Menu_Element { */ class Menu_Element_Link extends Menu_Element { public function render() { - $view = new View("menu_link.html"); + $view = new View(isset($this->view) ? $this->view : "menu_link.html"); $view->menu = $this; return $view; } @@ -108,7 +117,7 @@ class Menu_Element_Ajax_Link extends Menu_Element { } public function render() { - $view = new View("menu_ajax_link.html"); + $view = new View(isset($this->view) ? $this->view : "menu_ajax_link.html"); $view->menu = $this; return $view; } @@ -119,7 +128,7 @@ class Menu_Element_Ajax_Link extends Menu_Element { */ class Menu_Element_Dialog extends Menu_Element { public function render() { - $view = new View("menu_dialog.html"); + $view = new View(isset($this->view) ? $this->view : "menu_dialog.html"); $view->menu = $this; return $view; } @@ -208,7 +217,7 @@ class Menu_Core extends Menu_Element { } public function render() { - $view = new View("menu.html"); + $view = new View(isset($this->view) ? $this->view : "menu.html"); $view->menu = $this; return $view; } diff --git a/modules/gallery/libraries/Theme_View.php b/modules/gallery/libraries/Theme_View.php index 9670313d..f8fae0f7 100644 --- a/modules/gallery/libraries/Theme_View.php +++ b/modules/gallery/libraries/Theme_View.php @@ -78,6 +78,14 @@ class Theme_View_Core extends Gallery_View { return $this->page_type; } + public function user_menu() { + $menu = Menu::factory("root") + ->css_id("g-login-menu") + ->css_class("g-inline ui-helper-clear-fix"); + module::event("user_menu", $menu, $this); + return $menu->render(); + } + public function site_menu() { $menu = Menu::factory("root"); module::event("site_menu", $menu, $this); |
