/** * Initiate a sub request to $this->controller. Make sure to fill $this->controller * via Dependency Injection. * * @return \TYPO3\CMS\Extbase\Mvc\ResponseInterface the response of this request. * @throws \TYPO3\CMS\Fluid\Core\Widget\Exception\MissingControllerException * @api */ protected function initiateSubRequest() { if (!isset($this->controller) || !$this->controller instanceof \TYPO3\CMS\Fluid\Core\Widget\AbstractWidgetController) { throw new \TYPO3\CMS\Fluid\Core\Widget\Exception\MissingControllerException('initiateSubRequest() can not be called if there is no valid controller extending ' . 'TYPO3\\CMS\\Fluid\\Core\\Widget\\AbstractWidgetController' . ' Got "' . ($this->controller ? get_class($this->controller) : gettype($this->controller)) . '" in class "' . get_class($this) . '".', 1289422564); } $subRequest = $this->objectManager->get(\TYPO3\CMS\Fluid\Core\Widget\WidgetRequest::class); $subRequest->setWidgetContext($this->widgetContext); $this->passArgumentsToSubRequest($subRequest); $subResponse = $this->objectManager->get(\TYPO3\CMS\Extbase\Mvc\Web\Response::class); $this->controller->processRequest($subRequest, $subResponse); return $subResponse; }
/** * Initiate a sub request to $this->controller. Make sure to fill $this->controller * via Dependency Injection. * * @return \TYPO3\CMS\Extbase\Mvc\ResponseInterface the response of this request. * @api */ protected function initiateSubRequest() { if (!$this->controller instanceof \TYPO3\CMS\Fluid\Core\Widget\AbstractWidgetController) { if (isset($this->controller)) { throw new \TYPO3\CMS\Fluid\Core\Widget\Exception\MissingControllerException('initiateSubRequest() can not be called if there is no valid controller extending TYPO3\\CMS\\Fluid\\Core\\Widget\\AbstractWidgetController. Got "' . get_class($this->controller) . '" in class "' . get_class($this) . '".', 1289422564); } throw new \TYPO3\CMS\Fluid\Core\Widget\Exception\MissingControllerException('initiateSubRequest() can not be called if there is no controller inside $this->controller. Make sure to add a corresponding injectController method to your WidgetViewHelper class "' . get_class($this) . '".', 1284401632); } $subRequest = $this->objectManager->get(\TYPO3\CMS\Fluid\Core\Widget\WidgetRequest::class); $subRequest->setWidgetContext($this->widgetContext); $this->passArgumentsToSubRequest($subRequest); $subResponse = $this->objectManager->get(\TYPO3\CMS\Extbase\Mvc\Web\Response::class); $this->controller->processRequest($subRequest, $subResponse); return $subResponse; }
/** * @param \TYPO3\CMS\Extbase\Mvc\View\ViewInterface $view * @return void */ protected function setViewConfiguration(\TYPO3\CMS\Extbase\Mvc\View\ViewInterface $view) { parent::setViewConfiguration($view); // Template Path Override if ($this->configuration['pagerTemplate']) { $templatePathAndFilename = \TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName($this->configuration['pagerTemplate']); if (\TYPO3\CMS\Core\Utility\GeneralUtility::isAllowedAbsPath($templatePathAndFilename)) { $view->setTemplatePathAndFilename($templatePathAndFilename); } } }