/**
  * 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;
 }
예제 #2
0
 /**
  * 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);
         }
     }
 }