If you need help solving this exception, you can have a look at the TYPO3 Documentation. There you can find solutions provided by the TYPO3 community. Once you have found a solution to the problem, help others by contributing to the documentation page.
Find a solution for this exception in the TYPO3 Documentation.
} $setup = $setup[$segment . '.']; } if (!isset($setup[$lastSegment])) { throw new Exception( 'No Content Object definition found at TypoScript object path "' . $typoscriptObjectPath . '"', 1540246570 ); }
$arguments101['typoscriptObjectPath'] = NULL; $arguments101['currentValueKey'] = NULL; $arguments101['table'] = ''; $arguments101['typoscriptObjectPath'] = 'lib.fluidobject.kategorieFilter'; $renderChildrenClosure102 = ($arguments101['data'] !== null) ? function() use ($arguments101) { return $arguments101['data']; } : $renderChildrenClosure102;$arguments99['parameter'] = TYPO3\CMS\Fluid\ViewHelpers\CObjectViewHelper::renderStatic($arguments101, $renderChildrenClosure102, $renderingContext); $output103 = ''; $output103 .= '&categoryFilter[]='; $array104 = array (
$templateVariableContainer->add($arguments['iteration'], $iterationData); $iterationData['index']++; $iterationData['cycle']++; } $output .= $renderChildrenClosure(); $templateVariableContainer->remove($arguments['as']); if (isset($arguments['key'])) { $templateVariableContainer->remove($arguments['key']); }
$arguments95['tableName'] = 'pages'; $arguments93['each'] = burg\burgteaser\ViewHelpers\CategoriesOutputViewHelper::renderStatic($arguments95, $renderChildrenClosure96, $renderingContext); $arguments93['as'] = 'tag'; $output92 .= TYPO3Fluid\Fluid\ViewHelpers\ForViewHelper::renderStatic($arguments93, $renderChildrenClosure94, $renderingContext); $output92 .= ' '; return $output92;
if (isset($arguments['then'])) { return $arguments['then']; } if (isset($arguments['__thenClosure'])) { return $arguments['__thenClosure'](); } } elseif (!empty($arguments['__elseClosures'])) { $elseIfClosures = isset($arguments['__elseifClosures']) ? $arguments['__elseifClosures'] : []; return static::evaluateElseClosures($arguments['__elseClosures'], $elseIfClosures, $renderingContext);
$renderingContext ); $arguments87['__thenClosure'] = $renderChildrenClosure88; $output0 .= TYPO3Fluid\Fluid\ViewHelpers\IfViewHelper::renderStatic($arguments87, $renderChildrenClosure88, $renderingContext); $output0 .= ' </div> </div>
); } } $this->startRendering($renderingTypeOnNextLevel, $parsedTemplate, $renderingContext); $output = $parsedTemplate->$methodNameOfSection($renderingContext); $this->stopRendering(); } else { $sections = $parsedTemplate->getVariableContainer()->get('1457379500_sections'); if (!isset($sections[$sectionName])) {
$content = (new $delegate())->render($renderingContext); } elseif ($partial !== null) { $content = $view->renderPartial($partial, $section, $variables, $optional); } elseif ($section !== null) { $content = $view->renderSection($section, $variables, $optional); } elseif (!$optional) { throw new \InvalidArgumentException('ViewHelper f:render called without either argument section, partial, renderable or delegate and optional flag is false'); } // Replace empty content with default value. If default is
$array206 = array ( );$array205['teaser'] = $renderingContext->getVariableProvider()->getByPath('teaser', $array206); $arguments203['arguments'] = $array205; $output202 .= TYPO3\CMS\Fluid\ViewHelpers\RenderViewHelper::renderStatic($arguments203, $renderChildrenClosure204, $renderingContext); $output202 .= ' '; return $output202;
$templateVariableContainer->add($arguments['iteration'], $iterationData); $iterationData['index']++; $iterationData['cycle']++; } $output .= $renderChildrenClosure(); $templateVariableContainer->remove($arguments['as']); if (isset($arguments['key'])) { $templateVariableContainer->remove($arguments['key']); }
);$arguments199['each'] = $renderingContext->getVariableProvider()->getByPath('paginator.paginatedItems', $array201); $arguments199['as'] = 'teaser'; $arguments199['iteration'] = 'iterator'; $output198 .= TYPO3Fluid\Fluid\ViewHelpers\ForViewHelper::renderStatic($arguments199, $renderChildrenClosure200, $renderingContext); $output198 .= ' </div> </div>
if (isset($arguments['then'])) { return $arguments['then']; } if (isset($arguments['__thenClosure'])) { return $arguments['__thenClosure'](); } } elseif (!empty($arguments['__elseClosures'])) { $elseIfClosures = isset($arguments['__elseifClosures']) ? $arguments['__elseifClosures'] : []; return static::evaluateElseClosures($arguments['__elseClosures'], $elseIfClosures, $renderingContext);
$renderingContext ); $arguments193['__thenClosure'] = $renderChildrenClosure194; $output192 .= TYPO3Fluid\Fluid\ViewHelpers\IfViewHelper::renderStatic($arguments193, $renderChildrenClosure194, $renderingContext); $output192 .= '
} if (!$parsedTemplate->hasLayout()) { $this->startRendering(self::RENDERING_TEMPLATE, $parsedTemplate, $this->baseRenderingContext); $output = $parsedTemplate->render($this->baseRenderingContext); $this->stopRendering(); } else { $layoutName = $parsedTemplate->getLayoutName($this->baseRenderingContext); try {
} private function _rendereTemplate() { return $this->view->render(); } private function _initExtConf() { $this->extConf = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf'][$this->extKey]);
$this->view->assign('pagination', $pagination); $this->view->assign('paginationPages', range(1, $pagination->getLastPageNumber())); $this->view->assign('enablePagination', $this->_liefereFlexformWert('enablePagination')); $content = $this->_rendereTemplate(); return $this->pi_wrapInBaseClass($content); }
if (is_object($classObj) && method_exists($classObj, $parts[1]) && is_callable($callable)) { $classObj->cObj = $this; $content = call_user_func_array($callable, [ $content, $conf ]); } else { $this->getTimeTracker()->setTSlogMessage('Method "' . $parts[1] . '" did not exist in class "' . $parts[0] . '"', 3); }
if ($this->cObj->getUserObjectType() === false) { // Come here only if we are not called from $TSFE->processNonCacheableContentPartsAndSubstituteContentMarkers()! $this->cObj->setUserObjectType(ContentObjectRenderer::OBJECTTYPE_USER); } $tempContent = $this->cObj->callUserFunction($conf['userFunc'], $conf, ''); if ($this->cObj->doConvertToUserIntObject) { $this->cObj->doConvertToUserIntObject = false; $content = $this->cObj->cObjGetSingle('USER_INT', $conf); } else {
} // Render content try { $content .= $contentObject->render($configuration); } catch (ContentRenderingException $exception) { // Content rendering Exceptions indicate a critical problem which should not be // caught e.g. when something went wrong with Exception handling itself throw $exception;
} if (!$hooked) { $contentObject = $this->getContentObject($name); if ($contentObject) { $content .= $this->render($contentObject, $conf); } else { // Call hook functions for extra processing if ($name) { if (!empty($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content.php']['cObjTypeAndClassDefault'])) {
case 'COA': $nonCacheableContent = $contentObjectRendererForNonCacheable->cObjGetSingle('COA', $nonCacheableData[$nonCacheableKey]['conf']); break; case 'FUNC': $nonCacheableContent = $contentObjectRendererForNonCacheable->cObjGetSingle('USER', $nonCacheableData[$nonCacheableKey]['conf']); break; case 'POSTUSERFUNC': $nonCacheableContent = $contentObjectRendererForNonCacheable->callUserFunction($nonCacheableData[$nonCacheableKey]['postUserFunc'], $nonCacheableData[$nonCacheableKey]['conf'], $nonCacheableData[$nonCacheableKey]['content']); break;
protected function recursivelyReplaceIntPlaceholdersInContent() { do { $nonCacheableData = $this->config['INTincScript']; $this->processNonCacheableContentPartsAndSubstituteContentMarkers($nonCacheableData); // Check if there were new items added to INTincScript during the previous execution: // array_diff_assoc throws notices if values are arrays but not strings. We suppress this here. $nonCacheableData = @array_diff_assoc($this->config['INTincScript'], $nonCacheableData); $reprocess = count($nonCacheableData) > 0;
$assetCollector = unserialize($this->config['INTincScript_ext']['assetCollector'], ['allowed_classes' => [AssetCollector::class]]); GeneralUtility::makeInstance(AssetCollector::class)->updateState($assetCollector->getState()); } $this->recursivelyReplaceIntPlaceholdersInContent(); $this->getTimeTracker()->push('Substitute header section'); $this->INTincScript_loadJSCode(); $this->generatePageTitle();
// When page was generated, this was already called. Avoid calling this twice. $controller->preparePageContentGeneration($request); } $this->timeTracker->push('Non-cached objects'); $controller->INTincScript(); $this->timeTracker->pull(); } // Create a Response object when sending content
// Throw away all output that may have happened during bootstrapping by weird extensions ob_clean(); // Initialize output compression if configured $this->initializeOutputCompression(); return $handler->handle($request); } /** * Initialize output compression if configured
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { $queueParameters = $request->getAttribute('tx_crawler'); if ($queueParameters === null) { return $handler->handle($request); } $GLOBALS['TSFE']->applicationData['forceIndexing'] = true; $GLOBALS['TSFE']->applicationData['tx_crawler']['running'] = true;
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
* Search/Extract/Merge SVGs @ HTML output. */ public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { $response = $handler->handle($request); if (!($response instanceof NullResponse) && $GLOBALS['TSFE'] instanceof TypoScriptFrontendController && false !== (bool) $GLOBALS['TSFE']->config['config']['svgstore.']['enabled']
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
* Clean the HTML output. */ public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { $response = $handler->handle($request); if (!($response instanceof NullResponse) && $GLOBALS['TSFE'] instanceof TypoScriptFrontendController && false !== (bool) $GLOBALS['TSFE']->config['config']['sourceopt.']['enabled']
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
class AssetInclusion implements MiddlewareInterface { public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { $response = $handler->handle($request); $body = $response->getBody(); $body->rewind(); $contents = $body->getContents();
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
* @return ResponseInterface */ public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { $response = $handler->handle($request); if ( !($response instanceof NullResponse) && $GLOBALS['TSFE'] instanceof TypoScriptFrontendController && $GLOBALS['TSFE']->isOutputting(true)) {
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
return new RedirectResponse($externalUrl, 303); } } return $handler->handle($request); } protected function getRedirectUri(ServerRequestInterface $request): ?string {
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
$this->convertCharsetRecursivelyToUtf8($parsedBody, $this->controller->metaCharset); $request = $request->withParsedBody($parsedBody); } } return $handler->handle($request); } /** * Small helper function to convert charsets for arrays to UTF-8
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
} // Make TSFE globally available $GLOBALS['TSFE'] = $controller; return $handler->handle($request); } /** * Register the backend user as aspect
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
} } $request = $request->withAttribute('noCache', $this->disableCache); return $handler->handle($request); } /** * Filters out the arguments that are necessary for calculating cHash
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
$previewAspect = GeneralUtility::makeInstance(PreviewAspect::class, $isPreview); $this->context->setAspect('frontend.preview', $previewAspect); } return $handler->handle($request); } /** * Simulate dates for preview functionality
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
// merge the PageArguments with the request query parameters $queryParams = array_replace_recursive($request->getQueryParams(), $pageArguments->getArguments()); $request = $request->withQueryParams($queryParams); return $handler->handle($request); } }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
unset($GLOBALS['TYPO3_REQUEST']); } } return $handler->handle($request); } /** * Creates a PSR-7 compatible Response object
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
return new HtmlResponse($content, 200, ['Content-Type' => $contentType]); } } return $handler->handle($request); } /** * Find the proper configuration for the static route in the static route configuration. Mainly:
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
$jsonCompatibilityConverter = GeneralUtility::makeInstance(JsonCompatibilityConverter::class); $crawlerInformation = $request->getHeaderLine($this->headerName) ?? null; if (empty($crawlerInformation)) { return $handler->handle($request); } // Authenticate crawler request: //@todo: ask service to exclude current call for special reasons: for example no relevance because the language version is not affected
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
$uri = $requestedUri->withPath(rtrim($requestedUri->getPath(), '/')); return new RedirectResponse($uri, 307); } } return $handler->handle($request); } /** * Checks if the language is allowed in Frontend, if not, check if there is valid BE user
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
* request handler to do so. */ public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { $response = $handler->handle($request); $explanation = []; $skipProcessing = false; foreach (GeneralUtility::makeInstance(ObjectFactoryService::class)->get('CacheRule') as $rule) {
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
* request handler to do so. */ public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { $response = $handler->handle($request); if (!$response->hasHeader('X-SFC-Cachable')) { return $this->removeSfcHeaders($response); }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { /** @var FrontendUserAuthentication $feUser */ $feUser = $request->getAttribute('frontend.user'); $response = $handler->handle($request); if ($feUser->dontSetCookie) { // do not set any cookie return $response;
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
// Register the frontend user as aspect and within the session $this->setFrontendUserAspect($frontendUser); $request = $request->withAttribute('frontend.user', $frontendUser); $response = $handler->handle($request); // Store session data for fe_users if it still exists if ($frontendUser instanceof FrontendUserAuthentication) { $frontendUser->storeSessionData();
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
Bootstrap::loadExtTables(); $this->setBackendUserAspect($GLOBALS['BE_USER']); } $response = $handler->handle($request); // If, when building the response, the user is still available, then ensure that the headers are sent properly if ($this->context->getAspect('backend.user')->isLoggedIn()) { return $this->applyHeadersToResponse($response);
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
) { return GeneralUtility::makeInstance(ErrorController::class)->unavailableAction($request, 'This page is temporarily unavailable.'); } // Continue the regular stack if no maintenance mode is active return $handler->handle($request); } }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
$request = $request->withAttribute('routing', $routeResult); if ($routeResult->getLanguage() instanceof SiteLanguage) { Locales::setSystemLocaleFromSiteLanguage($routeResult->getLanguage()); } return $handler->handle($request); } }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
{ $eID = $request->getParsedBody()['eID'] ?? $request->getQueryParams()['eID'] ?? null; if ($eID === null) { return $handler->handle($request); } // Remove any output produced until now ob_clean();
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
*/ public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { $request = $request->withAttribute('normalizedParams', NormalizedParams::createFromRequest($request)); return $handler->handle($request); } }
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
$this->timeTracker->setEnabled($timeTrackingEnabled); $this->timeTracker->start(microtime(true)); $this->timeTracker->push(''); $response = $handler->handle($request); // Finish time tracking $this->timeTracker->pull(); $this->timeTracker->finish();
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
} catch (Exception $exception) { // Not handled } return $handler->handle($request); } /** * Handle the fallback.
if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } }
* @return ResponseInterface */ public function handle(ServerRequestInterface $request): ResponseInterface { return $this->tip->handle($request); } /** * Seed the middleware stack with the inner request handler
* @return ResponseInterface */ protected function handle(ServerRequestInterface $request): ResponseInterface { return $this->requestHandler->handle($request); } /** * Set up the application and shut it down afterwards
// Create new request object having applicationType "I am a frontend request" attribute. $request = $request->withAttribute('applicationType', SystemEnvironmentBuilder::REQUESTTYPE_FE); $this->initializeContext(); return parent::handle($request); } /** * Check if LocalConfiguration.php and PackageStates.php exist
final public function run(callable $execute = null) { try { $response = $this->handle( ServerRequestFactory::fromGlobals() ); if ($execute !== null) { call_user_func($execute); }
// Set up the application for the frontend call_user_func(function () { $classLoader = require __DIR__.'/vendor/autoload.php'; \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::run(0, \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::REQUESTTYPE_FE); \TYPO3\CMS\Core\Core\Bootstrap::init($classLoader)->get(\TYPO3\CMS\Frontend\Http\Application::class)->run(); });
call_user_func(function () { $classLoader = require __DIR__.'/vendor/autoload.php'; \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::run(0, \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::REQUESTTYPE_FE); \TYPO3\CMS\Core\Core\Bootstrap::init($classLoader)->get(\TYPO3\CMS\Frontend\Http\Application::class)->run(); });