public function renderView(MvcEvent $e) { $response = $e->getResponse(); if (!$response->isSuccess()) { return; } $layout = $this->getLayout($e); $routeMatch = $e->getRouteMatch(); $controller = $routeMatch->getParam('controller', 'index'); $action = $routeMatch->getParam('action', 'index'); $customViewPath = $this->getThemeViewPath($layout); $script = $controller . '/' . $action . '.phtml'; $resolver = $this->view->getEngine()->resolver(); if (is_dir($customViewPath)) { $customResolver = new \Zend\View\Resolver\TemplatePathStack(); $customResolver->addPath($customViewPath); $resolver->attach($customResolver, 99); } $vars = $e->getResult(); if (is_scalar($vars)) { return $vars; } elseif (is_object($vars) && !$vars instanceof ArrayAccess) { $vars = (array) $vars; } $content = $this->view->render($script, $vars); $e->setResult($content); return $content; }