Example #1
0
 public function renderFile($context, $sourceFile, $params, $isReturn)
 {
     $templatePath = $this->resolveTemplatePath($sourceFile);
     $viewId = $this->generateViewId($templatePath);
     $view = new View($viewId, $context);
     $view->setTemplatePath($templatePath);
     $view->setParams($params);
     $isContextWidget = $this->isContextWidget($context) && $context->setView($view);
     $isAjaxRequest = !$isContextWidget && $this->isAjaxRequest();
     $responseParams = array();
     foreach ($this->getViewProcessorsClasses() as $viewProcessorClass) {
         /** @var \PetrGrishin\View\ViewProcessor\BaseViewProcessor $viewProcessor */
         $viewProcessor = new $viewProcessorClass($view);
         $viewProcessor->setIsAjaxMode($isAjaxRequest);
         $viewProcessor->processView();
         $responseParams = array_merge($responseParams, $viewProcessor->getParams());
     }
     if ($isReturn) {
         return $this->renderResponse($responseParams, $isAjaxRequest);
     }
     echo $this->renderResponse($responseParams, $isAjaxRequest);
 }