diff options
author | Tim Almdal <tnalmdal@shaw.ca> | 2009-11-06 13:03:48 -0800 |
---|---|---|
committer | Tim Almdal <tnalmdal@shaw.ca> | 2009-11-06 13:03:48 -0800 |
commit | b01056da917e7da2921a5cd4c65b129489cbc19f (patch) | |
tree | 31d1de86506d6b18543ac57684739813414c9c6d | |
parent | a2d5d8091f68263812624f8ed1092cbf5338e744 (diff) |
Modify the Menu_Element class to allow for the specification of a custom view. Also allow the root element to specify a css id.
-rw-r--r-- | modules/gallery/libraries/Menu.php | 17 | ||||
-rw-r--r-- | modules/gallery/views/menu.html.php | 3 |
2 files changed, 14 insertions, 6 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/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 @@ <?php defined("SYSPATH") or die("No direct script access.") ?> <? if ($menu->elements): // Don't show the menu if it has no choices ?> <? if ($menu->is_root): ?> - -<ul class="<?= $menu->css_class ?>"> +<ul <?= isset($menu->css_id) ? "id='$menu->css_id'" : "" ?> class="<?= $menu->css_class ?>"> <? foreach ($menu->elements as $element): ?> <?= $element->render() ?> <? endforeach ?> |