From b01056da917e7da2921a5cd4c65b129489cbc19f Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Fri, 6 Nov 2009 13:03:48 -0800 Subject: Modify the Menu_Element class to allow for the specification of a custom view. Also allow the root element to specify a css id. --- modules/gallery/libraries/Menu.php | 17 +++++++++++++---- modules/gallery/views/menu.html.php | 3 +-- 2 files changed, 14 insertions(+), 6 deletions(-) (limited to 'modules') 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/views/menu.html.php b/modules/gallery/views/menu.html.php index b4b38c93..cb49bcdf 100644 --- a/modules/gallery/views/menu.html.php +++ b/modules/gallery/views/menu.html.php @@ -1,8 +1,7 @@ elements): // Don't show the menu if it has no choices ?> is_root): ?> - -