From fe10b02c334e8e95e9e3792726a3751aed61924c Mon Sep 17 00:00:00 2001 From: Fredric N Date: Sat, 21 Aug 2010 19:51:35 +0200 Subject: [PATCH] Bootstrap: Navigation,Router,View/Layout,Config --- application/Bootstrap.php | 74 +++++++++++++++++-- application/configs/application.ini | 6 ++ application/configs/navigation.xml | 19 +++++ .../default/views/layout/default.phtml | 20 +++-- 4 files changed, 103 insertions(+), 16 deletions(-) create mode 100644 application/configs/navigation.xml diff --git a/application/Bootstrap.php b/application/Bootstrap.php index cd8487f..5a1b5bf 100644 --- a/application/Bootstrap.php +++ b/application/Bootstrap.php @@ -5,22 +5,56 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { /** - * Setup view object + * Setup navigaion * - * return Zend_View $view + * @return Zend_Navigation $navigation + */ + protected function _initNav() + { + // Make sure we have our layout setup first. + $this->bootstrap('view'); + + $navConfig = new Zend_Config_Xml(APPLICATION_PATH . '/configs/navigation.xml', 'navigation'); + $navigation = new Zend_Navigation($navConfig); + + $view = $this->getResource('view'); + $view->navigation($navigation); + + return $navigation; + } + + protected function _initConfig() + { + return new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini', APPLICATION_ENV); + } + + /** + * View and Layout configuration + * + * @return Zend_View $view */ protected function _initView() { - // We really should add something here ? + $this->bootstrap('config'); + $view = new Zend_View(); - $view->setEncoding('UTF-8'); + // Set site title + $view->headTitle($this->getResource('config')->app->name); + + $layout = Zend_Layout::startMvc(); + $layout->setLayoutPath(APPLICATION_PATH . '/modules/default/views/layout'); + $layout->setLayout('default'); + $layout->setView($view); + return $view; } /** * Configure the front controller + * + * @return Zend_Controller_Front $frontController */ protected function _initFront() { @@ -30,11 +64,41 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap // Set modules directory $frontController->addModuleDirectory(APPLICATION_PATH . '/modules'); + return $frontController; + } + + /** + * Configure routes for our application + * + * @return Zend_Controller_Router_Rewrite $router + */ + protected function _initRouter() + { + // Make sure the front controller is ready + $this->bootstrap('front'); + + $router = $this->getResource('front')->getRouter(); + + $route = new Zend_Controller_Router_Route( + ':lang/:module/:controller/:action/*', + array( + 'lang' => 'sv', + 'module' => 'default', + 'controller' => 'index', + 'action' => 'index' + ) + ); + + $router->addRoute('default', $route); + + return $router; } /** * Setup a sweet and simple database - * connection + * connection. + * + * @return */ protected function _initDatabase() { diff --git a/application/configs/application.ini b/application/configs/application.ini index 8472b29..d66647b 100644 --- a/application/configs/application.ini +++ b/application/configs/application.ini @@ -7,6 +7,12 @@ phpSettings.display_errors = 0 bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" +// Application +app.name = "Fiktivkod" +app.version = "1.0" +app.url = "fiktivkod.org" + + [development : production] // Error settings phpSettings.display_startup_errors = 1 diff --git a/application/configs/navigation.xml b/application/configs/navigation.xml new file mode 100644 index 0000000..ebd0f84 --- /dev/null +++ b/application/configs/navigation.xml @@ -0,0 +1,19 @@ + + + + + + index + index + default + + + + index + index + blog + + + + + \ No newline at end of file diff --git a/application/modules/default/views/layout/default.phtml b/application/modules/default/views/layout/default.phtml index 82bfbae..b6f8d8a 100644 --- a/application/modules/default/views/layout/default.phtml +++ b/application/modules/default/views/layout/default.phtml @@ -2,24 +2,22 @@ "http://www.w3.org/TR/2002/REC-xhtml1-20020801/DTD/xhtml1-strict.dtd"> - Elements.htm - - + headTitle()."\n" /* Newline for pretty source :) */ ?> + + - + @@ -49,7 +47,7 @@ -content()?> +layout()->content ?> \ No newline at end of file