public function initView() { if ($this->view === null || !$this->view instanceof View) { $module = $this->getRequest()->getModuleName(); $paths = $this->getFrontController()->getControllerDirectory(); $modulePath = dirname($paths[$module]); $viewBaseDir = $modulePath . DIRECTORY_SEPARATOR . 'views'; $this->view = new View(array('basePath' => $viewBaseDir, 'encoding' => $this->defaultEncoding)); $this->view->setTheme(Application::getTheme()); $this->view->setModuleName($module); } return $this->view; }
/** * Serve the page * @return App */ public function serve() { \View::initTwigEnv(); \View::set('config', $this->getConfig()); if (!defined('INSTALL')) { $menus = $this->getModel('Menu'); \View::set('menu', $menus->getMenu()); $player = \App::getModel('session'); \View::set('loggedIn', $player->isLoggedIn()); \Acl::setPlayer($player); $role = \Acl::getRoles(); if (!empty($role)) { \View::set('playerRole', $role[0]->metadata['role_id']); } } if ($this->adminTheme) { \View::setTheme(\Config::get('site.adminTheme')); } if ($this->view->template == '') { \View::setTemplate($this->module . '.twig'); } echo \View::render(); return $this; }