public function setControllerContext(ControllerContext $controllerContext) { $this->controllerContext = $controllerContext; if ($this->getRenderingContext() instanceof RenderingContext) { $this->getRenderingContext()->setControllerContext($controllerContext); } $paths = $this->getTemplatePaths(); $request = $controllerContext->getRequest(); $paths->setFormat($request->getFormat()); if (!$request instanceof ActionRequest) { return; } if ($paths->getTemplateRootPaths() === [] && $paths->getLayoutRootPaths() === [] && $paths->getPartialRootPaths() === []) { $paths->fillDefaultsByPackageName($request->getControllerPackageKey()); } $this->baseRenderingContext->setControllerName(str_replace('\\', '/', $request->getControllerName())); $this->baseRenderingContext->setControllerAction($request->getControllerActionName()); }