Example #1
0
 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;
 }