diff --git a/app/config/menu.yml b/app/config/menu.yml new file mode 100644 index 0000000..5aa188e --- /dev/null +++ b/app/config/menu.yml @@ -0,0 +1,27 @@ + +menu: + home: + caption: Home + route: home-route + controller: index + action: index + create-new: + caption: 'Create new' + resource: callback + controller: callback + action: new + my-callbacks: + caption: 'List callbacks' + resource: callback + controller: callback + action: list + children: + show: + resource: callback + controller: callback + action: show + about: + caption: About + route: about-route + controller: index + action: about diff --git a/app/library/Services.php b/app/library/Services.php index 7d6e761..d4d39d1 100644 --- a/app/library/Services.php +++ b/app/library/Services.php @@ -67,6 +67,7 @@ class Services extends DiDefault $files = array( 'app.yml', 'routes.yml', + 'menu.yml', 'local.yml' ); @@ -271,41 +272,9 @@ class Services extends DiDefault */ protected function _initMenu() { - $config = array( - 'home' => array( - 'caption' => 'Home', - 'route' => 'home-route', - 'controller' => 'index', - 'action' => 'index', - ), - 'create-new ' => array( - 'caption' => 'Create new', - 'resource' => 'callback', - 'controller' => 'callback', - 'action' => 'new', - ), - 'my-callbacks' => array( - 'caption' => 'List callbacks', - 'resource' => 'callback', - 'controller' => 'callback', - 'action' => 'list', - 'children' => array( - 'show' => array( - 'resource' => 'callback', - 'controller' => 'callback', - 'action' => 'show', - ), - ), - ), - 'about' => array( - 'route' => 'about-route', - 'caption' => 'About', - 'controller' => 'index', - 'action' => 'about' - ), - ); + $config = $this->get('config')->menu; - $navigation = new Navigation($config); + $navigation = new Navigation($config->toArray()); $menu = new Menu($navigation); $menu->setMenuClass(null);