X-Git-Url: http://git.inspyration.org/?a=blobdiff_plain;f=module%2FApplication%2Fsrc%2FApplication%2FView%2FListener.php;h=568340510fe2cd5acdc010ced50af24c1f53ad0a;hb=2d4c24e88b0696fd52d63c29fc7cec8d0c584184;hp=ac4c4b7f6165a4982a3df29796eeb03cef254856;hpb=8614a9a290239aed7b5819033da30418503748cf;p=zf2.biz%2Fgalerie.git diff --git a/module/Application/src/Application/View/Listener.php b/module/Application/src/Application/View/Listener.php index ac4c4b7..5683405 100644 --- a/module/Application/src/Application/View/Listener.php +++ b/module/Application/src/Application/View/Listener.php @@ -55,10 +55,6 @@ class Listener implements ListenerAggregate public function registerStaticListeners(StaticEventCollection $events, $locator) { - $ident = 'Application\Controller\PageController'; - $handler = $events->attach($ident, 'dispatch', array($this, 'renderPageController'), -50); - $this->staticListeners[] = array($ident, $handler); - $ident = 'Zend\Mvc\Controller\ActionController'; $handler = $events->attach($ident, 'dispatch', array($this, 'renderView'), -50); $this->staticListeners[] = array($ident, $handler); @@ -73,39 +69,6 @@ class Listener implements ListenerAggregate } } - public function renderPageController(MvcEvent $e) - { - $page = $e->getResult(); - if ($page instanceof Response) { - return; - } - - $response = $e->getResponse(); - if ($response->isNotFound()) { - return; - } - - $routeMatch = $e->getRouteMatch(); - - if (!$routeMatch) { - $page = '404'; - } else { - $page = $routeMatch->getParam('action', '404'); - } - - if ($page == '404') { - $response->setStatusCode(404); - } - - $script = 'error/' . $page . '.phtml'; - - // Action content - $content = $this->view->render($script); - $e->setResult($content); - - return $this->renderLayout($e); - } - public function renderView(MvcEvent $e) { $response = $e->getResponse(); @@ -127,7 +90,7 @@ class Listener implements ListenerAggregate $content = $this->view->render($script, $vars); - $e->setResult($content); + $e->setParam('content', $content); return $content; } @@ -142,13 +105,15 @@ class Listener implements ListenerAggregate return $response; } - $footer = $e->getParam('footer', false); - $vars = array('footer' => $footer); + $vars = $e->getResult(); + if (is_scalar($vars)) { + $vars = array('content' => $vars); + } elseif (is_object($vars) && !$vars instanceof ArrayAccess) { + $vars = (array) $vars; + } if (false !== ($contentParam = $e->getParam('content', false))) { $vars['content'] = $contentParam; - } else { - $vars['content'] = $e->getResult(); } $layout = $this->view->render($this->layout, $vars);