diff --git a/src/ViewRenderer.php b/src/ViewRenderer.php index 3995ebd..b64d23a 100644 --- a/src/ViewRenderer.php +++ b/src/ViewRenderer.php @@ -23,12 +23,10 @@ public static function className() { public function renderFile($context, $sourceFile, $params, $isReturn) { $viewId = $this->generateViewId($sourceFile); $view = new View($viewId, $context); - if ($context instanceof Widget) { - $context->setView($view); - } + $isContextWidget = $this->isContextWidget($context) && $context->setView($view); $view->setParams($params); $view->setScriptFile($this->getScriptFile($sourceFile)); - if ($this->isAjaxRequest()) { + if (!$isContextWidget && $this->isAjaxRequest()) { $response = $this->renderAjax($view, $sourceFile); $this->getScriptProcessor()->processView($view, true); } else { @@ -87,6 +85,10 @@ protected function isAjaxRequest() { return $this->getRequest()->getIsAjaxRequest(); } + protected function isContextWidget($context) { + return $context instanceof Widget; + } + /** * @param $sourceFile * @return string